Периодически обновлять систему безопасности на кластерах K8s?

Периодически обновлять систему безопасности на кластерах K8s?

Мы пытаемся найти способ периодически устанавливать исправления безопасности для нашего кластера K8s, чтобы поддерживать безопасность нашей системы и соответствовать требованиям безопасности.

наши кластеры K8s работают в разных облаках: AWS, Azure, Bare Metal и т. д.

для облаков мы можем изменить наш образ IAM, чтобы обновить его до последнего, заменить старый образ, запустить новые узлы и слить старые узлы. Для bare metal нам нужно слить старые узлы, а затем пропатчить и добавить их обратно.

Не уверен, есть ли другой способ сделать это автоматически. Мы не хотим выполнять эту работу каждый месяц в каждом облаке. Может быть, есть лучшее решение?

решение1

Packer от HashiCorp — бесплатный инструмент для автоматизации создания образов машин.

Packer может создавать образы машин для различных облаков, включая AWS, Azure и самостоятельные платформы виртуализации, такие как VMware.

Используя Packer, вы можете использовать опубликованные эталонные машины (например, опубликованные Amazon AMI), автоматизировать установку исправлений, обновлений и любой пользовательской конфигурации, прежде чем опубликовать исправленный образ обратно на вашей облачной платформе, готовый к использованию.

Packer также можно использовать для загрузки стандартных инструментов управления конфигурацией в облачные образы. Например, выполнить запуски ansible или puppet и/или запечь необходимую конфигурацию для их запуска при запуске экземпляра.

Terraform (доступен бесплатно), также разработанный HashiCorp, позволяет автоматизировать настройку вычислительных платформ, таких как AWS/Azure/VMware, позволяя автоматически обновлять конфигурацию.

Если вы хотите развернуть или обновить AMI, используемый узлами в работающем кластере Kubernetes, вы, скорее всего, можете сделать это, создав новую конфигурацию запуска, указывающую на новый образ, созданный Packer, с помощью Terraform.

Один из способов потенциального сокращения объема работы — это изменение загрузочного скрипта (cloud init/user data) группы экземпляров для запуска чего-то вроде 'yum update' при загрузке. Таким образом, вы можете использовать готовые образы и просто обновлять AMI ID до последней версии каждый раз, когда они выпускаются. Вероятно, это можно сделать с помощью Terraform.

Связанный контент