第4章 設定フック


設定フックを使用して、オーバークラウドのデプロイメントプロセスに独自のカスタム設定関数を挿入します。メインのオーバークラウドサービスの設定前後にカスタム設定を挿入するためのフックや、Puppet ベースの設定を変更/追加するためのフックを作成することができます。

4.1. 初回ブート: 初回ブート設定のカスタマイズ

オーバークラウドの初回作成後に、director は cloud-init を使用して全ノードで設定を行います。NodeUserData リソースタイプを使用して cloud-init を呼び出すことができます。

OS::TripleO::NodeUserData
すべてのノードに適用する cloud-init 設定
OS::TripleO::Controller::NodeUserData
コントローラーノードに適用する cloud-init 設定
OS::TripleO::Compute::NodeUserData
コンピュートノードに適用する cloud-init 設定
OS::TripleO::CephStorage::NodeUserData
Ceph Storage ノードに適用する cloud-init 設定
OS::TripleO::ObjectStorage::NodeUserData
オブジェクトストレージノードに適用する cloud-init 設定
OS::TripleO::BlockStorage::NodeUserData
ブロックストレージノードに適用する cloud-init 設定
OS::TripleO::[ROLE]::NodeUserData
カスタムノードに適用する cloud-init 設定。[ROLE] をコンポーザブルロール名に置き換えてください。

以下の例では、全ノード上でカスタム IP アドレスを使用してネームサーバーを更新します。

手順

  1. 各ノードの resolv.conf に特定のネームサーバーを追加するスクリプトを実行するために、まず基本的な heat テンプレート (~/templates/nameserver.yaml) を作成します。OS::TripleO::MultipartMime リソース種別を使用して、この設定スクリプトを送信することができます。

    heat_template_version: 2014-10-16
    
    description: >
      Extra hostname configuration
    
    resources:
      userdata:
        type: OS::Heat::MultipartMime
        properties:
          parts:
          - config: {get_resource: nameserver_config}
    
      nameserver_config:
        type: OS::Heat::SoftwareConfig
        properties:
          config: |
            #!/bin/bash
            echo "nameserver 192.168.1.1" >> /etc/resolv.conf
    
    outputs:
      OS::stack_id:
        value: {get_resource: userdata}
  2. OS::TripleO::NodeUserData リソース種別として heat テンプレートを登録する環境ファイル (~/templates/firstboot.yaml) を作成します。

    resource_registry:
      OS::TripleO::NodeUserData: /home/stack/templates/nameserver.yaml
  3. オーバークラウドに初回ブートの設定を追加するには、その他の環境ファイルと共にこの環境ファイルをスタックに追加します。

    $ openstack overcloud deploy --templates \
        ...
        -e /home/stack/templates/firstboot.yaml \
        ...

    これにより、ノード作成後の初回起動時に設定がすべてのノードに追加されます。これ以降は (たとえば、オーバークラウドスタックの更新時)、これらのテンプレートを追加してもこれらのスクリプトは実行されません。

重要

NodeUserData リソースを登録することができるのは、1 つのリソースにつき 1 つの heat テンプレートだけです。別の heat テンプレートに登録すると、使用する heat テンプレートがそのテンプレートに変わります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.