aws 通過eksctl 創建eks


主要需要參考:
https://eksctl.io/
https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/getting-started-eksctl.html

需要安裝

  • AWS CLI 用於處理 服務的命令行工具,包括 AWSAmazon EKS
  • eksctl 一種命令行工具,用於處理 EKS 集群,可自動執行許多單獨的任務。
  • kubectl 用於處理 Kubernetes 集群的命令行工具。

安裝適用於 Linux 的AWS CLI

如果您當前已安裝 AWS CLI,請確定您已安裝的版本。
aws --version
如果您沒有安裝版本 1.18.163 或更高版本或版本 2.0.59 或更高版本,請安裝 AWS CLI 版本 2。有關其他安裝選項或要升級當前安裝的版本 2,請參閱在 Linux 上升級 AWS CLI 版本 2。

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

如果無法使用 AWS CLI 版本 2,請確保使用以下命令安裝了 AWS CLI 版本 1 的最新版本。

pip3 install --upgrade --user awscli

配置 AWS CLI 憑證

eksctl 和 AWS CLI 均要求您在環境中配置 AWS 憑證。 aws configure 命令是設置 安裝以供一般使用的最快方法。

$ aws configure
AWS Access Key ID [None]: <AKIAIOSFODNN7EXAMPLE>
AWS Secret Access Key [None]: <wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY>
Default region name [None]: <region-code>
Default output format [None]: <json>

安裝 eksctl 使用 eksctl 在 Linux 上安裝或升級curl

使用以下命令下載並提取最新版本的 eksctl。

curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
將提取的二進制文件移至 /usr/local/bin。

sudo mv /tmp/eksctl /usr/local/bin
使用以下命令測試您的安裝是否成功。

eksctl version

安裝和配置 kubectl

[在 Linux 上安裝 kubectl]
下載與集群所在的區域對應的 Amazon EKS 提供的 kubectl 二進制文件。

區域之外的所有區域。中國

curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.8/2020-09-18/bin/linux/amd64/kubectl
北京和寧夏 中國區域。

curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.8/2020-09-18/bin/linux/amd64/kubectl

chmod 755 ./kubectl
sudo mv ./kubectl /usr/local/bin

安裝 kubectl 后,可以使用以下命令驗證其版本:

kubectl version --short --client

使用eksctl創建eks

在https://eksctl.io/查看 eksctl命令
以及https://eksctl.io/usage/schema/#managedNodeGroups-maxSize

[root@localhost ~]# cat cluster.yaml 
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: faberbeta
  region: ap-east-1
  version: "1.18"

managedNodeGroups:
  - name: nodegroup01
    instanceType: m5.large
    minSize: 3
    maxSize: 6
    desiredCapacity: 3
    volumeSize: 30
    ssh:
      allow: true
      publicKeyPath: ~/.ssh/id_rsa.pub
    labels: {role: worker}
    tags:
      nodegroup-role: worker
    iam:
      withAddonPolicies:
        imageBuilder: true
        autoScaler: true
        externalDNS: true
        certManager: true
        appMesh: true
        appMeshPreview: true
        ebs: true
        fsx: true
        efs: true
        albIngress: true
        xRay: true
        cloudWatch: true
[root@localhost ~]# eksctl create cluster -f cluster.yaml 

因為eks cluster和nodegroup是分別創建的,所以可以只創建eks 再手動創建nodegroup
eksctl create cluster --config-file=<path> --without-nodegroup

先刪除nodegroup

eksctl delete nodegroup --cluster=faberbeta --name=nodegroup01

刪除eks集群

eksctl delete cluster  --name=faberbeta


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM