2.3.4.8. Red Hat OpenShift Service Mesh のバージョン 1.1 からバージョン 2.0 への移行
バージョン 1.1 から 2.0 にアップグレードするには、ワークロードとアプリケーションを、新しいバージョンを実行する Red Hat OpenShift Service Mesh の新しいインスタンスに移行する手動の手順が必要です。
前提条件
- Red Hat OpenShift Service Mesh 2.0 にアップグレードする前に、OpenShift Container Platform 4.7 にアップグレードする必要があります。
- Red Hat OpenShift Service Mesh バージョン 2.0 Operator が必要です。自動 アップグレードパスを選択した場合、Operator は最新の情報を自動的にダウンロードします。ただし、Red Hat OpenShift Service Mesh バージョン 2.0 の機能を使用するには、特定の手順を実行する必要があります。
2.3.4.8.1. Red Hat OpenShift Service Mesh のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service Mesh をアップグレードするには、新しい namespace に Red Hat OpenShift Service Mesh ServiceMeshControlPlane v2 リソースのインスタンスを作成する必要があります。次に、設定後にマイクロサービスアプリケーションおよびワークロードを古いメッシュから新規の Service Mesh に移動します。
手順
v1
ServiceMeshControlPlaneリソース設定をチェックし、これが有効であることを確認します。以下のコマンドを実行して、
ServiceMeshControlPlaneリソースを v2 リソースとして表示します。$ oc get smcp -o yaml-
無効なフィールドの情報は、出力の
spec.techPreview.errored.messageフィールドを確認してください。 - v1 リソースに無効なフィールドがある場合は、リソースは調整されず、v2 リソースとして編集することはできません。v2 フィールドへの更新はすべて、元の v1 設定で上書きされます。無効なフィールドを修正するには、リソースの v1 バージョンを置き換えるか、パッチを適用するか、編集できます。リソースを修正せずに削除することもできます。リソースの修正後に調整でき、リソースの v2 バージョンを変更または表示できます。
ファイルを編集してリソースを修正するには、
oc getを使用してリソースを取得し、テキストファイルをローカルで編集し、リソースを編集したファイルに置き換えます。$ oc get smcp.v1.maistra.io <smcp_name> > smcp-resource.yaml #Edit the smcp-resource.yaml file.$ oc replace -f smcp-resource.yamlパッチを使用してリソースを修正するには、
oc patchを使用します。$ oc patch smcp.v1.maistra.io <smcp_name> --type json --patch '[{"op": "replace","path":"/spec/path/to/bad/setting","value":"corrected-value"}]'コマンドラインツールで編集してリソースを修正するには、
oc editを使用します。$ oc edit smcp.v1.maistra.io <smcp_name>
Service Mesh コントロールプレーン設定をバックアップします。
ServiceMeshControlPlaneリソースが含まれるプロジェクトに切り替えます。この例では、istio-systemが Service Mesh コントロールプレーンプロジェクトの名前となります。$ oc project istio-system以下のコマンドを実行して、現在の設定を取得します。<smcp_name> は
ServiceMeshControlPlaneリソースのメタデータに指定されます (例:basic-installまたはfull-install)。$ oc get servicemeshcontrolplanes.v1.maistra.io <smcp_name> -o yaml > <smcp_name>.v1.yamlServiceMeshControlPlaneを、開始点としての設定に関する情報が含まれる v2 のコントロールプレーンバージョンに変換します。$ oc get smcp <smcp_name> -o yaml > <smcp_name>.v2.yamlプロジェクトを作成します。OpenShift Container Platform コンソールの Project メニューで、
New Projectをクリックし、プロジェクトの名前 (例:istio-system-upgrade) を入力します。または、CLI からこのコマンドを実行できます。$ oc new-project istio-system-upgrade-
v2
ServiceMeshControlPlaneのmetadata.namespaceフィールドを新規のプロジェクト名で更新します。この例では、istio-system-upgradeを使用します。 -
versionフィールドを 1.1 から 2.0 に更新するか、v2ServiceMeshControlPlaneでこれを削除します。 新規 namespace に
ServiceMeshControlPlaneを作成します。コマンドラインで以下のコマンドを実行し、取得したServiceMeshControlPlaneの v2 バージョンでコントロールプレーンをデプロイします。この例の `<smcp_name.v2>` は、実際のファイルへのパスに置き換えます。$ oc create -n istio-system-upgrade -f <smcp_name>.v2.yamlまたは、コンソールを使用して Service Mesh コントロールプレーンを作成することもできます。OpenShift Container Platform Web コンソールで、Project をクリックします。次に、入力したプロジェクト名を選択します。
-
Ecosystem
Installed Operators をクリックします。 - Create ServiceMeshControlPlane をクリックします。
-
YAML view を選択し、取得した YAML ファイルのテキストをフィールドに貼り付けます。
apiVersionフィールドがmaistra.io/v2に設定されていることを確認し、metadata.namespaceフィールドを新規 namespace (例:istio-system-upgrade) を使用するように変更します。 - Create をクリックします。
-
Ecosystem