使用eksctl 创建Amazon EKS 集群

1.在EC2实例上安装AWS 命令行工具awscli,用于与AWS Console 交互,管理控制AWS资源:

1)此处安装最新版本的awscli
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# unzip awscliv2.zip
# ./aws/install 
# aws --version  //安装完成,查看版本号
aws-cli/2.2.45 Python/3.8.8 Linux/3.10.0-1127.13.1.el7.x86_64 exe/x86_64.centos.7 prompt/off

2)使用 aws configure 命令配置aws访问凭证(如下:按命令行提示输入访问密钥id、密钥、区域、输出格式)
# aws configure 
AWS Access Key ID [None]: 
AWS Secret Access Key [None]: 
Default region name [None]: 
Default output format [None]: 
# aws help 

3)使用awscli可以查看AWS现有的EKS集群
# aws eks list-clusters  
{
    "clusters": [
        "eks-test"
    ]
}

2.安装eksctl,用于在 Amazon EKS 上建立和管理 Kubernetes

安装eksctl
# wget https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz
# tar -xf eksctl_Linux_amd64.tar.gz
# echo $PATH    # $PATH:决定了shell将到哪些目录中寻找命令或程序
/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# mv eksctl /usr/local/sbin/

或使用以下方式安装
# curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
# mv eksctl /usr/local/sbin/
查看eksctl版本,是否完成安装
# eksctl version
0.69.0
# eksctl --help   

3.安装kubectl,用于处理kubenetes集群的命令行工具,很多操作系统程序包管理器中都提供了 kubectl二进制文件,因此想要安装kubectl只需下载对应的二进制包,给它个执行权限,再把它丢到我们本地系统二进制命令文件夹里,就完成安装了

注:kubectl的版本号与Amazon EKS 集群的版本号相差不能大于1

1.下载kubectl二进制包文件:
# curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.20.4/2021-04-12/bin/linux/amd64/kubectl
2.添加执行权限:
# chmod +x kubectl
3.将二进制文件移到存放系统二进制命令目录下(使用命令echo $PATH可以看到目录)
# mv kubectl /usr/local/sbin/
4.查看是否安装成功(查看版本号)
# kubectl version --short --client
Client Version: v1.20.4-eks-6b7464  //安装完成:这里安装的是v1.20.4的版本

4.使用eksctl创建Amazon EKS 集群

1)创建集群
# cat cluster_v1.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
# eksctl create cluster --config-file=cluster_v1.yaml
metadata:
  name: EKS-STG
  version: "1.21"
  region: cn-north-1
vpc:
  cidr: 10.30.0.0/16
  clusterEndpoints:
    publicAccess: true
    privateAccess: true
nodeGroups: []

2)创建节点组
# cat nodegroup_m5.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
  name: EKS-STG
  region: cn-north-1
  version: "1.21"
managedNodeGroups:
 - name: ng-1
   instanceType: m5.large
   minSize: 1
   maxSize: 3
   desiredCapacity: 2
   volumeSize: 50
   ssh:
    allow: true
    publicKeyName: eks-test-ssh
# eksctl create nodegroup --config-file=nodegroup_m5.yaml

5.生成 kubeconfig 配置文件

前面已经安装了kubectl,现在要生成配置文件kubeconfig使之能与eks集群交互

1.使用awscli命令行快速创建/更新kubeconfig:
# aws eks --region cn-north-1 update-kubeconfig --name EKS-STG
# kubectl get nodes

//完成以上步骤即可用kubectl来管理你创建的Amazon eks集群

6.以上已完成EKS集群的创建,默认只有创建集群的user对集群有权限(admin权限),想让其他用户访问,需要在集群中添加权限,如下:给用户xuexue.li 添加权限

$ kubectl edit cm  aws-auth -n kube-system
apiVersion: v1
data:
  mapRoles: |
    - groups:
      - system:bootstrappers
      - system:nodes
      rolearn: arn:aws-cn:iam::123456789:role/eksctl-EKS-STG-nodegroup-ng-1-NodeInstanceRole-11ABCYEFGRU
      username: system:node:{{EC2PrivateDNSName}}
  mapUsers: |
    - userarn: arn:aws-cn:iam::123456789:user/xuexue.li
      username: xuexue.li
      groups:
        - system:masters

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用kubectl登录到指定的AWS EKS集群需要先进行以下几个步骤: 1. 安装kubectl:如果您还没有安装kubectl,您可以使用以下命令在本地计算机上安装kubectl: ``` curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin/kubectl ``` 2. 安装aws-cli:如果您还没有安装aws-cli,您可以使用以下命令在本地计算机上安装aws-cli: ``` curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install ``` 3. 配置aws-cli:在使用aws-cli之前,您需要通过运行`aws configure`命令来配置aws-cli,该命令将要求您提供AWS访问密钥和密钥ID等信息。 4. 配置kubectl:使用`aws eks update-kubeconfig`命令来配置kubectl,该命令将获取与指定的AWS EKS集群关联的Kubernetes API服务器的访问信息,并将其添加到您的kubectl配置文件中。运行以下命令: ``` aws eks update-kubeconfig --name <your-cluster-name> --region <your-region> ``` 其中`<your-cluster-name>`和`<your-region>`分别是您的AWS EKS集群的名称和区域。运行此命令后,kubectl将自动使用与您的AWS EKS集群相关联的Kubernetes API服务器进行身份验证。 5. 使用kubectl登录:现在,您可以使用kubectl命令与您的AWS EKS集群进行交互了。例如,使用以下命令获取集群中所有节点的列表: ``` kubectl get nodes ``` 希望这可以帮助您登录到指定的AWS EKS集群

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值