K8s 클러스터에 주기적으로 시스템 보안 패치를 적용하시겠습니까?

K8s 클러스터에 주기적으로 시스템 보안 패치를 적용하시겠습니까?

우리는 시스템을 안전하게 유지하고 보안 요구 사항을 충족하기 위해 K8s 클러스터에 대한 시스템 보안 패치를 주기적으로 적용할 수 있는 방법을 찾으려고 노력하고 있습니다.

우리 K8s 클러스터는 AWS, Azure, Bare Metal 등 다양한 클라우드에서 실행되고 있습니다.

클라우드의 경우 IAM 이미지를 변경하여 최신으로 업데이트하고, 이전 이미지를 교체하고, 새 노드를 시작하고, 이전 노드를 비울 수 있습니다. 베어메탈 노드의 경우 이전 노드를 드레이닝한 다음 패치하고 다시 추가해야 합니다.

자동으로 수행하는 다른 방법이 있는지 확실하지 않습니다. 우리는 매달 각 클라우드에서 이 작업을 수행하고 싶지 않습니다. 어쩌면 더 나은 해결책이 있을까요?

답변1

HashiCorp의 Packer는 머신 이미지 생성을 자동화하는 무료 도구입니다.

Packer는 AWS, Azure 및 VMware와 같은 자체 호스팅 가상화 플랫폼을 포함한 다양한 클라우드용 머신 이미지를 구축할 수 있습니다.

Packer를 사용하면 게시된 참조 시스템(예: Amazon 게시 AMI)을 사용하고 패치, 업데이트 및 사용자 지정 구성 설치를 자동화한 후 패치된 이미지를 클라우드 플랫폼에 다시 게시하여 사용할 수 있습니다.

Packer를 사용하여 표준 구성 관리 도구를 클라우드 이미지에 적용할 수도 있습니다. 예를 들어 Ansible 또는 Puppet 실행을 수행하거나 인스턴스가 시작될 때 실행되는 데 필요한 구성을 굽습니다.

역시 HashiCorp에서 제공하는 Terraform(무료로 제공)을 사용하면 AWS/Azure/VMware와 같은 컴퓨팅 플랫폼의 구성을 자동화하여 구성을 자동으로 업데이트할 수 있습니다.

실행 중인 Kubernetes 클러스터의 노드에서 사용하는 AMI를 배포하거나 업데이트하려는 경우 Terraform을 사용하여 새 Packer 빌드 이미지를 가리키는 새 시작 구성을 생성하면 됩니다.

잠재적으로 작업량을 줄일 수 있는 한 가지 방법은 인스턴스 그룹의 부팅 스크립트(클라우드 초기화/사용자 데이터)를 수정하여 부팅 시 'yum update'와 같은 작업을 실행하는 것입니다. 이렇게 하면 미리 만들어진 이미지를 사용할 수 있으며, 이미지가 출시될 때마다 AMI ID를 최신 버전으로 업데이트하기만 하면 됩니다. 이는 Terraform을 사용하여 수행할 수 있습니다.

관련 정보