赞
踩
官方教程链接置顶:开始使用 Amazon EKS - Amazon EKS
本人之前在亚马逊云上面搭建K8S集群的时候,虽然都是按照官方教程一步步去做,但过程中因为粗心或者遇到教程中有些细节并没有说清楚的地方,还是踩了不少坑,现在简单记录下安装过程。
1. 配置 IAM
首先我们需要创建一个 IAM role :EKS 服务角色, 这个角色在后面的步骤中会被用于创建 EKS 集群和客户端验证。
2. VPC创建
注意:不能用default vpc,因为default vpc有很多限制,后期不能根据需求做修改。
接下来我们需要创建一个独立的VPC网络用于放置集群资源,创建VPC并根据自己的需求创建公有子网和私有子网,如果创建公有子网就还需要附上1个弹性IP。
3. 创建EKS集群
账号和网络就绪,我们就可以创建EKS集群了,这里会用到前两部步建好的 IAM 角色和 VPC 网络 。
4. 安装并配置AWS CLI和 验证工具 aws-iam-authenticator
安装 aws 命令行工具 AWS CLI 和 aws-iam-authenticator, aws-iam-authenticator 是aws官方用于连接验证身份信息的一个工具,按照官方文档中的连接下载指定版本工具,并将工具安装路径加入 path 环境变量。
接着使用 cli 命令 “aws configure” 命令来配置工具的 accessKey 等信息,这样cli终端才可以访问自己的aws资源。
注意:这里的accesskey应该与创建EKS集群时的账号一致,否则会导致后面客户端验证连接集群不成功。
5. 安装并配置客户端 kubectl 工具
kubectl 作为 k8s 集群的命令行管理工具,可用于远程管理K8S容器集群,进行应用的部署更新,容器的扩缩容等操作。按照官方文档中的连接下载指定版本工具,并将工具安装路径加入path环境变量。
通过aws cli 命令 update-kubeconfig 自动生成
kubeconfig
文件,用于配置kubectl和集群连接信息:
aw
s eks update-kubeconfig --name
cluster_name
6. 使用 CloudFormation 创建工作节点
接下来我们需要创建ECS资源,并将ECS实例加入EKS集群之中。
CloudFormation是 AWS 的一种产品,提供给用户一些云产品配套搭建初始化的 Template,给予了用户一种简单的方法来创建和管理一系列有关联的AWS的资源,可以有序的及可预见的初始化和更新这些资源,其中就包括EKS的搭建模板。
所以我们只需根据官方提供的模板去创建工作节点,模板链接:
https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/amazon-eks-nodegroup.yaml
注意 1:yaml文件的格式很容易出错,找个在线网站检查下格式:http://www.bejson.com/validators/yaml/
注意 2:选择镜像AMI时最好选择官方提供的优化实例,不然创建时间很长而且还会报错。我就是自己另外选择了一个ubantu的镜像,结果后面节点注册始终不成功,浪费了很多时间。
区域 | Amazon EKS 优化型 AMI ID |
---|---|
美国西部 (俄勒冈) (us-west-2 ) | ami-02415125ccd555295 |
美国东部 (弗吉尼亚北部) (us-east-1 ) | ami-048486555686d18a0 |
7. 启用工作节点加入集群
最后一步,按照官方文档使用 kubectl 命令注册配置文件将实例节点加入EKS 集群。
kubectl apply -f aws-auth-cm.yaml
8. 查看集群 pod 状态
kubectl get pods -o wide
如下图可知,k8s集群管理下共有3个pod处于运行状态。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。