当前位置:   article > 正文

记录我在安装AWS EKS集群时踩过的那些坑_kubectl 管理eks 集群

kubectl 管理eks 集群

官方教程链接置顶开始使用 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和集群连接信息:  

  aws 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处于运行状态。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/649060
推荐阅读
相关标签
  

闽ICP备14008679号