背景:创建EKS的时候,我将要通过eksctl的方式进行创建,这是一种类似AWS CLI的命令,专门用来创建和控制EKS集群的,优点在于有许多控制台不能做出的选项,可以在eksctl配置。
大概的结构如下:
ec2-console作为一个创建EKS的机器,并且后期使用kubectl命令来进行使用。
一、所以第一步,要配置合适策略的IAM账号,参考如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"autoscaling:*",
"cloudformation:*",
"iam:*",
"ec2:*",
"eks:*",
"vpc-lattice:*"
],
"Resource": "*"
}
]
}
批注:AWS的权限设置非常之复杂,实在麻烦直接搞个 AdministratorAccess策略
创建用户并绑定该策略:
二、登录ec2-consle服务器,进行账号凭证的配置
配置aws configure
使用eksctl,下载命令:
curl -Ls https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_Linux_amd64.tar.gz | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
没有Kubectl命令的下载:
curl -LO "https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
三、创建EKS集群
eksctl create cluster \
--name my-eks-cluster \
--region us-west-2 \
--version 1.29 \
--nodegroup-name my-nodegroup \
--node-type t3.medium \
--nodes 3 \
--nodes-min 1 \
--nodes-max 4 \
可以通过yml创建,EKS有官方网站按照不同需求编写的yml:
https://github.com/eksctl-io/eksctl/tree/main/exampls
创建成功!可以使用kubectl get nodes的命令进行查看。