Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

35.2.2.2. 明示的な接続の設定

この設定では、各 IPSec ノード設定がクラスター内の他のすべてのノードの設定を明示的に一覧表示する必要があります。各ノードで Ansible などの設定管理ツールを使用してこのファイルを生成することが推奨されます。

注記

node-config.yaml ファイルは手動で変更しないようにしてください。クラスターのノードを変更するには、ノード設定マップ を必要に応じて更新します。

また、この設定では各ノードの完全な証明書サブジェクトをその他のノードの設定に配置する必要があります。

  1. openssl を使用して、このサブジェクトをノードの証明書から読み取ります。

    # openssl x509 \
      -in /path/to/client-certificate -text | \
      grep "Subject:" | \
      sed 's/[[:blank:]]*Subject: //'
  2. 以下の行を、クラスター内の他のすべてのノードの各ノードの /etc/ipsec.d/openshift-cluster.conf ファイルに配置します。

    conn <other_node_hostname>
            left=<this_node_ip> 1
            leftid="CN=<this_node_cert_nickname>" 2
            leftrsasigkey=%cert
            leftcert=<this_node_cert_nickname> 3
            right=<other_node_ip> 4
            rightid="<other_node_cert_full_subject>" 5
            rightrsasigkey=%cert
            auto=start
            keyingtries=%forever
    	encapsulation=yes 6
    1
    <this_node_ip> をこのノードのクラスター IP アドレスに置き換えます。
    2 3
    <this_node_cert_nickname> を手順 1 のノードの証明書ニックネームに置き換えます。
    4
    <other_node_ip> を他のノードのクラスター IP アドレスに置き換えます。
    5
    <other_node_cert_full_subject> を上記の他のノードの証明書に置き換えます。たとえば、"O=system:nodes,CN=openshift-node-45.example.com" のようになります。
    6
    NAT を使用しない場合は、カプセル化を強制するには、設定に encapsulation=yes を含める必要があります。Amazon および Azure 内部クラウドネットワークは、IPsec ESP または AH パケットをルーティングしません。これらのパケットは UDP でカプセル化する必要があり、設定されている場合は、NAT の検出が UDP のカプセル化で ESP を設定します。NAT を使用する場合、または前述のネットワーク/クラウドプロバイダーの制限を受けていない場合は、このパラメーターと値を省略してください。
  3. 以下を各ノードの /etc/ipsec.d/openshift-cluster.secrets ファイルに配置します。

    : RSA "<this_node_cert_nickname>" 1
    1
    <this_node_cert_nickname> を手順 1 のノードの証明書ニックネームに置き換えます。