6.4. 컨테이너화된 서비스
nova, glance, keystone과 같은 특정 서비스가 이제 컨테이너 내에서 실행됩니다. 이 접근 방식은 서비스에 업데이트를 더 쉽게 적용하여 보안 포스처를 개선하는 데 도움이 됩니다. 자체 컨테이너에서 각 서비스를 실행하면 동일한 베어 메탈에서 공존하는 서비스 간의 격리도 향상됩니다. 이는 연결된 서비스에 쉽게 액세스하지 못하여 한 서비스가 공격에 취약해야 공격 면적을 줄이는 데 도움이 될 수 있습니다.
컨테이너에 마운트된 호스트 시스템의 경로는 ro/rw로 구성된 경우 컨테이너와 호스트 간에 데이터를 전송하는 데 마운트 지점으로 사용할 수 있습니다.
컨테이너화된 서비스가 임시인 경우 구성 파일을 업데이트하려는 경우 고려해야 하는 특정 관리 방법이 있습니다.
-
물리적 노드의 호스트 운영 체제(예:
/etc/cinder/cinder.conf)에서 찾을 수 있는 구성 파일을 업데이트하지 마십시오. 컨테이너화된 서비스에서 이 파일을 참조하지 않기 때문입니다. - 컨테이너 내에서 실행 중인 구성 파일을 업데이트하지 마십시오. 컨테이너를 재시작하면 변경 사항이 손실되기 때문입니다.
대신 컨테이너화된 서비스에 변경 사항을 추가해야 하는 경우 컨테이너를 시드하는 데 사용되는 구성 파일을 업데이트해야 합니다. 이러한 파일은 초기 배포 중 puppet을 통해 생성되며, 클라우드 실행에 중요한 중요한 데이터를 포함하므로 적절하게 처리해야 합니다. 이러한 파일은 /var/lib/config-data/puppet-generated/ 에 저장됩니다. 예를 들면 다음과 같습니다.
-
keystone:
/var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf -
cinder:
/var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf -
nova:
/var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf
컨테이너를 다시 시작하면 이러한 파일에 대한 변경 사항이 적용됩니다.