3.4. Red Hat OpenShift Service Mesh のバージョン 1.0.1 から 1.0.2 への更新
Red Hat OpenShift Service Mesh の更新では、OpenShift Container Platform をバージョン 4.2 に更新する前に追加の手順が必要になります。OpenShift Container Platform 4.1.x を 4.2 にアップグレードする前に、Red Hat OpenShift Service Mesh を 1.0.2 にアップグレードする必要があります。
前提条件
- Red Hat OpenShift Service Mesh バージョン 1.0.1
- OpenShift Container Platform バージョン 4.1
手順
以下の
oc patch
コマンドを実行して、既存の SMCP リソース要求を設定します。<smcp_namespace> と <smcp_name> は特定の名前に置き換えます。$ oc patch -n <smcp_namespace> smcp <smcp_name> \1 --type=merge -p \ '{"spec": {"istio": {"global": {"defaultResources": {"requests": {"cpu": "10m","memory": "128Mi"},"limits":{}},"proxy": {"resources": {"requests": {"cpu": "10m","memory": "128Mi"},"limits":{}}},"defaultPodDisruptionBudget": {"enabled": false}},"security": {"resources": {"requests": {"cpu": "10m","memory": "128Mi"}}},"galley": {"resources": {"requests": {"cpu": "10m","memory": "128Mi"}}},"pilot": {"resources": {"requests": {"cpu": "10m","memory": "128Mi"}}},"mixer": {"telemetry": {"resources": {"requests": {"cpu": "10m","memory": "128Mi"}}}},"gateways": {"istio-egressgateway": {"resources": {"requests": {"cpu": "10m","memory": "128Mi"}}},"istio-ingressgateway": {"resources": {"requests": {"cpu": "10m","memory": "128Mi"}}}},"prometheus": {"resources": {"requests": {"cpu": "10m","memory": "128Mi"}}}}}}'
- 1
- 例:
basic-install
このコマンドの実行後は、すべての SMCP Pod が SMCP namespace で置き換えるまで待機します。
-
Pod が SMCP namespace で実行された後に、
bookinfo
などのデータプレーンアプリケーションを再デプロイします。 kubeadmin
などのcluster-admin
ユーザーとしてログインしてから、以下のコマンドを実行して CNIistio-node
DaemonSet を削除します。Red Hat OpenShift Service Mesh Operator がデフォルトのopenshift-operators
namespace にインストールされていない場合は、openshift-operators
を置き換えます。$ oc delete -n openshift-operators daemonset istio-node
Red Hat OpenShift Service Mesh Operator および SMCP を 1.0.2 にアップグレードします。すべての Pod が SMCP namespace で実行された後に、各デプロイメントについて以下のコマンドを実行してデータプレーンアプリケーションにパッチを適用します。
$ oc patch -n <data_plane_namespace> deployment/<deployment_name> -p \ '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt": "'`date -Iseconds`'"}}}}}'
- OpenShift Container Platform Web コンソールを使用して OpenShift Container Platform をアップグレードします。
Red Hat OpenShift Service Mesh 1.0 から 1.1 に更新する場合、ServiceMeshControlPlane
リソースを更新してコントロールプレーンのコンポーネントを新規バージョンに更新する必要があります。
- Web コンソールで、Red Hat OpenShift Service Mesh Operator をクリックします。
-
Project メニューをクリックし、一覧から
ServiceMeshControlPlane
がデプロイされているプロジェクト (例:istio-system
) を選択します。 -
コントロールプレーンの名前(
basic-install
など) をクリックします。 -
YAML をクリックし、バージョンフィールドを
ServiceMeshControlPlane
リソースのspec:
に追加します。たとえば、Red Hat OpenShift Service Mesh 1.1.0 に更新するには、version: v1.1
を追加します。
spec: version: v1.1 ...
バージョンフィールドでは、インストールする ServiceMesh のバージョンを指定し、デフォルトは利用可能な最新バージョンに設定されます。
3.4.1. 手動更新
手動で更新することを選択する場合、Operator Lifecycle Manager (OLM) は、クラスター内の Operator のインストール、アップグレード、ロールベースのアクセス制御 (RBAC) を制御します。OLM はデフォルトで OpenShift Container Platform で実行されます。OLM は CatalogSource を使用します。これは Operator Registry API を使用して利用可能な Operator やインストールされた Operator のアップグレードについてクエリーします。
- OpenShift Container Platform のアップグレードの処理方法についての詳細は、Operator Lifecycle Manager のドキュメントを参照してください。