1.18.13. フェイルオーバー用のフェデレーションメッシュの設定
フェイルオーバーとは、別のサーバーなどの信頼性の高いバックアップシステムに自動的かつシームレスに切り替える機能です。フェデレーションメッシュの場合、あるメッシュのサービスを設定して、別のメッシュのサービスにフェイルオーバーすることができます。
ImportedServiceSet リソースで importAsLocal と locality の設定を指定してから、ImportedServiceSet で指定されたローカリティーへのサービスのフェイルオーバーを設定する DestinationRule を指定することにより、フェイルオーバーのフェデレーションを設定します。
前提条件
- 2 つ以上の OpenShift Container Platform 4.6 以降のクラスターがすでにネットワーク化およびフェデレーションされている。
-
フェデレーションメッシュのメッシュピアごとにすでに作成されている
ExportedServiceSetリソース。 -
フェデレーションメッシュのメッシュピアごとにすでに作成されている
ImportedServiceSetリソース。 -
cluster-adminロールを持つアカウントがある。
1.18.13.1. フェイルオーバー用の ImportedServiceSet の設定 リンクのコピーリンクがクリップボードにコピーされました!
ローカリティ加重負荷分散を使用すると、管理者は、トラフィックの発信元と終了場所のローカリティに基づいて、エンドポイントへのトラフィックの分散を制御できます。これらのローカリティは、{region}/{zone}/{sub-zone} 形式でローカリティの階層を指定する任意のラベルを使用して指定します。
このセクションの例では、green-meshは米国us-east地域にあり、us-eastはus-east地域にあります。
red-mesh から green-mesh への ImportedServiceSet リソースの例
kind: ImportedServiceSet
apiVersion: federation.maistra.io/v1
metadata:
name: red-mesh #name of mesh that exported the service
namespace: green-mesh-system #mesh namespace that service is being imported into
spec:
importRules: # first matching rule is used
# import ratings.bookinfo as ratings.bookinfo
- type: NameSelector
importAsLocal: true
nameSelector:
namespace: bookinfo
name: ratings
alias:
# service will be imported as ratings.bookinfo.svc.red-mesh-imports.local
namespace: bookinfo
name: ratings
#Locality within which imported services should be associated.
locality:
region: us-west
| 名前 | 説明 | タイプ |
|---|---|---|
| region: | インポートされたサービスが配置されている地域。 | 文字列 |
| サブゾーン: | インポートされたサービスが配置されているサブゾーン。サブゾーンが指定されている場合は、ゾーンも指定する必要があります。 | 文字列 |
| zone: | インポートされたサービスが配置されているゾーン。ゾーンを指定する場合は、リージョンも指定する必要があります。 | 文字列 |
手順
cluster-adminロールを持つユーザーとして OpenShift Container Platform CLI にログインし、次のコマンドを入力します。$ oc login --username=<NAMEOFUSER> <API token> https://<HOSTNAME>:6443Service Mesh コントロールプレーンをインストールしたプロジェクトに変更し、次のコマンドを入力します。
$ oc project <smcp-system>たとえば、
green-mesh-systemです。$ oc project green-mesh-systemImportedServiceSetファイルを編集します。ここで、<ImportedServiceSet.yaml>には、編集するファイルへのフルパスが含まれています。以下のコマンドを入力してください。$ oc edit -n <smcp-system> -f <ImportedServiceSet.yaml>たとえば、前の
ImportedServiceSetの例で示したように、red-mesh-system から green-mesh-system にインポートするファイルを変更する場合は、以下のようになります。$ oc edit -n green-mesh-system -f import-from-red-mesh.yamlファイルを変更します。
-
spec.importRules.importAsLocalをtrueに設定します。 -
spec.localityをregion、zone、またはsubzoneに設定します。 - 変更を保存します。
-