スタンドアロンデプロイメントガイド

Red Hat OpenStack Platform 16.2

テストおよび概念実証環境用のオールインワン OpenStack クラウドの作成

OpenStack Documentation Team

概要

単一ノードでの概念実証、開発、およびテストのシナリオのために、オールインワンの Red Hat OpenStack Platform 環境をインストール、設定、およびデプロイできます。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

Red Hat ドキュメントへのフィードバック (英語のみ)

Red Hat ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があればお知らせください。

Jira でドキュメントのフィードバックを提供する

ドキュメントに関するフィードバックを提供するには、Create Issue フォームを使用します。Red Hat OpenStack Platform Jira プロジェクトで Jira Issue が作成され、フィードバックの進行状況を追跡できます。

  1. Jira にログインしていることを確認してください。Jira アカウントをお持ちでない場合は、アカウントを作成してフィードバックを送信してください。
  2. Create Issue をクリックして、Create Issue ページを開きます。
  3. Summary フィールドと Description フィールドに入力します。Description フィールドに、ドキュメントの URL、章またはセクション番号、および問題の詳しい説明を入力します。フォーム内の他のフィールドは変更しないでください。
  4. Create をクリックします。

第1章 オールインワン Red Hat OpenStack Platform のインストール

オールインワンのインストール手法では、TripleO を使用して、シンプルな単一ノード環境で Red Hat OpenStack Platform および関連サービスをデプロイします。このインストールを使用して、単一ノードの概念実証、開発、およびテスト用デプロイメントを有効にします。この場合、フォローアップ操作は限定的であるか、まったく必要ありません。

注記

この機能は、本リリースでは テクノロジープレビュー として提供しているため、Red Hat では全面的にはサポートしていません。これは、テスト用途にのみご利用いただく機能です。実稼働環境にはデプロイしないでください。テクノロジープレビュー機能の詳細は、対象範囲の詳細 を参照してください。

1.1. 前提条件

  • システムには、Red Hat Enterprise Linux 8.4 のベースオペレーティングシステムがインストールされている必要があります。
  • TripleO が 2 番目のインターフェイスを設定する間にインターネット接続が中断されないように、システムに 2 つのネットワークインターフェイスがある。
  • システムに、4 つの CPU、8 GB の RAM、および 30 GB のディスク領域がある。

ネットワーク設定の例

  • default ネットワーク 192.168.122.0/24 に割り当てられたインターフェイス eth0。一般的な接続には、このインターフェイスを使用します。このインターフェイスには、インターネットアクセスが必要です。
  • management ネットワークの 192.168.25.0/24 に割り当てられたインターフェイス eth1。TripleO は、OpenStack サービス用にこのインターフェイスを使用します。

第2章 オールインワン Red Hat OpenStack Platform 環境の概要

このシナリオのオールインワン Red Hat OpenStack Platform (RHOSP) 環境では、既存のアンダークラウド依存関係はありません。その代わりに、インストーラーはインラインの heat-all インスタンスを実行してデプロイプロセスのブートストラップを行い、選択した heat テンプレートをローカルマシンで実行可能な Ansible Playbook に変換します。

複雑な操作を実行する場合は、運用レベルのスケーリングされたクラウドをデプロイする必要があります。

ワークフロー

シンプルな単一ノード RHOSP 環境をインストール、設定、および展開するには、次のワークフローのタスクを完了します。

  1. 環境を準備する。
  2. オールインワン環境用のパッケージをインストールします。
  3. オールインワン環境を設定します。
  4. オールインワン環境をデプロイします。

オールインワンインストールのメリット

  • コンポーザブルサービス
  • 事前定義済みのロール
  • 凝縮された単一ノード環境
  • コンテナーでフットプリントの小さなインストーラーを実行し、Ansible Playbook を生成するために使用できる Playbook

設定

試験的にロールおよびサービスを設定する場合は、8章カスタムロールおよびカスタムサービスの使用 および 「コア heat テンプレート」 を参照してください。

コンポーザブルロール

カスタムのコンポーザブルロールを作成し、それぞれのロールに特定のサービスをデプロイできます。

Ansible

このインストールでは、デプロイメントコマンドにより Ansible Playbooks が自動的に適用されます。デプロイコマンドの設定により、他の環境で使用できる Ansible Playbook の出力も可能です。たとえば、オールインワンのインストールでテストを完了し、検証済みの Ansible Playbook を他の環境に適用できます。

第3章 オールインワン Red Hat OpenStack Platform 環境のインストール

オールインワン環境の設定、デプロイ、およびテストを開始する前に、root 以外のユーザーを設定し、必要なパッケージおよび依存関係をインストールする必要があります。

手順

  1. オールインワンのホストに root 以外のユーザーを作成します。

    [root@all-in-one]# useradd stack
  2. stack ユーザーのパスワードを設定します。

    [root@all-in-one]# passwd stack
  3. stack ユーザーの sudo コマンドのパスワード要件を無効にします。

    [root@all-in-one]# echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack
    [root@all-in-one]# chmod 0440 /etc/sudoers.d/stack
  4. オールインワンのホストに root 以外のユーザーとしてログインします。

    $ ssh stack@<all-in-one>
  5. マシンを Red Hat Subscription Manager に登録します。要求されたら、Red Hat サブスクリプションの認証情報を入力します。

    [stack@all-in-one]$ sudo subscription-manager register
  6. Red Hat サブスクリプションをエンタイトルメントサーバーにアタッチします。

    [stack@all-in-one]$ sudo subscription-manager attach --auto
    注記

    --auto オプションを使用すると、正しいサブスクリプションプールをサブスクライブしない場合があります。正しいプールにサブスクライブしていることを確認してください。そうしないと、このインストールに必要なすべてのリポジトリーを有効にできない可能性があります。subscription-manager list --all --available コマンドを使用して、正しいプール ID を特定します。

  7. アンダークラウドを Red Hat Enterprise Linux 8.4 にロックします。

    $ sudo subscription-manager release --set=8.4
  8. 次のコマンドを入力して dnf-utils をインストールし、すべてのデフォルトリポジトリーを無効にしてから、必要なリポジトリーを有効にします。

    [stack@all-in-one]$ sudo dnf install -y dnf-utils
    [stack@all-in-one]$ sudo subscription-manager repos --disable=*
    [stack@all-in-one]$ sudo subscription-manager repos \
    --enable=rhel-8-for-x86_64-baseos-eus-rpms \
    --enable=rhel-8-for-x86_64-appstream-eus-rpms \
    --enable=rhel-8-for-x86_64-highavailability-eus-rpms \
    --enable=ansible-2.9-for-rhel-8-x86_64-rpms \
    --enable=openstack-16.2-for-rhel-8-x86_64-rpms \
    --enable=fast-datapath-for-rhel-8-x86_64-rpms
    注記

    オールインワン環境は、Red Hat OpenStack Platform 16 ではテクノロジープレビューの機能です。

  9. container-tools モジュールのバージョンを設定します。

    [stack@all-in-one]$ sudo dnf module disable -y container-tools:rhel8
    [stack@all-in-one]$ sudo dnf module enable -y container-tools:3.0
  10. ベースオペレーティングシステムを更新し、システムをリブートします。

    [stack@all-in-one]$ sudo dnf update
    [stack@all-in-one]$ sudo reboot
  11. リブート後に再びホストにログインします。
  12. TripleO コマンドラインインターフェイス (CLI) をインストールします。

    [stack@all-in-one]$ sudo dnf install -y python3-tripleoclient

第4章 オールインワン Red Hat OpenStack Platform 環境の設定

オールインワン RHOSP 環境を展開する前に、次の設定ファイルを手動で作成する必要があります。

  • $HOME/containers-prepare-parameters.yaml
  • $HOME/standalone_parameters.yaml

開発またはテスト用にオールインワン環境をカスタマイズする場合は、以下の設定ファイルを編集します。

  • /usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml
  • /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml

4.1. オールインワン Red Hat OpenStack Platform (RHOSP) 環境用の YAML ファイルの生成

containers-prepare-parameter.yaml および standalone_parameters.yaml ファイルを生成するには、以下の手順を実行します。

  1. デフォルトの ContainerImagePrepare パラメーターが含まれる containers-prepare-parameters.yaml ファイルを生成します。

    [stack@all-in-one]$ sudo openstack tripleo container image prepare default --output-env-file $HOME/containers-prepare-parameters.yaml
  2. containers-prepare-parameters.yaml ファイルを編集し、ContainerImageRegistryCredentials パラメーターにユーザー自身の Red Hat 認証情報を追加します。これにより、デプロイプロセスで registry.redhat.io との認証を行い、コンテナーイメージを正常にプルできます。

    parameter_defaults:
      ContainerImagePrepare:
      ...
      ContainerImageRegistryCredentials:
        registry.redhat.io:
          <USERNAME>: "<PASSWORD>"
    注記

    パスワードをプレーンテキストで入力するのを避けるためには、Red Hat サービスアカウントを作成します。詳しくは、Red Hat コンテナーレジストリーの認証 を参照してください。

  3. containers-prepare-parameters.yamlContainerImageRegistryLogin パラメーターを true に設定します。

    parameter_defaults:
      ContainerImagePrepare:
      ...
      ContainerImageRegistryCredentials:
        registry.redhat.io:
          <USERNAME>: "<PASSWORD>"
      ContainerImageRegistryLogin: true

    オールインワンのホストをコンテナーレジストリーとして使用する場合は、このパラメーターを省略し、openstack tripleo container image prepare コマンドに --local-push-destination を追加します。詳細は、Preparing container images を参照してください。

  4. $HOME/standalone_parameters.yaml ファイルを作成し、ネットワーク設定や一部のデプロイメントオプション等、オールインワン RHOSP 環境の基本パラメーターを設定します。以下の例では、ネットワークインターフェイス eth1 は、RHOSP のデプロイに使用する管理ネットワーク上のインターフェイスです。eth1 の IP アドレスは 192.168.25.2 です。

    [stack@all-in-one]$ export IP=192.168.25.2
    [stack@all-in-one]$ export NETMASK=24
    [stack@all-in-one]$ export INTERFACE=eth1
    [stack@all-in-one]$ export DNS1=1.1.1.1
    [stack@all-in-one]$ export DNS2=8.8.8.8
    
    [stack@all-in-one]$ cat <<EOF > $HOME/standalone_parameters.yaml
    parameter_defaults:
      CloudName: $IP
      CloudDomain: <DOMAIN_NAME>
      ControlPlaneStaticRoutes: []
      Debug: true
      DeploymentUser: $USER
      DnsServers:
        - $DNS1
        - $DNS2
      NeutronPublicInterface: $INTERFACE
      NeutronDnsDomain: localdomain
      NeutronBridgeMappings: datacentre:br-ctlplane
      NeutronPhysicalBridge: br-ctlplane
      StandaloneEnableRoutedNetworks: false
      StandaloneHomeDir: $HOME
      StandaloneLocalMtu: 1500
    EOF

    DnsServers パラメーターにご自分の DNS アドレスを設定する必要があります。このアドレスは、/etc/resolv.conf ファイルで確認することができます。

    [stack@all-in-one]$ cat /etc/resolv.conf
    192.168.122.1

    単一のネットワークインターフェイスのみを使用する場合は、デフォルトのルートを定義する必要があります。

    ControlPlaneStaticRoutes:
      - ip_netmask: 0.0.0.0/0
        next_hop: $GATEWAY
        default: true

    内部の時刻ソースがある場合、または環境が外部の時刻ソースへのアクセスをブロックする場合は、NtpServer パラメーターを使用して、使用する時刻ソースを定義します。

    parameter_defaults:
      NtpServer: clock.example.com

    仮想環境でオールインワンの RHOSP インストールを使用する場合は、NovaComputeLibvirtType パラメーターを使用して仮想化タイプを定義する必要があります。

    parameter_defaults:
      NovaComputeLibvirtType: qemu

    Load-balancing サービス (octavia) には、SSH の設定は必要ありません。ただし、負荷分散インスタンス (amphorae) への SSH アクセスが必要な場合は、OctaviaAmphoraSshKeyFile パラメーターを追加して stack ユーザーの公開鍵ファイルへの絶対パスの値を指定します (例: OctaviaAmphoraSshKeyFile: "/home/stack/.ssh/id_rsa.pub")。

第5章 オールインワン Red Hat OpenStack Platform 環境のデプロイメント

手順

  1. Red Hat の認証情報を使用して registry.redhat.io にログインします。

    [stack@all-in-one]$ sudo podman login registry.redhat.io
  2. デプロイメントコマンドで使用する環境変数をエクスポートします。以下の例では、IP アドレスに管理ネットワーク上の 192.168.25.2 が設定された eth1 インターフェイスと共に、オールインワン環境をデプロイします。

    [stack@all-in-one]$ export IP=192.168.25.2
    [stack@all-in-one]$ export NETMASK=24
    [stack@all-in-one]$ export INTERFACE=eth1
  3. ホスト名を設定します。ノードが localhost.localdomain を使用している場合、デプロイは失敗します。

    [stack@all-in-one]$ hostnamectl set-hostname all-in-one.example.net
    [stack@all-in-one]$ hostnamectl set-hostname all-in-one.example.net --transient
  4. デプロイコマンドを入力します。使用しているの環境に該当するすべての .yaml ファイルを指定するようにしてください。

    [stack@all-in-one]$ sudo openstack tripleo deploy \
      --templates \
      --local-ip=$IP/$NETMASK \
      -e /usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml \
      -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml \
      -e $HOME/containers-prepare-parameters.yaml \
      -e $HOME/standalone_parameters.yaml \
      --output-dir $HOME \
      --standalone

デプロイメントが正常に完了したら、/home/$USER/.config/openstack ディレクトリーの clouds.yaml 設定ファイルを使用して、OpenStack サービスにクエリーを行い検証することができます。

[stack@all-in-one]$ export OS_CLOUD=standalone
[stack@all-in-one]$ openstack endpoint list

ダッシュボードにアクセスするには、http://192.168.25.2/dashboard にアクセスし、~/standalone-passwords.conf ファイルのデフォルトのユーザー名 admin および undercloud_admin_password を使用します。

[stack@all-in-one]$ cat standalone-passwords.conf | grep undercloud_admin_password:

第6章 オールインワン Red Hat OpenStack Platform 環境を使用した Ansible Playbook の作成

デプロイメントコマンドは、Ansible Playbook を自動的に環境に適用します。ただし、デプロイメントコマンドを変更して、Ansible Playbook をデプロイメントに適用せずに生成し、後で Playbook を実行することができます。

deploy コマンドに --output-only オプションを追加して、standalone-ansible-XXXXX ディレクトリーを生成します。このディレクトリーには、他のホストで実行することのできる Ansible Playbook のセットが含まれます。

手順

  1. Ansible Playbook ディレクトリーを生成するには、オプション --output-only を指定して deploy コマンドを入力します。

    [stack@all-in-one]$ sudo openstack tripleo deploy \
      --templates \
      --local-ip=$IP/$NETMASK \
      -e /usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml \
      -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml \
      -e $HOME/containers-prepare-parameters.yaml \
      -e $HOME/standalone_parameters.yaml \
      --output-dir $HOME \
      --standalone \
      --output-only
  2. Ansible Playbook を実行するには、ansible-playbook コマンドを入力し、inventory.yaml ファイルと deploy_steps_playbook.yaml ファイルを含めます。

    [stack@all-in-one]$ cd standalone-ansible-XXXXX
    [stack@all-in-one]$ sudo ansible-playbook -i inventory.yaml deploy_steps_playbook.yaml

第7章 heat テンプレートの使用

heat テンプレートと環境ファイルを使用して、オーバークラウドの特定の側面を定義します。

heat テンプレートは、3 つの主要なセクションで設定されます。

パラメーター

パラメーターは、heat に渡される設定です。これらのパラメーターを使用して、デフォルト値およびデフォルト以外の値の両方を定義およびカスタマイズします。テンプレートの parameters セクションで、これらのパラメーターを定義します。

リソース

リソースは、スタックの一部として作成および設定する固有のオブジェクトです。RHOSP には、全コンポーネントに対応するコアリソースのセットが含まれています。

出力

スタックの作成後に heat から渡される値です。これらの値には、heat API またはクライアントツールのいずれかを使用してアクセスできます。テンプレートの output セクションで、これらの値を定義します。

heat がテンプレートを処理する際には、テンプレートのスタックとリソーステンプレートの子スタックセットを作成します。このスタック階層は、テンプレートで定義するメインのスタックに由来します。以下のコマンドを使用して、スタックの階層を表示できます。

$ heat stack-list --show-nested

7.1. コア heat テンプレート

Red Hat OpenStack Platform (RHOSP) には、オーバークラウド用のコア Heat テンプレートのコレクションが含まれています。このコレクションは、/usr/share/openstack-tripleo-heat-templates ディレクトリーにあります。

このコレクションには、多数の heat テンプレートおよび環境ファイルが含まれます。メインのファイルおよびディレクトリーを使用してデプロイメントをカスタマイズできます。

overcloud.j2.yaml

このテンプレートファイルは、オーバークラウド環境を作成します。これは、Jinja2 構文を使用し、テンプレート内の特定のセクションを繰り返し処理してカスタムロールを作成します。オーバークラウドのデプロイメント中に、director は Jinja2 フォーマットを YAML にレンダリングします。

overcloud-resource-registry-puppet.j2.yaml

この環境ファイルは、オーバークラウド環境を作成します。これには、オーバークラウドイメージ上の Puppet モジュールの一連の設定が含まれています。director により各ノードにオーバークラウドのイメージが書き込まれると、heat はこの環境ファイルに登録されているリソースを使用して各ノードの Puppet 設定を開始します。このファイルでは Jinja2 構文を使用してテンプレートの特定セクションを繰り返し、カスタムロールを作成します。オーバークラウドのデプロイメント中に、director は Jinja2 フォーマットを YAML にレンダリングします。

roles_data.yaml

このファイルにはオーバークラウド内のロールの定義が含まれ、サービスを各ロールにマッピングします。

network_data.yaml

このファイルには、オーバークラウド内のネットワーク、およびそれらのサブネット、割り当てプール、VIP ステータス等の属性の定義が含まれます。デフォルトの network_data.yaml ファイルにはデフォルトのネットワーク (External、Internal Api、Storage、Storage Management、Tenant、Management) のみが含まれます。カスタムの network_data.yaml ファイルを作成し、-n オプションを使用して openstack overcloud deploy コマンドに追加することができます。

plan-environment.yaml

このファイルには、プラン名、使用するメインのテンプレート、オーバークラウドに適用する環境ファイル等、オーバークラウドプランのメタデータの定義が含まれます。

capabilities-map.yaml

このファイルには、オーバークラウドプランの環境ファイルのマッピングが含まれます。director の Web UI で環境ファイルを記述および有効化するには、このファイルを使用します。environments ディレクトリーにカスタム環境ファイルを含めても、これらのファイルを capabilities-map.yaml ファイルに定義しない場合、これらの環境ファイルは Web UI の Overall Settings ページの Other サブタブに表示されます。

environments

このディレクトリーには、オーバークラウドの作成に使用可能なその他の heat 環境ファイルが含まれます。これらの環境ファイルにより、RHOSP 環境の追加機能が有効になります。たとえば、cinder-netapp-config.yaml 環境ファイルを使用して、Block Storage サービス (cinder) のサードパーティーバックエンドストレージオプションを有効にすることができます。environments ディレクトリーにカスタム環境ファイルを含めても、これらのファイルを capabilities-map.yaml ファイルに定義しない場合、これらの環境ファイルは Web UI の Overall Settings ページの Other サブタブに表示されます。

network

このディレクトリーには、分離ネットワークおよびポートを作成するのに使用できる heat テンプレートのセットが含まれます。

puppet

このディレクトリーには、puppet テンプレートが含まれます。overcloud-resource-registry-puppet.j2.yaml 環境ファイルは、puppet ディレクトリーのファイルを使用して、各ノードに Puppet の設定が適用されるようにします。

puppet/services

このディレクトリーには、コンポーザブルサービスアーキテクチャー内の全サービス用の heat テンプレートが含まれます。

extraconfig

このディレクトリーには、追加機能を有効にするのに使用できるテンプレートが含まれます。たとえば、extraconfig/pre_deploy/rhel-registration ディレクトリーを使用して、ノードを Red Hat コンテンツ配信ネットワークまたは使用している Red Hat Satellite サーバーに登録することができます。

第8章 カスタムロールおよびカスタムサービスの使用

オールインワンの Red Hat OpenStack Platform (RHOSP) インストールは、すべての OpenStack サービスを含む単一ノードで実行されます。

/usr/share/openstack-tripleo-heat-templates/roles ディレクトリーの Standalone.yaml ロールファイルは、オールインワンインストールのすべてのサービスが含まれる設定ファイルです。Standalone.yaml ロールファイルのコピーを作成して変更し、インストール内のサービスを有効および無効にすることができます。

Standalone.yaml ファイルには、standalone ロールのサービスのリストが含まれています。以下の例を使用して、このファイルの構文を説明します。

- name: Standalone
  description: |
    A standalone role that includes a minimal set of services. Use this role for testing in a single node configuration with the `openstack tripleo deploy --standalone` command, or with the `openstack overcloud deploy` command.
  CountDefault: 1
  tags:
    - primary
    - controller
  disable_constraints: True
  ServicesDefault:
    - OS::TripleO::Services::Aide
    - OS::TripleO::Services::AodhApi
    - OS::TripleO::Services::AodhEvaluator
    ...
    - OS::TripleO::Services::Tuned
    - OS::TripleO::Services::Vpp
    - OS::TripleO::Services::Zaqar

このロールファイルをデプロイコマンドに追加して、Standalone ロールでスタックを設定します。このロールには、ロールファイルの ServicesDefault: セクションに含めたサービスが含まれます。

[stack@all-in-one]$ sudo openstack tripleo deploy --templates -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml

ただし、プロダクションのマルチノード Red Hat OpenStack Platform 環境では、すべてのサービスを単一のノードに含めるのではなく、OpenStack サービスの一部が含まれるロールを各ノードに割り当てます。たとえば、デフォルトの Controller ロールには管理、ネットワーク、および高可用性サービスが含まれ、デフォルトの Compute ロールにはコンピューティングサービスが含まれます。マルチノード環境のデフォルトのロールファイルは、/usr/share/openstack-tripleo-heat-templates/roles_data.yaml ファイルです。このファイルで、以下のロール種別を定義します。

  • Controller
  • Compute
  • BlockStorage
  • ObjectStorage
  • CephStorage

以下の例を使用して、マルチノード環境におけるロールの構文を説明します。

----` - name: Controller description: | Controller role that contains all of the services for database, messaging and network functions.ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient …​ - name: Compute description: | Basic Compute Node role ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient …​ ----`

デプロイメントコマンドを実行するたびに、ロールファイルを追加する必要があります。デプロイメントコマンドで -r 引数を使用し、このファイルをオーバーライドしてカスタムロールファイルを使用できます。

----` [stack@all-in-one]$ sudo openstack tripleo deploy --templates -r ~/templates/roles_data-custom.yaml ----`

8.1. オールインワン Red Hat OpenStack Platform 環境でのサービスの有効化および無効化

お使いの環境で個別のサービスを有効または無効にするには、以下の手順を実施します。

手順

  1. サービスを有効にするには、新しい環境ファイルを作成し、有効にするサービスから値 OS::Heat::None を削除します。

        - OS::TripleO::Services::<SERVICE>:

    この環境ファイルをデプロイメントコマンドに追加します。

  2. サービスを無効にするには、新しい環境ファイルを作成し、無効にするサービスに値 OS::Heat::None を含めます。

        - OS::TripleO::Services::<SERVICE>: OS::Heat::None

    この環境ファイルをデプロイメントコマンドに追加します。

第9章 例

以下の例を使用して、デプロイメント後に、さまざまなネットワーク設定でコンピュートインスタンスを起動する方法を説明します。

9.1. 例 1: プロジェクトネットワークおよびプロバイダーネットワークに 1 つの NIC を持つインスタンスの起動

この例を使用して、オールインワンの Red Hat OpenStack Platform (RHOSP) 環境をデプロイした後に、プライベートプロジェクトネットワークおよびプロバイダーネットワークを設定してインスタンスを起動する方法を説明します。以下の例は単一 NIC 設定がベースで、少なくとも 3 つの IP アドレスが必要です。

前提条件

  • OpenStack サービス用に 1 つの IP アドレス
  • プロジェクトネットワークへの接続を提供するために、仮想ルーター用に 1 つの IP アドレス。この例では、この IP アドレスは自動的に割り当てられます。
  • プロバイダーネットワーク上の Floating IP 用に、少なくとも 1 つの IP アドレス

手順

  1. 設定ヘルパー変数を作成します。

    # standalone with project networking and provider networking
    export OS_CLOUD=standalone
    export GATEWAY=192.168.25.1
    export STANDALONE_HOST=192.168.25.2
    export PUBLIC_NETWORK_CIDR=192.168.25.0/24
    export PRIVATE_NETWORK_CIDR=192.168.100.0/24
    export PUBLIC_NET_START=192.168.25.4
    export PUBLIC_NET_END=192.168.25.15
    export DNS_SERVER=1.1.1.1
  2. 基本のフレーバーを作成します。

    $ openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
  3. CirrOS をダウンロードし、OpenStack イメージを作成します。

    $ wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    $ openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
  4. SSH を設定します。

    $ ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem
    $ openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub default
  5. シンプルなネットワークセキュリティーグループを作成します。

    $ openstack security group create basic
  6. 新しいネットワークセキュリティーグループを設定します。

    1. SSH を有効にします。

      $ openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
    2. ping を有効にします。

      $ openstack security group rule create --protocol icmp basic
    3. DNS を有効にします。

      $ openstack security group rule create --protocol udp --dst-port 53:53 basic
  7. Neutron ネットワークを作成します。

    $ openstack network create --external --provider-physical-network datacentre --provider-network-type flat public
    $ openstack network create --internal private
    $ openstack subnet create public-net \
        --subnet-range $PUBLIC_NETWORK_CIDR \
        --no-dhcp \
        --gateway $GATEWAY \
        --allocation-pool start=$PUBLIC_NET_START,end=$PUBLIC_NET_END \
        --network public
    $ openstack subnet create private-net \
        --subnet-range $PRIVATE_NETWORK_CIDR \
        --network private
  8. 仮想ルーターを作成します。

    # NOTE: In this case an IP will be automatically assigned
    # from the allocation pool for the subnet.
    $ openstack router create vrouter
    $ openstack router set vrouter --external-gateway public
    $ openstack router add subnet vrouter private-net
  9. Floating IP を作成します。

    $ openstack floating ip create public
  10. インスタンスを起動します。

    $ openstack server create --flavor tiny --image cirros --key-name default --network private --security-group basic myserver
  11. Floating IP を割り当てます。

    $ openstack server add floating ip myserver <FLOATING_IP>
    • <FLOATING_IP> を、作成したフローティング IP のアドレスに置き換えます。
  12. SSH をテストします。

    ssh cirros@<FLOATING_IP>
    • <FLOATING_IP> を、作成したフローティング IP のアドレスに置き換えます。

ネットワークアーキテクチャー

Standalone1NIC Tenant Provider

9.2. 例 2: プロバイダーネットワークで 1 つの NIC を使用してインスタンスを起動する

この例を使用して、オールインワンの Red Hat OpenStack Platform 環境をデプロイした後に、プロバイダーネットワークを設定してインスタンスを起動する方法を説明します。この例は単一 NIC 設定がベースで、少なくとも 4 つの IP アドレスが必要です。

前提条件

  • OpenStack サービス用に 1 つの IP アドレス
  • プロジェクトネットワークへの接続を提供するために、仮想ルーター用に 1 つの IP アドレス。この例では、この IP アドレスは自動的に割り当てられます。
  • プロバイダーネットワーク上の DHCP 用に 1 つの IP アドレス
  • プロバイダーネットワーク上の Floating IP 用に、少なくとも 1 つの IP アドレス

手順

  1. 設定ヘルパー変数を作成します。

    # standalone with project networking and provider networking
    export OS_CLOUD=standalone
    export GATEWAY=192.168.25.1
    export STANDALONE_HOST=192.168.25.2
    export VROUTER_IP=192.168.25.3
    export PUBLIC_NETWORK_CIDR=192.168.25.0/24
    export PUBLIC_NET_START=192.168.25.4
    export PUBLIC_NET_END=192.168.25.15
    export DNS_SERVER=1.1.1.1
  2. 基本のフレーバーを作成します。

    $ openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
  3. CirrOS をダウンロードし、OpenStack イメージを作成します。

    $ wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    $ openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
  4. SSH を設定します。

    $ ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem
    $ openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub default
  5. シンプルなネットワークセキュリティーグループを作成します。

    $ openstack security group create basic
  6. 新しいネットワークセキュリティーグループを設定します。

    1. SSH を有効にします。

      $ openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
    2. ping を有効にします。

      $ openstack security group rule create --protocol icmp basic
  7. Neutron ネットワークを作成します。

    $ openstack network create --external --provider-physical-network datacentre --provider-network-type flat public
    $ openstack network create --internal private
    $ openstack subnet create public-net \
        --subnet-range $PUBLIC_NETWORK_CIDR \
        --gateway $GATEWAY \
        --allocation-pool start=$PUBLIC_NET_START,end=$PUBLIC_NET_END \
        --network public \
        --host-route destination=0.0.0.0/0,gateway=$GATEWAY \
        --dns-nameserver $DNS_SERVER
  8. インスタンスを起動します。

    $ openstack server create --flavor tiny --image cirros --key-name default --network public --security-group basic myserver
  9. SSH をテストします。

    ssh cirros@<VM_IP>
    • <VM_IP> を、作成した仮想マシンのアドレスに置き換えます。

ネットワークアーキテクチャー

Standalone1NIC Provider

9.3. 例 3: プロジェクトネットワークとプロバイダーネットワークで 2 つの NIC を使用してインスタンスを起動する

この例を使用して、オールインワンの Red Hat OpenStack Platform 環境をデプロイした後に、プライベートプロジェクトネットワークおよびプロバイダーネットワークを設定してインスタンスを起動する方法を説明します。この例はデュアル NIC 設定がベースで、プロバイダーネットワークに少なくとも 4 つの IP アドレスが必要です。

前提条件

  • プロバイダーネットワーク上のゲートウェイ用に 1 つの IP アドレス
  • OpenStack のエンドポイント用に 1 つの IP アドレス
  • プロジェクトネットワークへの接続を提供するために、仮想ルーター用に 1 つの IP アドレス。この例では、この IP アドレスは自動的に割り当てられます。
  • プロバイダーネットワーク上の Floating IP 用に、少なくとも 1 つの IP アドレス

手順

  1. 設定ヘルパー変数を作成します。

    # standalone with project networking and provider networking
    export OS_CLOUD=standalone
    export GATEWAY=192.168.25.1
    export STANDALONE_HOST=192.168.0.2
    export PUBLIC_NETWORK_CIDR=192.168.25.0/24
    export PRIVATE_NETWORK_CIDR=192.168.100.0/24
    export PUBLIC_NET_START=192.168.25.3
    export PUBLIC_NET_END=192.168.25.254
    export DNS_SERVER=1.1.1.1
  2. 基本のフレーバーを作成します。

    $ openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
  3. CirrOS をダウンロードし、OpenStack イメージを作成します。

    $ wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    $ openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
  4. SSH を設定します。

    $ ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem
    $ openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub default
  5. シンプルなネットワークセキュリティーグループを作成します。

    $ openstack security group create basic
  6. 新しいネットワークセキュリティーグループを設定します。

    1. SSH を有効にします。

      $ openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
    2. ping を有効にします。

      $ openstack security group rule create --protocol icmp basic
    3. DNS を有効にします。

      $ openstack security group rule create --protocol udp --dst-port 53:53 basic
  7. Neutron ネットワークを作成します。

    $ openstack network create --external --provider-physical-network datacentre --provider-network-type flat public
    $ openstack network create --internal private
    $ openstack subnet create public-net \
        --subnet-range $PUBLIC_NETWORK_CIDR \
        --no-dhcp \
        --gateway $GATEWAY \
        --allocation-pool start=$PUBLIC_NET_START,end=$PUBLIC_NET_END \
        --network public
    $ openstack subnet create private-net \
        --subnet-range $PRIVATE_NETWORK_CIDR \
        --network private
  8. 仮想ルーターを作成します。

    # NOTE: In this case an IP will be automatically assigned
    # from the allocation pool for the subnet.
    $ openstack router create vrouter
    $ openstack router set vrouter --external-gateway public
    $ openstack router add subnet vrouter private-net
  9. Floating IP を作成します。

    $ openstack floating ip create public
  10. インスタンスを起動します。

    $ openstack server create --flavor tiny --image cirros --key-name default --network private --security-group basic myserver
  11. Floating IP を割り当てます。

    $ openstack server add floating ip myserver <FLOATING_IP>
    • <FLOATING_IP> を、作成したフローティング IP のアドレスに置き換えます。
  12. SSH をテストします。

    ssh cirros@<FLOATING_IP>
    • <FLOATING_IP> を、作成したフローティング IP のアドレスに置き換えます。

ネットワークアーキテクチャー

Standalone2NIC Tenant Provider

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.