定期对 K8s 集群进行系统安全修补?

定期对 K8s 集群进行系统安全修补?

我们正在尝试找到一种方法,定期为我们的 K8s 集群提供系统安全补丁,以确保我们的系统安全并满足安全要求。

我们的 K8s 集群在不同的云中运行,AWS、Azure、裸机等。

对于云,我们可以将 IAM 映像更改为最新版本,替换旧映像,启动新节点并清除旧节点。对于裸机,我们需要清除旧节点,然后修补并重新添加它们。

不确定是否有其他方法可以自动完成此操作。我们不想每个月在每个云端都做这项工作。也许有更好的解决方案?

答案1

HashiCorp 的 Packer 是一款用于自动创建机器映像的免费工具。

Packer 可以为不同的云构建机器映像,包括 AWS、Azure 和 VMware 等自托管虚拟化平台。

使用 Packer,您可以使用已发布的参考机器(例如 Amazon 发布的 AMI),自动安装补丁、更新和任何自定义配置,然后将修补的图像发布回云平台,以供使用。

Packer 还可用于将标准配置管理工具植入云镜像中。例如,执行 ansible 或 puppet 运行,和/或嵌入在实例启动时运行这些工具所需的配置。

Terraform(免费提供)也是由 HashiCorp 提供的,它可以让您自动配置计算平台,例如 AWS/Azure/VMware,从而允许您自动更新配置。

如果您希望部署或更新正在运行的 Kubernetes 集群中的节点使用的 AMI,您可以使用 Terraform 创建指向新 Packer 构建映像的新启动配置来实现。

可以减少工作量的一种方法是修改实例组的启动脚本(云初始化/用户数据),在启动时运行类似“yum update”的命令。这样,您可以使用预制映像,并且每次发布时只需将 AMI ID 更新为最新版本。这很可能使用 Terraform 来完成。

相关内容