Site icon Mr. 沙先生

AWS re:INVENT 2017 新服務 EKS 支援 Kubernetes 的 Container

AWS re:INVENT 2017 新發表的 EKS 算次這次很大的重點之一,舊有的 ECS 有用過的就知道,其實在管理方面並不好用,然而最近 Google 的 GCP 又靠 Kubernetes 拉攏了不少客戶,所以 AWS 乾脆就直接拿 Kubernetes 來跑 Container。

 

我想這個應該是很大眾 AWS 使用者非常關注的服務,在 AWS re:INVENT 2017 之前台灣的 SA 就放了非常多的 Kubernetes 支援的消息,果真在 AWS re:INVENT 2017 上 KeyNote 發表。

首先 EKS 應該算是 Saas 服務,當你使用 EKS 的時候,AWS 會替你在三個 AZs 啟動 K8s Master 由 AWS 管理,而你的 Workers 則分散 Base on Master

Amazon EKS automatically runs K8s with three masters across three AZs to protect against a single point of failure.

 

EKS 有自行 health check 的功能,會自動替換不健康的 K8s Master,K8s Master 也支援直接應用在 VPC 底下,所以在混合雲的架構下和 EC2 相同。

Amazon EKS also automatically detects and replaces unhealthy masters

Amazon EKS is integrated with a number of key AWS features such as Elastic Load Balancing for load distribution, IAM for authentication, Amazon VPC for isolation, AWS PrivateLink for private network access, and AWS CloudTrail for logging.

 

如果你需要從 EKS 訪問 K8s Master 取得一些資訊的話,可以透過 PrivateLink 來訪問。

 

如果 Container 本身有 Networking 的需求可以用 CNI 這個工具來管理 ENI。

 

從 CNI 的 IAM Policy 來看很明顯 EKS 也是 base EC2,只是你不用再管這一層了 XDDD

{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:AttachNetworkInterface",
        "ec2:DeleteNetworkInterface",
        "ec2:DetachNetworkInterface",
        "ec2:DescribeNetworkInterfaces",
        “ec2:DescribeInstances”,
        “ec2:ModifyNetworkInterfaceAttribute”,
        "ec2:AssignPrivateIpAddresses"
    ],
    "Resource": [
        "*"
    ]
},
{
    "Effect": "Allow",
    "Action": "tag:TagResources",
    "Resource": "*"
},

 

 

Exit mobile version