Kubernetes 具有自签名证书的eks AutoCaller和harbor注册表

Kubernetes 具有自签名证书的eks AutoCaller和harbor注册表,kubernetes,amazon-eks,amazon-ami,aws-auto-scaling,Kubernetes,Amazon Eks,Amazon Ami,Aws Auto Scaling,我们有eks kubernetes集群和一个带有harbor注册表的ec2实例。此注册表有一个自签名证书,它需要位于工作节点中,才能将其拉/推到此docker regitry。问题是,我必须根据负载自动缩放eks节点,但对于新缩放的节点,必须具有签名证书才能联系注册表。有什么想法吗?是否可以制作AMI图像或有其他方法?上述查询可以通过多种方法解决。我将在这里分享其中的两个- 如果您使用的是EKS管理的节点组或自定义节点组 如果您使用的是AWS管理的节点组 a) 在这种情况下,请为运行注册表脚本的

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

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

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

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

a) 在这种情况下,请为运行注册表脚本的节点创建一个ami映像,在创建ami映像之前,请确保它在启动时运行

b) 完成(a)中的点后,请设置AWS管理节点组以使用您创建的ami映像。如果您正在使用terraform或任何其他infra供应工具,您可以进行更改

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

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}>
#aws自动缩放创建启动配置--启动配置名称--映像id--实例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--配置文件--区域自动缩放更新自动缩放组--自动缩放组名称--启动配置名称”
对于自定义托管节点组,还可以设置引导参数。
与AWS托管节点组不同。正如我今天所写的,到目前为止,无法将参数引导到托管节点组。它可能会在稍后阶段出现,但在撰写本文时,我们目前还没有该选项。

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

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

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

a) 在这种情况下,请为运行注册表脚本的节点创建一个ami映像,在创建ami映像之前,请确保它在启动时运行

b) 完成(a)中的点后,请设置AWS管理节点组以使用您创建的ami映像。如果您使用terraform或任何其他infra设置工具,您可以进行更改

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

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}>
#aws自动缩放创建启动配置--启动配置名称--映像id--实例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--配置文件--区域自动缩放更新自动缩放组--自动缩放组名称--启动配置名称”
对于自定义托管节点组,还可以设置引导参数。
与AWS管理的节点组不同。正如我今天所写的,到目前为止,还无法将参数引导到托管非组。它可能会在稍后的阶段出现,但在撰写本文时,我们目前还没有该选项。

谢谢您的回复,但是如果要增加存储此AMI的其他成本,我认为它将存储在S3存储桶中。创建AMI没有单独的成本,成本将基于AMI使用的ebs卷产生。您可以选择创建具有最小ebs卷的ami,如果有需要额外空间的应用程序,请向其添加单独的卷,并使用其他用户数据详细信息修改启动配置,以添加和装载卷,并在其上运行应用程序。。。。这是如果你想节省成本,如果ami有巨大的存储连接到它。感谢你的答复,但这是添加其他成本存储此ami,我认为它将存储在S3桶。没有单独的成本创建ami,成本将产生的ebs卷是由ami使用的基础上。您可以选择创建具有最小ebs卷的ami,如果有需要额外空间的应用程序,请向其添加单独的卷,并使用其他用户数据详细信息修改启动配置,以添加和装载卷,并在其上运行应用程序。。。。这是如果您希望节省成本,如果ami有巨大的存储连接到它。