Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

4.2. クラスター変数の設定

Ansible インストール時にグローバルクラスター環境変数を割り当てるには、それらを /etc/ansible/hosts ファイルの [OSEv3:vars] セクションに追加します。それぞれのパラメーター値を別個の行に配置する必要があります。以下は例になります。

[OSEv3:vars]

openshift_master_identity_providers=[{'name': 'htpasswd_auth',
'login': 'true', 'challenge': 'true',
'kind': 'HTPasswdPasswordIdentityProvider',}]

openshift_master_default_subdomain=apps.test.example.com
重要

Ansible インベントリーファイルのパラメーター値に、#, { or } などの特殊文字が含まれている場合、値をダブルエスケープ (double-escape) する必要があります (値を単一と二重引用符で囲みます)。たとえば、mypasswordwith###hashsigns を変数 openshift_cloudprovider_openstack_password の値として使用し、これを Ansible ホストインベントリーファイルで openshift_cloudprovider_openstack_password='"mypasswordwith###hashsigns"' として宣言します。

以下の表は、Ansible インストーラーで使用するグローバルクラスター変数について説明しています。

表4.1 一般的なクラスター変数

変数目的

ansible_ssh_user

この変数はインストーラーで使用する SSH ユーザーを設定します。これは、デフォルトでは root になります。このユーザーは、パスワードなしで SSH ベースの認証を許可する必要があります。SSH キーベースの認証を使用する場合、そのキーは SSH エージェントで管理される必要があります。

ansible_become

ansible_ssh_userroot でない場合、この変数は true に設定する必要があり、ユーザーをパスワードレスの sudo 用に設定する必要があります。

debug_level

この変数は、 ログを systemd-journald.service に記録する INFO メッセージを設定します。以下のいずれかを設定します。

  • 0: エラーおよび警告のみをログに記録
  • 2: 通常の情報をログに記録 (これはデフォルトのレベルです)
  • 4: デバッグレベルの情報をログに記録
  • 6: API レベルのデバッグ情報 (要求/応答) をログに記録
  • 8: 本体レベルの API デバッグ情報をログに記録

デバッグログのレベルについての詳細は、「ロギングレベルの設定」を参照してください。

openshift_clock_enabled

クラスターノードでネットワークタイムプロトコル (NTP) を有効にするかどうか。デフォルト値は true です。

chrony パッケージがインストールされている場合、これは NTP サービスを提供するように設定されます。chrony パッケージがインストールされない場合、インストール Playbook が ntp パッケージをインストールし、設定して NTP サービスを提供します。

重要

クラスター内のマスターおよびノードが同期されなくなる状態を防ぐには、このパラメーターのデフォルト値を変更しないでください。

openshift_master_admission_plugin_config

この変数は、インベントリーホストファイルの要件に基づいてパラメーターと任意の JSON 値を設定します。以下は例になります。

openshift_master_admission_plugin_config={"ClusterResourceOverride":{"configuration":{"apiVersion":"v1","kind":"ClusterResourceOverrideConfig","memoryRequestToLimitPercent":"25","cpuRequestToLimitPercent":"25","limitCPUToMemoryPercent":"200"}}}

この値では、openshift_master_admission_plugin_config={"openshift.io/ImagePolicy":{"configuration":{"apiVersion":"v1","executionRules":[{"matchImageAnnotations":[{"key":"images.openshift.io/deny-execution","value":"true"}],"name":"execution-denied","onResources":[{"resource":"pods"},{"resource":"builds"}],"reject":true,"skipOnResolutionFailure":true}],"kind":"ImagePolicyConfig"}}} がデフォルトのパラメーター値になります。

重要

カスタム設定を追加する必要がある場合でも、デフォルトの openshift_master_admission_plugin_config 値を含める必要があります。

openshift_master_audit_config

この変数は API サービスの監査を有効にします。詳細は、「監査の設定」を参照してください。

openshift_master_audit_policyfile

監査ポリシーファイルの場所を指定します。詳細は、「監査ポリシー設定」について参照してください。

openshift_master_cluster_hostname

この変数はクラスターのホスト名を上書きします。 デフォルトはマスターのホスト名です。

openshift_master_cluster_public_hostname

この変数はクラスターのパブリックホスト名を上書きします。デフォルトはマスターのホスト名です。 外部ロードバランサーを使用する場合は、外部ロードバランサーのアドレスを指定します。

以下は例になります。

openshift_master_cluster_public_hostname=openshift-ansible.public.example.com

openshift_master_cluster_method

オプション。この変数は複数マスターのデプロイ時の HA メソッドを定義します。native メソッドをサポートします。詳細は、「複数マスター」を参照してください。

openshift_rolling_restart_mode

この変数は、アップグレード Playbook を直接実行する時に HA マスターのローリング再起動 (例: マスターは一度に 1 つずつ停止します) を有効にします。これはデフォルトで services となっており、マスターでのサービスのローリング再起動を許可します。また system に設定することもでき、これによりマスターノードのローリングおよび完全な再起動が可能になります。

マスターのローリング再起動は、アップグレード時に提供される Ansible Hook を使用して追加の変更を適用するのに必要になる場合があります。実行するように選択するタスクに応じて、サービスを再起動するためにホストの再起動が必要になる可能性があります。

openshift_master_identity_providers

この変数は、アイデンティティープロバイダーを設定します。デフォルト値は Deny All です。サポートされているアイデンティティープロバイダーを使用する場合は、OpenShift Container Platform をそれを使用するように設定します。複数のアイデンティティープロバイダーを設定できます。

openshift_master_named_certificates

これらの変数は、インストールの一部としてデプロイされるカスタム証明書を設定するために使用されます。詳細は、「カスタム証明書の設定」を参照してください。

openshift_master_overwrite_named_certificates

openshift_hosted_router_certificate

ホストされているルーターのカスタム証明書の場所を指定します。

openshift_master_ca_certificate

単一証明書、および OpenShift Container Platform 証明書に署名するキーを指定します。「新規またはカスタムの OpenShift Container Platform CA の再デプロイ」を参照してください。

openshift_additional_ca

openshift_master_ca_certificate パラメーターの証明書が中間証明書で署名される場合、CA の中間証明書とルート証明書の完全なチェーンが含まれているバンドルされた証明書を指定します。「新規またはカスタムの OpenShift Container Platform CA の再デプロイ」を参照してください。

openshift_redeploy_service_signer

パラメーターが false に設定されている場合、サービス署名側は openshift-master/redeploy-certificates.yml Playbook の実行時に再デプロイされません。デフォルト値は true です。

openshift_hosted_registry_cert_expire_days

自動生成されるレジストリー証明書の有効日数。デフォルトで 730 (2 年) に設定されます。

openshift_ca_cert_expire_days

自動生成される CA 証明書の有効日数。デフォルトで 1825 (5 年) に設定されます。

openshift_master_cert_expire_days

自動生成されるマスター証明書の有効日数。デフォルトで 730 (2 年) に設定されます。

etcd_ca_default_days

自動生成される外部 etcd 証明書の有効日数。etcd CA、ピア、サーバー、クライアント証明書の有効性を管理します。デフォルトで 1825 (5 年) に設定されます。

openshift_certificate_expiry_warning_days

この日数内に有効期限が切れる証明書のあるクラスターへのアップグレードを停止します。デフォルトは 365 (1 年) に設定されます。

openshift_certificate_expiry_fail_on_warn

自動生成された証明書が openshift_certificate_expiry_warning_days パラメーターで指定された期間に無効になる場合にアップグレードが失敗するかどうか。デフォルトは True に設定されます。

os_firewall_use_firewalld

true に設定され、デフォルトの iptables ではなく firewalld が使用されます。RHEL Atomic Host では利用できません。詳細は「ファイアウォールの設定」のセクションを参照してください。

openshift_master_session_name

これらの変数は OAuth 設定のセッションオプションのデフォルトを上書きします。詳細は「セッションオプションの設定」を参照してください。

openshift_master_session_max_seconds

openshift_master_session_auth_secrets

openshift_master_session_encryption_secrets

openshift_master_image_policy_config

マスター設定で imagePolicyConfig を設定します。詳細は「イメージ設定」を参照してください。

openshift_router_selector

ルーター Pod を自動的にデプロイするためのデフォルトのノードセレクター。詳細は、「ノードホストラベルの設定」を参照してください。

openshift_registry_selector

レジストリー Pod を自動的にデプロイするためのデフォルトのノードセレクター。詳細は、「ノードホストラベルの設定」を参照してください。

openshift_template_service_broker_namespaces

この変数は、ブローカーが提供するテンプレートの 1 つ以上の namespace を指定することでテンプレートサービスブローカーを有効にします。

openshift_master_bootstrap_auto_approve

この変数は TLS ブートストラップの自動承認を有効にします。Amazon Web Services (AWS) クラスターでクラスターの自動スケーラー を有効にする場合は true に設定します。デフォルト値は false です。

ansible_service_broker_node_selector

Ansible サービスブローカー Pod を自動的にデプロイするためのデフォルトのノードセレクター。デフォルトは {"node-role.kubernetes.io/infra":"true"}。詳細は、「ノードホストラベルの設定」を参照してください。

osm_default_node_selector

この変数は、Pod を配置する際にプロジェクトがデフォルトで使用するノードセレクターを上書きします。これは、マスター設定ファイルの projectConfig.defaultNodeSelector フィールドで定義されています。これが定義されていない場合はデフォルトで node-role.kubernetes.io/compute=true に設定されます。

openshift_docker_additional_registries

OpenShift Container Platform は指定された追加レジストリーを docker 設定に追加します。これらは検索対象のレジストリーです。このレジストリーへのアクセスに必要なレジストリーが 80 以外の場合は、<address>:<port> の形式でポート番号を含める必要があります。

以下は例になります。

openshift_docker_additional_registries=example.com:443
注記

クラスターを別のレジストリーを使用するように設定する必要がある場合は、openshift_docker_additional_registries を使用するのではなく、oreg_url を設定します。

openshift_docker_insecure_registries

OpenShift Container Platform は指定された追加の非セキュアなレジストリーを docker 設定に追加します。それらのレジストリーの SSL (Secure Sockets Layer) は検証されません。ホスト名またはホストの IP アドレスに設定できます。0.0.0.0/0 は IP アドレスの有効な設定ではありません。

openshift_docker_blocked_registries

OpenShift Container Platform は指定されたブロック済みレジストリーを docker 設定に追加します。これは一覧表示されるレジストリーをブロックします。これを all に設定すると、他の変数で使用されていないすべてのレジストリーがブロックされます。

openshift_docker_ent_reg

openshift_deployment_typeopenshift-enterprise に設定されている場合にコンテナーランタイムによって信頼される追加のレジストリー。デフォルトは registry.redhat.io です。openshift_docker_ent_reg='' を設定する場合、registry.redhat.iodocker 設定に追加されません。

openshift_metrics_hawkular_hostname

この変数は、マスター設定でクラスターメトリクスの metricsPublicURL を上書きすることで、メトリクスコンソールと統合するホスト名を設定します。この変数を変更する場合は、ホスト名がルーター経由でアクセスできることを確認してください。

openshift_clusterid

この変数は AWS アベイラビリティーゾーン固有のクラスター識別子です。これを使用することで、複数のゾーンまたは複数のクラスターを持つ Amazon Web Service (AWS) での潜在的な問題を回避することができます。詳細は「AWS のクラスターへのラベル付け」を参照してください。

openshift_image_tag

この変数を使用して、インストールまたは設定するコンテナーイメージタグを指定します。

openshift_pkg_version

この変数を使用して、インストールまたは設定する RPM バージョンを指定します。

警告

クラスターのセットアップ後に openshift_image_tag または openshift_pkg_version 変数を変更する場合はアップグレードがトリガーされ、ダウンタイムが発生します。

  • openshift_image_tag が設定されている場合、この値は別のバージョンがインストールされている場合でもシステムコンテナー環境のすべてのホストに使用されます。if
  • openshift_pkg_version が設定されている場合、この値は別のバージョンがインストールされている場合でも RPM ベースの環境のすべてのホストに使用されます。

表4.2 ネットワーク変数

変数目的

openshift_master_default_subdomain

この変数は、公開されるルートに使用するデフォルトのサブドメインを上書きします。この変数の値は、小文字の英数字またはダッシュ (-) で構成される必要があります。アルファベット文字で始まり、英数字の文字で終了する必要があります。

os_sdn_network_plugin_name

この変数は、どの OpenShift SDN プラグインを Pod ネットワークに使用するかを設定します。これは、標準の SDN プラグインでは、redhat/openshift-ovs-subnet がデフォルトになります。マルチテナント SDN プラグインを使用するには、変数を redhat/openshift-ovs-multitenant に設定します。

osm_cluster_network_cidr

この変数は SDN クラスターネットワーク CIDR ブロックを上書きします。これは、Pod IP の割り当て元のネットワークです。このブロックは非公開ブロックとし、Pod、ノード、またはマスターがアクセスする必要のある可能性があるインフラストラクチャーの既存のネットワークブロックと競合しないようにする必要があります。デフォルトは 10.128.0.0/14 であり、デプロイ後は SDN マスター設定でこれに一部の変更を加えられることがありますが、任意に再設定することはできません。

openshift_portal_net

この変数は、サービスOpenShift Container Platform SDN 内で作成する際のサブネットを設定します。このブロックは非公開とし、Pod、ノード、またはマスターがアクセスする必要の可能性があるインフラストラクチャーの既存のネットワークブロックと競合しないようにする必要があります。デフォルトは 172.30.0.0/16 で、デプロイメント後に再設定することはできません。デフォルトは 172.30.0.0/16 であり、デプロイ後はこれを再設定することはできません。 デフォルトを変更する場合は、docker0 ネットワークブリッジがデフォルトで使用する 172.17.0.0/16 の使用を避けるようにするか、または docker0 ネットワークを変更します。

osm_host_subnet_length

この変数は、OpenShift Container Platform SDN により Pod IP のホストごとに割り当てられるサブネットのサイズを指定します。デフォルトは 9 であり、これは各ホストにサイズが /23 のサブネットが割り当てられることを意味します (例: デフォルトの 10.128.0.0/14 クラスターネットワーク)。これは、10.128.0.0/23、10.128.2.0/23、10.128.4.0/23 などを割り当てます。これはデプロイ後に再設定することはできません。

openshift_node_proxy_mode

この変数は、使用するサービスプロキシーモードを指定します。 iptables (デフォルトの純粋な iptables 実装) または userspace (ユーザー空間プロキシー) のいずれかを指定します。

openshift_use_flannel

この変数は、デフォルトの SDN の代わりに flannel を代替ネットワーキングレイヤーとして有効にします。flannel を有効にする場合は、openshift_use_openshift_sdn 変数を使用してデフォルトの SDN を無効にしてください。詳細は、「Flannel の使用」を参照してください。

openshift_use_openshift_sdn

OpenShift SDN プラグインを無効にするには、false に設定します。

openshift_sdn_vxlan_port

この変数は、cluster networkvxlan port 番号を設定します。デフォルトは 4789 に設定されます。詳細は、「クラスターネットワークの VXLAN ポートの変更」を参照してください。

openshift_node_sdn_mtu

この変数は、OpenShift SDN に使用する MTU サイズを指定します。値は、ノードのプライマリーネットワークインターフェースの MTU よりも 50 バイト未満である必要があります。たとえば、プライマリーネットワークインターフェースに MTU が 1500 の場合、この値は 1450 になります。デフォルト値は 1450 です。