0

我们有我们的 eks kubernetes 集群和一个带有港口注册中心的 ec2 实例。这个注册表有一个自签名证书,它需要在工作节点中才能拉/推到这个 docker regitry。问题是我必须根据负载自动缩放我的 eks 节点,但是对于新缩放的节点必须具有签名证书才能联系注册表。有任何想法吗?是否可以制作 AMI 图像或有其他方法?

4

1 回答 1

2

上述查询可以通过多种方式解决。我将在这里分享其中的两个-

如果您使用的是 EKS 托管节点组或自定义节点组。

如果您使用的是 AWS 托管节点组。

a) 在这种情况下,请创建运行注册表脚本的节点的 ami 映像,请确保在启动时运行它,然后再创建 ami 映像。

b) 完成 (a) 中的要点后,请预置 AWS 托管节点组以使用您创建的 ami 映像。如果您使用的是 terraform 或任何其他基础设施配置工具,则可以进行更改。

自定义节点组 - ​​如果您使用自定义节点组

a) 创建该节点的 ami 映像。

# aws --profile $PROFILE --region $REGION ec2 create-image --instance-id ${INSTANCE_ID} --name ${INSTANCE_NAME}-image-at-${BUILD_TIMESTAMP} --description 'Snapshot of ${INSTANCE_NAME} taken at ${BUILD_TIMESTAMP}' --no-reboot --output text"

b) 通过运行以下命令创建新的启动配置:

# aws autoscaling create-launch-configuration --launch-configuration-name <${LAUNCH_TEMPLATE_NAME}> --image-id <${image-id}> --instance-id <${instance-id}>

c) 更新自动缩放组

# aws --profile <$PROFILE> --region <$REGION> autoscaling update-auto-scaling-group --auto-scaling-group-name <$ASG_NAME> --launch-configuration-name <LAUNCH_TEMPLATE_NAME>"

如果是自定义托管节点组,您还可以设置引导参数。与 AWS 托管节点组不同。正如我今天所写的那样,到目前为止,还没有办法将参数引导到托管的 nondegroup。它可能会在后期阶段出现,但在撰写本文时我们还没有这些选项。

于 2020-10-15T08:12:27.603 回答