Eksctl 常见问题 - Eksctl 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Eksctl 常见问题

General

我能否使用eksctl来管理不是由创建的集群eksctl

Yes! 从版本开始,0.40.0您可以eksctl针对任何集群运行,无论该集群eksctl是否由创建。有关更多信息,请参阅 非 eksctl 创建的集群

节点组

如何更改我的节点组的实例类型?

从的角度来看eksctl,节点组是不可变的。这意味着,一旦创建,唯一eksctl能做的就是向上或向下扩展节点组。

要更改实例类型,请使用所需的实例类型创建一个新的节点组,然后将其耗尽,以便工作负载转移到新的节点组。该步骤完成后,您可以删除旧的节点组。

如何查看节点组生成的用户数据?

首先,你需要管理节点组的 Cloudformation 堆栈的名称:

eksctl utils describe-stacks --region=us-west-2 --cluster NAME

你会看到一个类似于的名字eksctl-CLUSTER_NAME-nodegroup-NODEGROUP_NAME

你可以执行以下命令来获取用户数据。请注意最后一行,它从 base64 解码并解压压缩后的数据。

NG_STACK=eksctl-scrumptious-monster-1595247364-nodegroup-ng-29b8862f # your stack here LAUNCH_TEMPLATE_ID=$(aws cloudformation describe-stack-resources --stack-name $NG_STACK \ | jq -r '.StackResources | map(select(.LogicalResourceId == "NodeGroupLaunchTemplate") \ | .PhysicalResourceId)[0]') aws ec2 describe-launch-template-versions --launch-template-id $LAUNCH_TEMPLATE_ID \ | jq -r '.LaunchTemplateVersions[0].LaunchTemplateData.UserData' \ | base64 -d | gunzip

入口

如何设置入口?eksctl

我们建议使用 AWS Load Balancer 控制器有关如何将控制器部署到集群以及如何从旧的 ALB Ingress Controller 迁移的文档可在此处找到。

对于 Nginx 入口控制器,设置将与其他 Kubernetes 集群上的任何控制器相同。

Kubectl

我使用的是 HTTPS 代理,但集群证书验证失败,我该如何使用系统 CAs?

设置环境变量KUBECONFIG_USE_SYSTEM_CAkubeconfig尊重系统证书颁发机构。