5.2. マルチクラスター設定の概要
マルチクラスタートポロジーを設定するには、次のアクションを実行する必要があります。
- 各クラスターに OpenShift Service Mesh Operator をインストールします。
- 各クラスターのルート証明書と中間証明書を作成するか、それらにアクセスできるようにします。
- 各クラスターにセキュリティー証明書を適用します。
- 各クラスターに Istio をインストールします。
5.2.1. マルチクラスタートポロジー用の証明書の作成 リンクのコピーリンクがクリップボードにコピーされました!
2 つのクラスターのルート証明書と中間認証局 (CA) 証明書を作成します。
前提条件
- OpenSSL がローカルにインストールされている。
手順
ルート CA 証明書を作成します。
次のコマンドを実行して、ルート証明書のキーを作成します。
openssl genrsa -out root-key.pem 4096
$ openssl genrsa -out root-key.pem 4096
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルート CA 証明書用に、
root-ca.conf
という名前の OpenSSL 設定証明書ファイルを作成します。ルート証明書設定ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して証明書署名要求を作成します。
openssl req -sha256 -new -key root-key.pem \ -config root-ca.conf \ -out root-cert.csr
$ openssl req -sha256 -new -key root-key.pem \ -config root-ca.conf \ -out root-cert.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、共有ルート証明書を作成します。
openssl x509 -req -sha256 -days 3650 \ -signkey root-key.pem \ -extensions req_ext -extfile root-ca.conf \ -in root-cert.csr \ -out root-cert.pem
$ openssl x509 -req -sha256 -days 3650 \ -signkey root-key.pem \ -extensions req_ext -extfile root-ca.conf \ -in root-cert.csr \ -out root-cert.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
East クラスターの中間 CA 証明書を作成します。
次のコマンドを実行して、
east
という名前のディレクトリーを作成します。mkdir east
$ mkdir east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、East クラスターの中間証明書のキーを作成します。
openssl genrsa -out east/ca-key.pem 4096
$ openssl genrsa -out east/ca-key.pem 4096
Copy to Clipboard Copied! Toggle word wrap Toggle overflow East クラスターの中間証明書用に、
east/
ディレクトリーに、intermediate.conf
という名前の OpenSSL 設定ファイルを作成します。次のサンプルファイルをコピーしてローカルに保存します。設定ファイルのサンプル
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して証明書署名要求を作成します。
openssl req -new -config east/intermediate.conf \ -key east/ca-key.pem \ -out east/cluster-ca.csr
$ openssl req -new -config east/intermediate.conf \ -key east/ca-key.pem \ -out east/cluster-ca.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、East クラスターの中間 CA 証明書を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、east クラスターの中間 CA 証明書とルート CA 証明書から証明書チェーンを作成します。
cat east/ca-cert.pem root-cert.pem > east/cert-chain.pem && cp root-cert.pem east
$ cat east/ca-cert.pem root-cert.pem > east/cert-chain.pem && cp root-cert.pem east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
West クラスターの中間 CA 証明書を作成します。
次のコマンドを実行して、
west
という名前のディレクトリーを作成します。mkdir west
$ mkdir west
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、West クラスターの中間証明書のキーを作成します。
openssl genrsa -out west/ca-key.pem 4096
$ openssl genrsa -out west/ca-key.pem 4096
Copy to Clipboard Copied! Toggle word wrap Toggle overflow West クラスターの中間証明書用に、
west/
ディレクトリーにintermediate.conf
という名前の OpenSSL 設定ファイルを作成します。次のサンプルファイルをコピーしてローカルに保存します。設定ファイルのサンプル
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して証明書署名要求を作成します。
openssl req -new -config west/intermediate.conf \ -key west/ca-key.pem \ -out west/cluster-ca.csr
$ openssl req -new -config west/intermediate.conf \ -key west/ca-key.pem \ -out west/cluster-ca.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して証明書を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して証明書チェーンを作成します。
cat west/ca-cert.pem root-cert.pem > west/cert-chain.pem && cp root-cert.pem west
$ cat west/ca-cert.pem root-cert.pem > west/cert-chain.pem && cp root-cert.pem west
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.2. マルチクラスタートポロジーへの証明書の適用 リンクのコピーリンクがクリップボードにコピーされました!
マルチクラスタートポロジー内のクラスターにルートおよび中間認証局 (CA) 証明書を適用します。
この手順では、CLUSTER1
は East クラスター、CLUSTER2
は West クラスターです。
前提条件
- 外部ロードバランサーをサポートする 2 つの OpenShift Container Platform クラスターにアクセスできる。
- 各クラスターのルート CA 証明書と中間 CA 証明書を自分で作成したか、またはそれらが誰かによって用意されている。
手順
マルチクラスタートポロジーの East クラスターに証明書を適用します。
次のコマンドを実行して、East クラスターにログインします。
oc login -u https://<east_cluster_api_server_url>
$ oc login -u https://<east_cluster_api_server_url>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、East クラスターの
oc
コマンドコンテキストを含む環境変数を設定します。export CTX_CLUSTER1=$(oc config current-context)
$ export CTX_CLUSTER1=$(oc config current-context)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
istio-system
というプロジェクトを作成します。oc get project istio-system --context "${CTX_CLUSTER1}" || oc new-project istio-system --context "${CTX_CLUSTER1}"
$ oc get project istio-system --context "${CTX_CLUSTER1}" || oc new-project istio-system --context "${CTX_CLUSTER1}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、East クラスターの Pod のデフォルトネットワークとして
network1
を使用するように Istio を設定します。oc --context "${CTX_CLUSTER1}" label namespace istio-system topology.istio.io/network=network1
$ oc --context "${CTX_CLUSTER1}" label namespace istio-system topology.istio.io/network=network1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、East クラスター上の Istio の CA 証明書、証明書チェーン、および秘密鍵を作成します。
oc get secret -n istio-system --context "${CTX_CLUSTER1}" cacerts || oc create secret generic cacerts -n istio-system --context "${CTX_CLUSTER1}" \ --from-file=east/ca-cert.pem \ --from-file=east/ca-key.pem \ --from-file=east/root-cert.pem \ --from-file=east/cert-chain.pem
$ oc get secret -n istio-system --context "${CTX_CLUSTER1}" cacerts || oc create secret generic cacerts -n istio-system --context "${CTX_CLUSTER1}" \ --from-file=east/ca-cert.pem \ --from-file=east/ca-key.pem \ --from-file=east/root-cert.pem \ --from-file=east/cert-chain.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記「マルチクラスターメッシュの証明書の作成」の手順に従った場合、証明書は
east/
ディレクトリーに保存されます。証明書が別のディレクトリーに存在する場合は、それに応じて構文を変更してください。
マルチクラスタートポロジーの West クラスターに証明書を適用します。
次のコマンドを実行して、West クラスターにログインします。
oc login -u https://<west_cluster_api_server_url>
$ oc login -u https://<west_cluster_api_server_url>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、West クラスターの
oc
コマンドコンテキストを含む環境変数を設定します。export CTX_CLUSTER2=$(oc config current-context)
$ export CTX_CLUSTER2=$(oc config current-context)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
istio-system
というプロジェクトを作成します。oc get project istio-system --context "${CTX_CLUSTER2}" || oc new-project istio-system --context "${CTX_CLUSTER2}"
$ oc get project istio-system --context "${CTX_CLUSTER2}" || oc new-project istio-system --context "${CTX_CLUSTER2}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、West クラスター上の Pod のデフォルトネットワークとして
network2
を使用するように Istio を設定します。oc --context "${CTX_CLUSTER2}" label namespace istio-system topology.istio.io/network=network2
$ oc --context "${CTX_CLUSTER2}" label namespace istio-system topology.istio.io/network=network2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、West クラスター上の Istio の CA 証明書シークレットを作成します。
oc get secret -n istio-system --context "${CTX_CLUSTER2}" cacerts || oc create secret generic cacerts -n istio-system --context "${CTX_CLUSTER2}" \ --from-file=west/ca-cert.pem \ --from-file=west/ca-key.pem \ --from-file=west/root-cert.pem \ --from-file=west/cert-chain.pem
$ oc get secret -n istio-system --context "${CTX_CLUSTER2}" cacerts || oc create secret generic cacerts -n istio-system --context "${CTX_CLUSTER2}" \ --from-file=west/ca-cert.pem \ --from-file=west/ca-key.pem \ --from-file=west/root-cert.pem \ --from-file=west/cert-chain.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記「マルチクラスターメッシュの証明書の作成」の手順に従った場合、証明書は
west/
ディレクトリーに保存されます。証明書が別のディレクトリーに存在する場合は、それに応じて構文を変更します。
次のステップ
メッシュトポロジーを構成するすべてのクラスターに Istio をインストールします。