検索

第4章 cloud-init の設定

download PDF

cloud-init を使用すると、さまざまな設定タスクを実行できます。

cloud-init 設定では、cloud.cfg ファイルおよび cloud.cfg.d ディレクトリーへのディレクティブの追加を必要とすることがあります。あるいは、特定のデータソースでは、ユーザーデータファイルやメタデータファイルなどのファイルにディレクティブを追加する必要がある場合があります。データソースでは、ディレクティブの HTTP サーバーへのアップロードが必要な場合があります。データソースの要件を確認し、それに応じてディレクティブを追加します。

4.1. NoCloud データソースの cloud-init を含む仮想マシンの作成

cloud-init を含む新しい仮想マシン (VM) を作成するには、meta-data ファイルと user-data ファイルを作成します。

  • meta-data ファイルには、インスタンスの詳細が含まれます。
  • user-data ファイルには、ユーザーを作成し、アクセスを付与するための情報が含まれます。

これらのファイルを新しい ISO イメージに追加し、KVM ゲストイメージから作成した新しい仮想マシンに ISO ファイルをアタッチします。このシナリオでは、データソースは NoCloud です。

手順

  1. cloudinitiso という名前のディレクトリーを作成し、作業ディレクトリーとして設定します。

    $ mkdir cloudinitiso
    $ cd cloudinitiso
  2. meta-data ファイルを作成し、次の情報を追加します。

    instance-id: citest
    local-hostname: citest-1
  3. user-data ファイルを作成し、次の情報を追加します。

    #cloud-config
    password: cilogon
    chpasswd: {expire: False}
    ssh_pwauth: True
    ssh_authorized_keys:
      - ssh-rsa AAA...fhHQ== sample@redhat.com
    注記

    user-data ファイルの最後の行は、SSH 公開鍵を参照します。~/.ssh/id_rsa.pub で SSH 公開鍵を検索します。このサンプル手順を行う場合は、行を変更して公開鍵の 1 つを含めます。

  4. genisoimage コマンドを使用して、user-data および meta-data を含む ISO イメージを作成します。

    # genisoimage -output ciiso.iso -volid cidata -joliet -rock user-data meta-data
    
    I: -input-charset not specified, using utf-8 (detected in locale settings)
    Total translation table size: 0
    Total rockridge attributes bytes: 331
    Total directory bytes: 0
    Path table size(bytes): 10
    Max brk space used 0
    183 extents written (0 MB)
  5. Red Hat カスタマーポータルから、/var/lib/libvirt/images ディレクトリーに KVM ゲストイメージをダウンロードします。
  6. virt-install ユーティリティーを使用して KVM ゲストイメージから新しい仮想マシンを作成し、ダウンロードしたイメージを既存のイメージにアタッチします。

    # virt-install \
        --memory 4096 \
        --vcpus 4 \
        --name mytestcivm \
        --disk /var/lib/libvirt/images/rhel-8.1-x86_64-kvm.qcow2,device=disk,bus=virtio,format=qcow2 \
        --disk /home/sample/cloudinitiso/ciiso.iso,device=cdrom \
        --os-type Linux \
        --os-variant rhel9.0 \
        --virt-type kvm \
        --graphics none \
        --import
  7. ユーザー名 cloud-user とパスワード cilogon を使用してイメージにログオンします。

    citest-1 login: cloud-user
    Password:
    [cloud-user@citest-1 ~]$

検証

  • cloud-init ステータスをチェックして、ユーティリティーが定義されたタスクを完了したことを確認します。

    [cloud-user@citest-1 instance]$ cloud-init status
    status: done
  • cloud-init ユーティリティーは、実行時に /var/lib/cloud の下の cloud-init ディレクトリーレイアウトを作成し、指定したディレクティブに基づいて特定のディレクトリーコンテンツを更新または変更します。

    たとえば、データソースファイルをチェックして、データソースが NoCloud であることを確認できます。

    $ cd /var/lib/cloud/instance
    $ cat datasource
    DataSourceNoCloud: DataSourceNoCloud [seed=/dev/sr0][dsmode=net]
  • cloud-init は、user-data を /var/lib/cloud/instance/user-data.txt にコピーします。

    $ cat user-data.txt
    #cloud-config
    password: cilogon
    chpasswd: {expire: False}
    ssh_pwauth: True
    ssh_authorized_keys:
      - ssh-rsa AAA...fhHQ== sample@redhat.com
注記

OpenStack の場合、インスタンスの作成と管理 には、cloud-init を使用してインスタンスを設定するための情報が含まれています。特定の手順は、Creating a customized instance を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.