导入AWS EKS集群

描述导入AWS EKS集群的详细步骤.

本节描述导入AWS EKS集群的详细步骤。

前置条件

  1. 需要提供一个Access Key & Secret,其权限策略如下:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "Optimizer",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeInstances",
            "ec2:DescribeLaunchTemplates",
            "ec2:DescribeRegions",
            "ec2:DescribeVolumes",
            "ec2:DescribeLaunchTemplateVersions",
            "eks:DescribeNodegroup",
            "eks:ListNodegroups",
            "eks:DescribeCluster",
            "eks:ListClusters"
            "autoscaling:DescribeAutoScalingInstances",
            "autoscaling:DescribeAutoScalingGroups",
          ],
          "Resource": "*"
        }
      ]
    }
    
  2. 一个Kubernetes集群,版本1.22及以上,推荐使用EKS集群.

  3. 需要提供一个Kubeconfig,用于访问集群相关信息。其权限要求如下(若仅为开发测试集群,无敏感信息,为简单起见,也可以授予集群的全部只读权限):

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: optimizer
    rules:
      - apiGroups:
          - ""
        resources:
          - nodes
          - pods
          - pods/status
          - persistentvolumes
          - persistentvolumeclaims
          - services
          - namespaces
        verbs:
          - get
          - list
          - watch
      - apiGroups:
          - "apps/v1"
        resources:
          - deployments
          - replicasets
          - replicationcontollers
          - statefulsets
          - daemonsets
        verbs:
          - get
          - list
          - watch
      - apiGroups:
          - "batch/v1"
        resources:
          - jobs
          - cronjobs
        verbs:
          - get
          - list
          - watch
      - apiGroups:
          - "storage/v1"
        resources:
          - storageclasses
        verbs:
          - get
          - list
          - watch
    
  4. 集群所对应的Prometheus/Thanos地址。

  5. 应用需要能够访问EKS集群和Prometheus/Thanos。

导入 Kuberentes 集群

添加云账号

  1. 设置 --> 云账号进入云账号管理页面,如下图。

    云账户管理
    Wiseinf Inc.

  2. 单击新增按钮添加云帐户。 可以输入名称,选择Amazon AWS作为云提供商,然后输入Access KeyAccess Key Secret,最后单击确认

    添加云账号
    Wiseinf Inc.

    输入Access KeyAccess Key Secret后,您还可以通过单击底部测试连通性按钮来测试访问凭据是否能够正常连接到云提供商。

导入集群

  1. 设置 --> 集群进入集群管理页面,如下图。

    集群管理
    Wiseinf Inc.

  2. 单击导入集群按钮,然后单击AWS云提供商徽标以开始从AWS导入集群。 它包含五个步骤:

    1. 连接AWS
    2. 连接kubernetes
    3. 连接Metrics Server
    4. 查看配置
    5. 完成
  3. 连接AWS步骤中,选择使用已有凭据,选择添加云帐户部分中创建的云帐户,如下图。

    导入集群:连接到 AWS
    Wiseinf Inc.

    然后单击下一步按钮转到连接kubernetes步骤。

  4. 连接kubernetes步骤中,选择Managed cluster,如下图。

    导入集群:连接kubernetes集群
    Wiseinf Inc.

    先选择地域,然后选择集群,然后输入以下配置项:

    配置项 描述
    描述 集群描述
    使用私有API Server私有地址 是否使用私有API Server地址。
    Kubeconfig 连接到集群的Kubeconfig。
    自动刷新Kubeconfig 是否自动刷新kubeconfig。
    节点组标签 用于标识节点所属的节点组。 对于EKS,默认值为eks.amazonaws.com/nodegroup

    注意:鉴于平台不使用AWS客户端来获取用户身份验证信息,如果您的 Kubeconfig配置项中获取用户身份信息依赖于aws get token命令,则必须启用 自动刷新 Kubeconfig。这确保了平台动态获取用户身份验证详细信息。

    然后单击下一步按钮转到连接Metrics服务步骤。

  5. 连接Metrics服务步骤中,输入以下配置项,如下所示。

    配置项 描述
    是否Thanos 若Metrics Server是 Thanos,则应选中此项。
    Metrics服务地址 Metrics服务器地址,目前支持Prometheus和Thanos。
    限制访问速率 是否取用到Metrics服务地址的访问速率限制。
    最大并发数 指定访问Metrics服务地址的最大并发数。
    集群标签 用作标签名称,用于从Metrics服务过滤集群的指标。
    集群标签值 用作标签值,用于从Metrics服务过滤集群的指标。

    导入集群:连接Metrics服务
    Wiseinf Inc.

    然后单击下一步按钮转到查看配置步骤。

  6. 查看配置步骤中,显示连接AWS、连接Kubernetes、连接Metrics服务的配置。您可以检查配置是否符合预期。

    导入集群:查看配置
    Wiseinf Inc.

    确认这些配置后,您可以单击导入按钮转到完成步骤。

  7. 完成步骤中,会显示提交状态,如下图。 当提交状态显示集群已导入时,您可以点击完成按钮。

    导入集群:完成
    Wiseinf Inc.

下一步

导入集群后,您可以查看集群多个方面的优化建议,包括: