2장. cloud-init 소개
cloud-init 유틸리티는 시스템을 부팅하는 동안 클라우드 인스턴스 초기화를 자동화합니다. 다양한 작업을 수행하도록 cloud-init 를 구성할 수 있습니다.
- 호스트 이름 구성
- 인스턴스에 패키지 설치
- 스크립트 실행
- 기본 VM(가상 머신) 동작 비활성화
사전 요구 사항
- Red Hat 고객 포털 계정에 등록합니다.
cloud-init 는 다양한 유형의 RHEL 이미지에서 사용할 수 있습니다. 예를 들어 다음과 같습니다.
-
Red Hat Customer Portal 에서 KVM 게스트 이미지를 다운로드하는 경우 이미지에
cloud-init패키지가 사전 설치됩니다. 인스턴스를 시작하면cloud-init패키지가 활성화됩니다. Red Hat 고객 포털의 KVM 게스트 이미지는 RHV(Red Hat Virtualization), RHOSP(Red Hat OpenStack Platform) 및 Red Hat OpenShift Virtualization과 함께 사용하기 위한 것입니다. -
Red Hat 고객 포털에서 RHEL ISO 이미지를 다운로드하여 사용자 지정 게스트 이미지를 생성할 수도 있습니다. 이 경우 사용자 지정 게스트 이미지에
cloud-init패키지를 설치해야 합니다. 클라우드 서비스 공급자(예: AWS 또는 Azure)의 이미지를 사용해야 하는 경우 RHEL 이미지 빌더 를 사용하여 이미지를 생성합니다. 이미지 빌더 이미지는 특정 클라우드 공급자에 맞게 사용자 지정됩니다. 다음 이미지 유형에는 이미 설치된
cloud-init가 포함됩니다.- Amazon 머신 이미지(AMI)
- 가상 하드 디스크(VHD)
QEMU COW(Copy-On-Write)
RHEL 이미지 빌더에 대한 자세한 내용은 사용자 지정 RHEL 시스템 이미지 구성을 참조하십시오.
대부분의 클라우드 플랫폼은 cloud-init 를 지원하지만 설정 절차 및 지원되는 옵션은 다릅니다. 또는 NoCloud 환경에 대해 cloud-init 를 구성할 수 있습니다.
또한 하나의 VM에서 cloud-init 를 구성한 다음 해당 VM을 템플릿으로 사용하여 추가 VM 또는 VM 클러스터를 생성할 수 있습니다.
특정 Red Hat 제품(예: Red Hat Virtualization )은 해당 제품에 대해 cloud-init 를 구성하는 절차를 문서화했습니다.
2.1. cloud-init 구성 개요 링크 복사링크가 클립보드에 복사되었습니다!
cloud-init 유틸리티는 YAML 형식의 구성 파일을 사용하여 사용자 정의 작업을 인스턴스에 적용합니다. 인스턴스가 부팅되면 cloud-init 서비스가 시작되고 YAML 파일의 지침을 실행합니다. 구성에 따라 작업은 첫 번째 부팅 중 또는 VM의 후속 부팅 중에 완료됩니다.
특정 작업을 정의하려면 /etc/cloud/cloud.cfg 파일을 구성하고 /etc/cloud/cloud.cfg.d/ 디렉터리에 지시문을 추가합니다.
cloud.cfg파일에는 사용자 액세스, 인증 및 시스템 정보와 같은 다양한 시스템 구성에 대한 지시문이 포함되어 있습니다.파일에는
cloud-init에 대한 기본 및 선택적 모듈도 포함되어 있습니다. 이러한 모듈은 다음 단계에서 순서대로 실행됩니다.cloud-init초기화 단계 .. 구성 단계 .. 마지막 단계+
cloud.cfg파일에서 3단계의 모듈은cloud_init_modules,cloud_config_modules,cloud_final_modules에 각각 나열됩니다.-
cloud.cfg.d디렉터리에cloud-init에 대한 지시문을 추가할 수 있습니다.cloud.cfg.d디렉터리에 지시문을 추가할 때*.cfg라는 사용자 지정 파일에 추가해야 하며 파일 상단에#cloud-config를 항상 포함해야 합니다.