zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    在wampserver环境下配置多个版本的PHP支持
    Jetbrains全系列完美破解--------亲测可用
    python学习笔记1:元组
    python学习笔记0:列表
    入坑:分享几个优秀的编程博客
    java集合-EnumMap与EnumSet
    java集合-TreeSet
    java集合-TreeMap
    java集合-HashMap(JDK1.8)
    java集合-HashSet
  • 原文地址:https://www.cnblogs.com/faberbeta/p/14236873.html
Copyright © 2011-2022 走看看