Amazon Elastic Kubernetes Service (Amazon EKS) 是一种托管服务,用户可以使用它在 AWS 上运行 Kubernetes,而无需安装、操作和维护Kubernetes 控制层面或节点。
Amazon EKS 为每个集群运行一个单租户 Kubernetes 控制层面。控制层面基础设施不在集群或 AWS 账户之间共享。控制面包含至少两个 API 服务器实例和三个etcd跨一个区域内三个可用区运行的实例。Amazon EKS:
- 主动监控控制平面实例上的负载,并自动缩放它们以确保高性能。
- 可以根据需要在区域内跨可用区重新启动运行状况不佳的控制层面实例。
- 利用 AWS 区域的架构来保持高可用性。
本实验利用AWS管理控制台和AWS CLI来创建EKS集群。
环境准备
账号
使用已有AWS账号创建Administrator
用户:Administration
组:Administrators
组策略:AdministratorAccess
Client 设备
操作系统:CentOS 7 1908
安装和配置创建和管理 Amazon EKS 集群所需的以下工具和资源:
- AWS CLI,参考在 Linux 上安装、更新和卸载 AWS CLI 版本 2
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
- 安装kubectl,下载AWS EKS 提供的集群的 Kubernetes 版本二进制文件,并安装,选择Kubernetes 1.19
curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/linux/amd64/kubectl
openssl sha1 -sha256 kubectl
chmod +x ./kubectl
mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
- 配置AWS参数,查看Administrator的访问密钥,或创建一个,
[root@aws-client ~]# aws configure
AWS Access Key ID [None]: AKIARXXXXXXXXXX75
AWS Secret Access Key [None]: 9jH2NgzHv7NEeXXBW2lRkUqQj0fCm2VS2xpQMTSe
Default region name [None]: sp-southeast-1
Default output format [None]: json
创建 Amazon EKS 群集
参考官方文档:亚马逊 EKS 入门 — AWS 管理控制台和 AWS CLI
创建专用VPC
使用符合 Amazon EKS 要求的公有和私有子网创建 Amazon VPC,AWS已经做了相应的yaml文件
aws cloudformation create-stack \
--stack-name my-eks-vpc-stack \
--template-url https://s3.us-west-2.amazonaws.com/amazon-eks/