第18章 Red Hat Virtualization の設定
OpenShift Container Platform を Red Hat Virtualization を使用するように設定できます。
18.1. Red Hat Virtualization オブジェクトの設定
OpenShift Container Platform を Red Hat Virtualization と統合するには、ホストの準備の一環として以下のアクションを実行します。
- 1 つのハイパーバイザーホストが失われる場合に高可用性を確保するには、インスタンスの各クラスをネガティブアフィニティーグループに追加します。「VM Affinity」を参照してください。
OpenShift Container Platform 環境が最小限のハードウェア要件を満たすことを確認するために、以下のリソースを使用する仮想マシンのテンプレートを作成します。
マスターノード
- 最低 2 CPU コア
- 16 GB メモリー
- 最低 10 GB のルートディスク
- 最低 15 GB のコンテナーイメージレジストリーディスク
- 30 GB のローカルボリュームディスク
- 最低 25 GB の etcd ディスク
インフラストラクチャーノード
- 最低 2 CPU コア
- 16 GB メモリー
- 最低 10 GB のルートディスク
- 最低 15 GB のコンテナーイメージレジストリーディスク
- 30 GB のローカルボリュームディスク
- 最低 25 GB の Gluster レジストリーディスク
アプリケーションノード
- 2 CPU コア
- 8 GB メモリー
- 最低 10 GB のルートディスク
- 最低 15 GB のコンテナーイメージレジストリーディスク
- 30 GB のローカルボリュームディスク
ロードバランサーノード
- 1 CPU コア
- 4 GB メモリー
- 10 GB のルートディスク
- マスター、インフラストラクチャー、アプリケーションノード、およびロードバランサーノードを作成します。作成したテンプレートを使用します。
- ルーターの DNS エントリーを作成します。すべてのインフラストラクチャーインスタンスのエントリーを指定し、ルーターがトラフィックをアプリケーションに渡せるようにラウンドロビン (Round-Robin) ストラテジーを設定します。
- OpenShift Container Platform Web コンソールの DNS エントリーを作成します。ロードバランサーノードの IP アドレスを指定します。
- Red Hat Virtualization を使用するには、GlusterFS などの外部ストレージを、レジストリーイメージの永続ストレージおよびアプリケーションストレージ用として指定する必要があります。
18.2. OpenShift Container Platform での Red Hat Virtualization の設定
OpenShift Container Platform での Red Hat Virtualization の設定は、クラスターのインストール前に Ansible インベントリーファイルを変更して実行できます。
デフォルトで /etc/ansible/hosts にある Ansible インベントリーファイルを変更して、以下の YAML セクションを使用します。
[OSEv3:children] nodes masters etcd glusterfs_registry lb [OSEv3:vars] # General variables ansible_ssh_user=root openshift_deployment_type=openshift-enterprise openshift_release='3.10' openshift_master_cluster_method=native debug_level=2 openshift_debug_level="{{ debug_level }}" openshift_node_debug_level="{{ node_debug_level | default(debug_level, true) }}" openshift_enable_service_catalog=False app_dns_prefix=apps public_hosted_zone=example.com load_balancer_hostname=lb.{{public_hosted_zone}} openshift_master_cluster_hostname="{{ load_balancer_hostname }}" openshift_master_cluster_public_hostname="{{ load_balancer_hostname }}" openshift_master_default_subdomain="{{ app_dns_prefix }}.{{ public_hosted_zone }}" # Pod Networking os_sdn_network_plugin_name=redhat/openshift-ovs-networkpolicy # Registry openshift_hosted_registry_storage_kind=glusterfs # Authentication (example here creates one user, myuser with password changeme) openshift_master_identity_providers="[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'True', 'kind': 'HTPasswdPasswordIdentityProvider', 'filename': '/etc/origin/master/htpasswd'}]" openshift_master_htpasswd_users={'myuser': '$apr1$zAhyA9Ko$rBxBOwAwwtRuuaw8OtCwH0'} # Docker and extra file system setup container_runtime_docker_storage_setup_device=/dev/vdb container_runtime_docker_storage_type=overlay2 openshift_docker_use_system_container=False openshift_node_local_quota_per_fsgroup=512Mi 1 openshift_use_system_containers=False [masters] master0.example.com master1.example.com master2.example.com [etcd] master0.example.com master1.example.com master2.example.com [infras] infra0.example.com infra1.example.com infra2.example.com [glusterfs_registry] infra0.example.com glusterfs_devices="['/dev/vdd']" infra1.example.com glusterfs_devices="['/dev/vdd']" infra2.example.com glusterfs_devices="['/dev/vdd']" [lb] lb.example.com [nodes] master0.example.com openshift_node_group_name=node-config-master master1.example.com openshift_node_group_name=node-config-master master2.example.com openshift_node_group_name=node-config-master infra0.example.com openshift_node_group_name=node-config-infra infra1.example.com openshift_node_group_name=node-config-infra infra2.example.com openshift_node_group_name=node-config-infra app0.example.com openshift_node_group_name=node-config-compute app1.example.com openshift_node_group_name=node-config-compute app2.example.com openshift_node_group_name=node-config-compute
- 1
openshift_node_local_quota_per_fsgroup
パラメーターを使用する場合、/var/lib/origin/openshift.local.volumes
のディレクトリーに使用するパーティションまたは LVM を指定する必要があります。パーティションは fstab のgquota
のオプションを指定してマウントする必要があります。
このインベントリーファイルは以下のノードおよびディスクを使用します。
- 1 つのロードバランサーインスタンス
3 つのマスターインスタンス
- 割り当てられる追加ディスク: コンテナーイメージレジストリー用に 15 GB、ローカルボリュームストレージ用に 30 GB、および etcd 用に 25 GB
3 つのインフラストラクチャーインスタンス
- 割り当てられる追加ディスク: Docker 用に 15 GB、ローカルボリュームストレージ用に 30 GB、および GlusterFS レジストリー用に 25 GB (このクラスターは永続ストレージとして GlusterFS を使用するため)
1つ以上のアプリケーションインスタンス
- 割り当てられる追加ディスク: Docker 用に 15 GB、ローカルボリュームストレージ用に 30 GB
- 「Installing OpenShift Container Platform」の手順に従ってクラスターのインストールを継続します。このプロセスで、クラスターが必要とするインベントリーファイルへの変更を行います。