本文链接地址:在AWS使用EKS慢慢的回味 使用AWS的EKS来托管Kubernetes是比较复杂,按照如下的方法可以创建出一个满足大部分使用环境的EKS。 Content:1创建一个IAM用户(Root用户操作)2创建策略和角色(Root用户操作)2。1创建EKS集群角色2。2创建集群节点组角色2。3给IAM用户添加权限3创建EKS集群(IAM用户)3。1创建EKS集群控制平面3。2添加工作节点到集群4设置AWSCLI工具和Kubectl工具(IAM用户)4。1配置AWSCLI4。2配置Kubectl 1创建一个IAM用户(Root用户操作) 在AWS中创建一个IAM用户,权限够用就行。 在AWS管理控制台,点击Addusers: 其它页面默认就好。最后保存好下载的CSV文件,里面包含的AccessKey和SecretAccessKey在AWSCLI里面会用到。2创建策略和角色(Root用户操作)2。1创建EKS集群角色 给EKS集群创建一个角色:testEKSClusterRole,它包含一个策略:AmazonEKSClusterPolicy。 2。2创建集群节点组角色 创建角色testEKSNodeRole,包含如下策略: AmazonEKSWorkerNodePolicy AmazonEC2ContainerRegistryReadOnly AmazonEKSCNIPolicy 2。3给IAM用户添加权限 用户需要如下4个权限。你也可以创建一个用户组,并给其赋予权限,然后加入用户。 赋予受管策略AmazonEC2FullAccess,AmazonVPCReadOnlyAccess,AmazonEC2FullAccess。 添加一个包含如下内容的自定义策略:TestEKSPolicy (请修改账号ID675892200046){Version:20121017,Statement:〔{Effect:Allow,Action:eks:,Resource:},{Action:〔ssm:GetParameter,ssm:GetParameters〕,Resource:〔arn:aws:ssm::675892200046:parameteraws,arn:aws:ssm:::parameteraws〕,Effect:Allow},{Action:〔kms:CreateGrant,kms:DescribeKey〕,Resource:,Effect:Allow},{Action:〔logs:PutRetentionPolicy〕,Resource:,Effect:Allow}〕} 添加一个包含如下内容的自定义策略:IamLimitedAccess{Version:20121017,Statement:〔{Sid:VisualEditor0,Effect:Allow,Action:iam:CreateServiceLinkedRole,Resource:,Condition:{StringEquals:{iam:AWSServiceName:〔eks。amazonaws。com,eksnodegroup。amazonaws。com,eksfargate。amazonaws。com〕}}},{Sid:VisualEditor1,Effect:Allow,Action:〔iam:CreateInstanceProfile,iam:TagRole,iam:RemoveRoleFromInstanceProfile,iam:DeletePolicy,iam:CreateRole,iam:AttachRolePolicy,iam:PutRolePolicy,iam:AddRoleToInstanceProfile,iam:ListInstanceProfilesForRole,iam:PassRole,iam:DetachRolePolicy,iam:DeleteRolePolicy,iam:ListAttachedRolePolicies,iam:DeleteOpenIDConnectProvider,iam:DeleteInstanceProfile,iam:GetRole,iam:GetInstanceProfile,iam:GetPolicy,iam:DeleteRole,iam:ListInstanceProfiles,iam:CreateOpenIDConnectProvider,iam:CreatePolicy,iam:ListPolicyVersions,iam:GetOpenIDConnectProvider,iam:TagOpenIDConnectProvider,iam:GetRolePolicy〕,Resource:〔arn:aws:iam::675892200046:roletestEKSNodeRole,arn:aws:iam::675892200046:roletestEKSClusterRole,arn:aws:iam::675892200046:roleawsserviceroleeksnodegroup。amazonaws。comAWSServiceRoleForAmazonEKSNodegroup,arn:aws:iam::675892200046:instanceprofile,arn:aws:iam::675892200046:policy,arn:aws:iam::675892200046:oidcprovider〕},{Sid:VisualEditor2,Effect:Allow,Action:iam:GetRole,Resource:arn:aws:iam::675892200046:role},{Sid:VisualEditor3,Effect:Allow,Action:iam:ListRoles,Resource:}〕}3创建EKS集群(IAM用户)3。1创建EKS集群控制平面 在EKS产品页面,点击CreateCluster。 如果你没有在Custerservicerole下拉列表中看见角色,请检查第2步。 在子网Subnets中,3个子网就好了。 在集群端点访问Clusterendpointaccess中,选Public就好,生产环境,请选择Private。 在网络插件Networkingaddons中,默认就好。 3。2添加工作节点到集群 当集群创建成功了Active,点击Compute标签中的Addnodegroup来创建工作节点。 你可以配置SSHlogin进入到工作节点。 4设置AWSCLI工具和Kubectl工具(IAM用户)4。1配置AWSCLI 安装AWSCLI后,运行awsconfigure来配置第一步中的IAM账号:curlhttps:awscli。amazonaws。comawscliexelinuxx8664。zipoawscliv2。zipunzipawscliv2。zipsudo。awsinstallawsconfigure〔awsclibogon〕awsstsgetcalleridentity{UserId:AIDAZ2XSQQJXKNKFI4YDF,Account:675892200046,Arn:arn:aws:iam::675892200046:userTestEKSUser}4。2配置Kubectl〔awsclibogon〕awseksregionuseast1updatekubeconfignameTestEKSClusterUpdatedcontextarn:aws:eks:useast1:675892200046:clusterTestEKSClusterinhomeawscli。kubeconfig