次の方法で共有


Azure Arc 対応 Open Service Mesh

Open Service Mesh (OSM) は、軽量で拡張可能なクラウド ネイティブ サービス メッシュであり、ユーザーは、高度に動的なマイクロサービス環境のために、すぐに使用できる監視機能を統一して管理し、セキュリティで保護することができます。

OSM では、Kubernetes 上でエンボイベースのコントロール プレーンを実行します。また OSM は SMI API を使用して構成でき、アプリケーションの各インスタンスの横に、エンボイ プロキシをサイドカー コンテナーとして挿入することで機能します。 Open Service Mesh を利用したサービス メッシュの使用方法に関するドキュメントをご覧ください。

Azure Arc 対応 OSM のすべてのコンポーネントは可用性ゾーンにデプロイされるため、ゾーン冗長になります。

インストール オプションと要件

Azure Arc 対応の Open Service Mesh は、Azure portal、Azure CLI、ARM テンプレート、または組み込みの Azure ポリシーを使用してデプロイできます。

前提条件

  • クラスター拡張機能の前提条件をすべて満たしていることをこちらで確認します
  • az k8s-extension CLI 拡張機能バージョン >= v1.0.4 を使用する

現在のサポートの制限事項

  • Open Service Mesh のインスタンスは、Azure Arc に接続した Kubernetes クラスター 1 つにつき 1 つしかデプロイできません。
  • Arc 対応 Open Service Mesh の最近リリースされた 2 つのマイナー バージョンでサポートを利用できます。 最新バージョンはこちらにあります。 サポートされているリリース バージョンには注釈があります。 中間リリースに関連付けられているタグは無視してください。
  • 現在、次の Kubernetes ディストリビューションをサポートしています。
    • AKS (Azure Kubernetes Service) エンジン
    • Azure Stack HCI 上の AKS クラスター
    • Azure Arc によって有効にされる AKS
    • Cluster API Azure
    • Google Kubernetes Engine
    • Canonical Kubernetes Distribution
    • Rancher Kubernetes Engine
    • OpenShift Kubernetes Distribution
    • Amazon Elastic Kubernetes Service
    • VMware Tanzu Kubernetes Grid
  • Azure Monitor と Azure Arc 対応 Open Service Mesh の連携は、プレビューで制限付きでサポートしています。

Azure portal を使用した基本インストール

Azure portal を使用してデプロイするには、Arc に接続されたクラスターが作成されたら、クラスターの [Open Service Mesh] セクションに移動します。

[Arc 対応 Kubernetes クラスターの設定] にある [Open Service Mesh]

[拡張機能のインストール] ボタンを選択すると、最新バージョンの拡張機能がデプロイされます。

または、ここでキャプチャした CLI エクスペリエンスを使用することもできます。 大規模なオンボードについては、ARM テンプレートおよび Azure Policy を使用したデプロイに関する詳細がこの記事の後半にあります。

Azure CLI を使用した基本インストール

次の手順では、サポートされている Kubernetes ディストリビューションを使用したクラスターが既にあり、それが Azure Arc に接続されていることを想定しています。KUBECONFIG 環境変数で、Arc 対応 Kubernetes クラスターの kubeconfig が指定されていることを確認します。

環境変数を設定します。

export CLUSTER_NAME=<arc-cluster-name>
export RESOURCE_GROUP=<resource-group-name>

OpenShift クラスターを使用している場合は、OpenShift インストール手順に進んでください。

拡張機能を作成する:

Note

特定のバージョンの OSM をピン留めするには、create コマンドに --version x.y.z フラグを追加します。 これにより、auto-upgrade-minor-version の値が false に設定されることに注意してください。

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm

次の例のような出力が表示されます。 OSM helm chart をクラスターにデプロイするには 3 - 5 分程度かかります。 このデプロイが行われるまで、installStatePending のままです。

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T17:50:11.4116524+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Pending",
  "lastModifiedTime": "2021-04-29T17:50:11.4116525+00:00",
  "lastStatusTime": null,
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

次に、インストールを検証します。

カスタム インストール

以下のセクションでは、Azure Arc 対応 OSM の特定のカスタム インストールについて説明します。 カスタム インストールでは、JSON ファイルで OSM の値 を設定し、それらを k8s-extension create CLI コマンドに渡す必要があります。

OpenShift クラスターに OSM をインストールする

  1. 次の内容を JSON ファイルにコピーして保存します。 構成設定ファイルを作成済みである場合は、これまでの変更を引き継ぐため、既存のファイルに次のコードを追加してください。

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. カスタム値を使用して OSM をインストールします

  3. メッシュでアプリケーションを使用する各サービス アカウントに、特権 セキュリティ コンテキスト制約を追加します。

    oc adm policy add-scc-to-user privileged -z <service account name> -n <service account namespace>
    

OSM helm chart をクラスターにデプロイするには 3 - 5 分程度かかります。 このデプロイが行われるまで、installStatePending のままです。

特権 init コンテナーの設定が既定値に戻らないように、これ以降に実行するすべての az k8s-extension create コマンドに "osm.osm.enablePrivilegedInitContainer" : "true" 構成設定を渡します。

インストール時に高可用性機能を有効にする

OSM のコントロール プレーン コンポーネントは、高可用性とフォールト トレランスを考慮して構築されています。 このセクションでは、インストール中に水平ポッドの自動スケーリング (HPA) とポッド中断バジェット (PDB) を有効にする方法について説明します。 OSM の高可用性に関する設計上の考慮事項の詳細をご覧ください。

水平ポッドの自動スケーリング (HPA)

HPA は、ユーザーが定義した平均目標 CPU 使用率 (%) と平均目標メモリ使用率 (%) に基づいて、コントロール プレーン ポッドを自動的にスケールアップまたはスケールダウンします。 HPA を有効にし、インストール時に OSM コントロール プレーン ポッドに適用可能な値を設定するには、こちらに示すように JSON 設定ファイルを作成または既存の JSON 設定ファイルに追加し、HPA を有効にするコントロール プレーン ポッド (osmControllerinjector) ごとにキーと値のペアを繰り返します。

{
  "osm.osm.<control_plane_pod>.autoScale.enable" : "true",
  "osm.osm.<control_plane_pod>.autoScale.minReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.maxReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.cpu.targetAverageUtilization" : "<allowed values 0-100>",
  "osm.osm.<control_plane_pod>.autoScale.memory.targetAverageUtilization" : "<allowed values 0-100>"
}

次に、カスタム値を使用して OSM をインストールします

ポッド中断バジェット (PDB)

計画的な停止中の中断を防ぐために、コントロール プレーン ポッド osm-controller および osm-injector には、各コントロール プレーン アプリケーションに対応するポッドが常に少なくとも 1 つ存在するようにする PDB があります。

PDB を有効にするには、必要なコントロール プレーン ポッド (osmControllerinjector) ごとに、次のように JSON 設定ファイルを作成するか既存の JSON 設定ファイルに追加します。

{
  "osm.osm.<control_plane_pod>.enablePodDisruptionBudget" : "true"
}

次に、カスタム値を使用して OSM をインストールします

証明書管理用に cert-manager を指定して OSM をインストールする

cert-manager は、署名された証明書を OSM に発行する際に使用できるプロバイダーです。 Kubernetes に秘密キーを保存する必要はありません。 詳細については、OSM の cert-manager のドキュメントデモを参照してください。

Note

OSM の GitHub ドキュメントで提供されているコマンドは注意して使用してください。 コマンドで正しい名前空間を使用するか、フラグ --osm-namespace arc-osm-system で指定してください。

証明書プロバイダーとして cert-manager を使用して OSM をインストールするには、こちらに示すように、JSON 設定ファイルを作成するか、cert-manager に設定された certificateProvider.kind 値を既存の JSON 設定ファイルに追加します。 OSM のドキュメントで指定されている既定の cert-manager の値を変更するには、後続の certmanager.issuer の行も含めて更新します。

{
  "osm.osm.certificateProvider.kind" : "cert-manager",
  "osm.osm.certmanager.issuerName" : "<issuer name>",
  "osm.osm.certmanager.issuerKind" : "<issuer kind>",
  "osm.osm.certmanager.issuerGroup" : "<issuer group>"
}

次に、カスタム値を使用して OSM をインストールします

イングレスに Contour を指定して OSM をインストールする

OSM には、イングレスを使用して外部にメッシュ サービスを公開するためのオプションが複数あります。 OSM では Contour を使用できます。これは、メッシュの外部にインストールされ、メッシュに参加するための証明書とともにプロビジョニングされるイングレス コントローラーと連動します。 詳細については、OSM のイングレスのドキュメントデモを参照してください。

Note

OSM の GitHub ドキュメントで提供されているコマンドは注意して使用してください。 コマンドで正しい名前空間を使用するか、フラグ --osm-namespace arc-osm-system で指定してください。 OSM のインストール中に、Contour を構成するために必要な値を設定するには、JSON 設定ファイルに次を追加します。

{
  "osm.osm.osmNamespace" : "arc-osm-system",
  "osm.contour.enabled" : "true",
  "osm.contour.configInline.tls.envoy-client-certificate.name" : "osm-contour-envoy-client-cert", 
  "osm.contour.configInline.tls.envoy-client-certificate.namespace" : "arc-osm-system"
}

OSM のインストール時に値を設定する

OSM のインストール中に設定する必要がある値はすべて単一の JSON ファイルに保存し、Azure CLI のインストール コマンドを使用して渡す必要があります。

カスタム インストール セクションの説明に従って、適用可能な値を含む JSON ファイルを作成したら、ファイル パスを環境変数として設定します。

export SETTINGS_FILE=<json-file-path>

az k8s-extension create コマンドを実行して OSM 拡張機能を作成し、--configuration-settings-file フラグを使用して設定ファイルを渡します。

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm --configuration-settings-file $SETTINGS_FILE

ARM テンプレートを使用して Azure Arc 対応 OSM をインストールする

クラスターを Azure Arc に接続してから、次の形式の JSON ファイルを作成します。必ず <cluster-name><osm-arc-version> の値を置き換えてください。

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "ConnectedClusterName": {
            "defaultValue": "<cluster-name>",
            "type": "String",
            "metadata": {
                "description": "The Connected Cluster name."
            }
        },
        "ExtensionInstanceName": {
            "defaultValue": "osm",
            "type": "String",
            "metadata": {
                "description": "The extension instance name."
            }
        },
        "ExtensionVersion": {
            "defaultValue": "<osm-arc-version>",
            "type": "String",
            "metadata": {
                "description": "The extension type version."
            }
        },
        "ExtensionType": {
            "defaultValue": "Microsoft.openservicemesh",
            "type": "String",
            "metadata": {
                "description": "The extension type."
            }
        },
        "ReleaseTrain": {
            "defaultValue": "Stable",
            "type": "String",
            "metadata": {
                "description": "The release train."
            }
        }
    },
    "functions": [],
    "resources": [
        {
            "type": "Microsoft.KubernetesConfiguration/extensions",
            "apiVersion": "2020-07-01-preview",
            "name": "[parameters('ExtensionInstanceName')]",
            "properties": {
                "extensionType": "[parameters('ExtensionType')]",
                "releaseTrain": "[parameters('ReleaseTrain')]",
                "version": "[parameters('ExtensionVersion')]"
            },
            "scope": "[concat('Microsoft.Kubernetes/connectedClusters/', parameters('ConnectedClusterName'))]"
        }
    ]
}

環境変数を設定します。

export TEMPLATE_FILE_NAME=<template-file-path>
export DEPLOYMENT_NAME=<desired-deployment-name>

次のコマンドを実行して OSM 拡張機能をインストールします。

az deployment group create --name $DEPLOYMENT_NAME --resource-group $RESOURCE_GROUP --template-file $TEMPLATE_FILE_NAME

これで、OSM リソースを表示して、OSM 拡張機能をクラスターで使用できるようになります。

組み込みポリシーを使用して Azure Arc 対応 OSM をインストールする

組み込みポリシーは、Azure portal の [Kubernetes] カテゴリで使用できます。Azure Arc 対応 Kubernetes クラスターには Open Service Mesh 拡張機能がインストールされている必要があります。 このポリシーは、サブスクリプションまたはリソース グループのスコープで割り当てることができます。

このポリシーの既定のアクションは、存在しない場合にデプロイするです。 ただし、割り当て中にパラメーターを変更することで、拡張機能のインストールに関してクラスターを監査することを選択できます。 また、インストールするバージョン (v1.0.0-1 以上) をパラメーターとして指定するように求められます。

インストールの検証

次のコマンドを実行します。

az k8s-extension show --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm

次のような JSON 出力が表示されます。

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T19:22:00.7649729+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Installed",
  "lastModifiedTime": "2021-04-29T19:22:00.7649731+00:00",
  "lastStatusTime": "2021-04-29T19:23:27.642+00:00",
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

クラスター上の Open Service Mesh (OSM) 拡張機能コンポーネントのデプロイの検証とトラブルシューティングに使用できるその他のコマンドについては、トラブルシューティング ガイドのページを参照してください

OSM コントローラーの構成

OSM では、arc-osm-system 名前空間内のコントロール プレーンの一部として MeshConfig リソース osm-mesh-config がデプロイされます。 この MeshConfig の目的は、メッシュの所有者またはオペレーターに、そのニーズに基づいてメッシュ構成の一部を更新する機能を提供することです。 既定値を表示するには、次のコマンドを使います。

kubectl describe meshconfig osm-mesh-config -n arc-osm-system

出力には既定値が表示されます。

  Certificate:
    Cert Key Bit Size:               2048
    Service Cert Validity Duration:  24h
  Feature Flags:
    Enable Async Proxy Service Mapping:  false
    Enable Egress Policy:                true
    Enable Envoy Active Health Checks:   false
    Enable Ingress Backend Policy:       true
    Enable Multicluster Mode:            false
    Enable Retry Policy:                 false
    Enable Snapshot Cache Mode:          false
    Enable WASM Stats:                   true
  Observability:
    Enable Debug Server:  false
    Osm Log Level:        info
    Tracing:
      Enable:  false
  Sidecar:
    Config Resync Interval:            0s
    Enable Privileged Init Container:  false
    Log Level:                         error
    Resources:
  Traffic:
    Enable Egress:                          false
    Enable Permissive Traffic Policy Mode:  true
    Inbound External Authorization:
      Enable:              false
      Failure Mode Allow:  false
      Stat Prefix:         inboundExtAuthz
      Timeout:             1s
    Inbound Port Exclusion List:
    Outbound IP Range Exclusion List:
    Outbound Port Exclusion List:

詳細については、API リファレンスを構成するに関するページを参照してください。 spec.traffic.enablePermissiveTrafficPolicyModetrue に設定されていることにご注意ください。 OSM が制限のないトラフィック ポリシー モードにある場合、SMI トラフィック ポリシーの適用はバイパスされます。 このモードの OSM では、サービス メッシュの一部であるサービスが自動的に検出され、これらのサービスと通信できるように各エンボイ プロキシ サイドカーのトラフィック ポリシー規則がプログラムされます。

osm-mesh-config は、Azure portal でクラスターの [Open Service Mesh] セクションで [構成の編集] を選択して表示することもできます。

[Open Service Mesh] セクションの上部にある [構成の編集] ボタン

OSM コントローラーの構成の変更

Note

MeshConfig osm-mesh-config の値はアップグレード後も保持されます。

osm-mesh-config に対する変更は、kubectl patch コマンドを使用して実行できます。 次の例では、制限の少ないトラフィック ポリシー モードが false に変更されています。

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":false}}}' --type=merge

正しくない値が使用されている場合、MeshConfig CRD の検証によって、値が無効である理由を説明するエラー メッセージが表示されて変更が阻止されます。 たとえば、次のコマンドは、enableEgress を非ブール値に修正した場合にどうなるかを示しています。

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enableEgress":"no"}}}'  --type=merge
# Validations on the CRD will deny this change
The MeshConfig "osm-mesh-config" is invalid: spec.traffic.enableEgress: Invalid value: "string": spec.traffic.enableEgress in body must be of type boolean: "string"

または、Azure portal で osm-mesh-config を編集するには、クラスターの [Open Service Mesh] セクションで [構成の編集] を選択します。

[Open Service Mesh] セクションの [構成の編集] ボタン

Azure Arc 対応 OSM を使用する

OSM の機能を使用するには、アプリケーションの名前空間をサービス メッシュにオンボードしておく必要があります。 OSM CLI を GitHub の OSM のリリースのページからダウンロードします。 メッシュに名前空間を追加したら、SMI ポリシーを構成して OSM の機能を自由に使用できます。

名前空間をサービス メッシュにオンボードする

次のコマンドを実行して名前空間をメッシュに追加します。

osm namespace add <namespace_name>

クラスターの [Open Service Mesh] セクションで [+追加] を選択することで、Azure portal から名前空間をオンボードすることもできます。

[Open Service Mesh] セクションの上部にある [+追加] ボタン

オンボード サービスの詳細については、Open Service Mesh のドキュメントを参照してください。

Service Mesh Interface (SMI) ポリシーで OSM を構成する

サンプル アプリケーションから始めるか、テスト環境を使用して SMI ポリシーを試すことができます。

Note

サンプル アプリケーションを使う場合は、そのバージョンがクラスターにインストールされている OSM 拡張機能のバージョンと一致していることを確認してください。 たとえば、OSM 拡張機能の v1.0.0 を使用している場合は、OSM 上流リポジトリの release-v1.0 ブランチのブックストア マニフェストを使用します。

独自の Jaeger、Prometheus、Grafana インスタンスを構成する

OSM 拡張機能では、JaegerPrometheusGrafanaFlagger のようなアドオンはインストールされません。 代わりに、それらのツールのインスタンスを独自に実行する OSM と統合できます。 独自のインスタンスを連携させる方法は、次のドキュメントを参照してください。

Note

OSM の GitHub ドキュメントで提供されているコマンドは注意して使用してください。 osm-mesh-config に変更を加える場合は、必ず正しい名前空間名 arc-osm-system を使用してください。

Azure Monitor と Applications Insights でアプリケーションを監視する (プレビュー)

Azure Monitor と Azure Application Insights はいずれも、クラウドおよびオンプレミス環境からテレメトリを収集、分析、対応するための包括的なソリューションを提供することで、アプリケーションやサービスの可用性とパフォーマンスを最大限に高めます。 Azure Arc 対応の Open Service Mesh は、これらの Azure サービスの両方に緊密に統合されています。 この統合では、OSM メトリックによって提供される重要な KPI を表示して対応するためにシームレスな Azure のエクスペリエンスが提供されます。

重要

Azure Arc 対応 Kubernetes のプレビュー機能は、セルフサービス、オプトイン ベースで利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 Azure Arc 対応 Kubernetes のプレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。

これらの手順に従って、Azure Monitor でprometheus エンドポイントのスクレイピングを有効にし、アプリケーションのメトリクスを収集できるようにします。

  1. こちらのガイダンスに従って、監視するアプリケーションの名前空間がメッシュにオンボードされていることを確認します。

  2. アプリケーションの名前空間用の Prometheus エンドポイントを公開します。

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. こちらの説明に従って Azure Monitor 拡張機能をインストールします。

  4. Azure Monitor で名前空間を監視できるようにする kube-system 名前空間で Configmap を作成します。 たとえば、次を使用して container-azm-ms-osmconfig.yaml を作成し、<namespace1><namespace2> を監視します。

    kind: ConfigMap
    apiVersion: v1
    data:
      schema-version: v1
      config-version: ver1
      osm-metric-collection-configuration: |-
        # OSM metric collection settings
        [osm_metric_collection_configuration]
          [osm_metric_collection_configuration.settings]
              # Namespaces to monitor
              monitor_namespaces = ["<namespace1>", "<namespace2>"]
    metadata:
      name: container-azm-ms-osmconfig
      namespace: kube-system
    
  5. 次の kubectl コマンドを実行します。

    kubectl apply -f container-azm-ms-osmconfig.yaml
    

Log Analytics にメトリクスを表示するには最大 15 分程度かかります。 InsightsMetrics テーブルに対するクエリを実行できます。

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. このリンクから、Arc に接続した Kubernetes クラスターにアクセスします。
  2. Azure Monitor にアクセスして [レポート] タブに移動し、OSM ブックにアクセスします。
  3. 期間と名前空間を選び、対象サービスを指定します。

OSM ブック

要求タブ

[要求] タブには、OSM のサービス間で送信されたすべての HTTP 要求の概要が表示されます。

  • すべてのサービスをグリッドで選んで見ることができます。
  • 合計要求数、要求エラー率、P90 待機時間を見ることができます。
  • 通信先をドリルダウンして、HTTP エラー/成功コード、成功率、ポッド リソース使用率、異なるパーセンタイルの待機時間を見ることができます。

[接続] タブ

[接続] タブには、Open Service Mesh のサービス間のすべての接続の概要が表示されます。

  • 発信接続: ソースと宛先のサービスの間の合計接続数。
  • アクティブな発信接続: 選択期間の最後の時点での、通信元と通信先の間の接続数。
  • 失敗発信接続: 通信元と通信先の間の合計接続失敗数。

OSM の特定バージョンにアップグレードする

アップグレード中、コントロール プレーンでダウンタイムが発生する場合があります。 データ プレーンは、CRD のアップグレード中のみ影響を受けます。

サポートされるアップグレード

OSM 拡張機能は、マイナー バージョンとメジャー バージョン間で手動でアップグレードできます。 ただし、自動アップグレード (有効な場合) は、マイナー バージョン間でのみ機能します。

特定の OSM バージョンに手動でアップグレードする

次のコマンドは、OSM-Arc 拡張機能を特定のバージョンにアップグレードします。

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --version x.y.z

自動アップグレードを有効にする

自動アップグレードが既定で有効になっていない場合は、次のコマンドを実行して自動アップグレードを有効にできます。 --auto-upgrade-minor-version の現在の値は、インストールの検証の手順で詳しく説明されているように、az k8s-extension show コマンドを実行することで確認できます。

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --auto-upgrade-minor-version true

Azure Arc 対応 OSM をアンインストールする

次のコマンドを使用します。

az k8s-extension delete --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm -y

拡張機能のインスタンスが削除されたことを確認します。

az k8s-extension list --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP

この出力に OSM は含まれません。 クラスターにその他の拡張機能がインストールされていない場合は、空の配列になります。

az k8s-extension コマンドで OSM 拡張機能を削除するとき、arc-osm-system 名前空間は削除されず、その名前空間にあるリソース (mutating Webhook 構成、OSM コントローラー ポッドなど) が実際に削除されるまで最大で 10 分程度かかります。

Note

Arc で管理している OSM コンポーネントを削除するときは az k8s-extension CLI を使用します。Arc では OSM CLI によるアンインストールをサポートしていないので、これを行うと不具合が生じる可能性があります。

次のステップ