在 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
      
      /etc/cloud/cloud.cfg 中,在 preserve_hostname 之後新增下列值,並移除 disable_ec2_metadata 模組:
      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 位址衝突