Ubuntu에 cloud-init 설치 및 구성

가상 머신을 캡처하기 전에 cloud-init 패키지를 설치해야 합니다. 이 주제에서는 Ubuntu의 cloud-init 설치 프로시저에 대한 세부사항을 제공합니다.

Ubuntu에 cloud-init 설치

PowerVC는 Ubuntu를 위한 cloud-init-19.1을 지원합니다. Ubuntu에 cloud-init을 설치하려면 다음 단계를 수행하십시오.
  1. cloud-init을 설치하기 전에, apt-get 또는 다른 패키지 관리자를 사용하여 운영 체제 기반 및 추가 매체로부터 cloud-init의 종속 항목을 설치해야 합니다.
  2. Ubuntu 16의 경우:
    1. PowerVC 관리 서버의 /opt/ibm/powervc/images/cloud-init/ubuntu에서 RPM을 얻고 가상 머신에 설치하십시오.
      • Ubuntu 16: cloud-init_19.1-1.ibm.ubuntu.deb

        apt-get install downloaded_path/cloud-init_19.1-1.ibm.ubuntu.deb를 실행하여 cloud-init을 설치하십시오. 설치 중에 반드시 완전한 Debian 패키지 경로를 제공해야 합니다.

        이전 버전을 설치 제거하려면 apt-get remove cloud-init을 실행한 후 apt-get purge cloud-init을 실행하십시오.

        참고: 가상 머신에 cloud-init Debian 패키지가 이미 설치되어 있으면 Debian 패키지의 PowerVC 버전을 설치하기 전에 기존 Debian 패키지를 설치 제거해야 합니다.
    2. apt-mark hold cloud-init을 실행하십시오. 그러면 apt-get upgrade를 실행할 때 다른 버전이 PowerVC cloud-init 번들을 겹쳐쓰지 않습니다.
    3. 다음을 수행하십시오.
      1. /lib/udev/rules.d/73-special-net-names.rules에서 DRIVERS=="ibmveth"를 포함하는 행을 주석 처리하십시오.
      2. update-initramfs -u 을 실행합니다.
      3. /etc/network/interfaces를 수정하여 ibmvethN에 대한 참조를 eth0으로 변경하십시오. hwaddr을 주석 처리하십시오(있는 경우).

  3. 다음 값으로 /etc/cloud/cloud.cfg에서 사용 가능한 cloud.cfg 파일을 수정하십시오.
    • Ubuntu 16의 경우: cloud-init_19.1-1.ibm.ubuntu.deb:
      다음 값이 있는 경우에는 이를 수정하십시오. 누락된 값은 추가하십시오.
      ssh_password: true
      disable_root: false
      
      preserve_hostname 뒤에 이 값을 추가하고 disable_ec2_metadata 모듈을 /etc/cloud/cloud.cfg에서 제거하십시오.
      datasource_list: [ ConfigDrive, None ]
      datasource:
        ConfigDrive:   
          dsmode: local
      
      다음 명령을 실행하여 cloud-init 관련 서비스를 사용으로 설정하고 시작하십시오.
      systemctl enable cloud-init-local.service
      systemctl enable cloud-init.service
      systemctl enable cloud-config.service
      systemctl enable cloud-final.service
      systemctl start cloud-init.service
      systemctl start cloud-init-local.service
      systemctl start cloud-config.service
      systemctl start cloud-final.service
      
      설치 후 작업 검사:
      1. 다음 명령을 실행하여 모든 cloud-init 서비스가 활성 상태인지 확인하십시오.
        systemctl status cloud-init-local.service
        systemctl status cloud-init.service
        systemctl status cloud-config.service
        systemctl status cloud-final.service
        
      2. cloud-init status를 실행하여 cloud-init 상태를 확인하십시오. 상태가 완료로 표시되는지 확인하십시오.
  4. Ubuntu 16의 경우 PowerVC cloud-init 모듈의 단계를 수행하십시오. 이 주제에 설명된 대로 cloud.cfg 파일을 수정해서, cloud-init 사용자 정의 모듈을 사용 설정 및 구성하고 cloud-init가 호스트 이름을 설정하는 방식을 제어할 수 있습니다.
참고: MAC 주소 충돌 문제와 관련된 문제점 해결 단계는 MAC 주소 충돌의 내용을 참조하십시오.