計画メンテナンスを使用して Azure Kubernetes Application Network メンバーのアップグレードをスケジュールする (プレビュー)

Important

AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は運用環境での使用を目的としていません。 詳細については、次のサポート記事を参照してください。

この記事では、計画メンテナンスを使用して、Azure Kubernetes Application Network メンバーのコンポーネントアップグレードをスケジュールする方法について説明します。

アプリケーション ネットワークの計画メンテナンスの概要

メンテナンス操作とは、クラスター内 データ プレーン コンポーネント と、Istiod などのクラスターの外部で実行される Application Network コントロール プレーン コンポーネント のアップグレードを指します。

クラスター内の主要なコンポーネントの 2 つは 、ztunnel ノード プロキシ と Istio CNI ノード エージェントです。 これらのリソースはノードごとの DaemonSet であるため、アップグレードは一度にノード全体に影響を与え、有効期間の長い TCP 接続の中断を引き起こす可能性があります。 共通ウィンドウに対するノード レベルの中断を分離するために、Application Network では、aksManagedNodeOSUpgradeSchedule構成されている場合) と同じメンテナンス スケジュールが使用されます。

メンテナンス 期間 は同じですが、Application Network メンバーのアップグレードとノード OS のアップグレードは、アップグレードの可用性に応じて、一方または両方のコンポーネントで発生するウィンドウ内の独立したイベントであることに注意してください。 どちらのアップグレードも、他のアップグレードのタイミングやプロセスには影響を与えません。 両方のコンポーネントが同じウィンドウ内でアップグレードする場合、そのウィンドウ内のアップグレードごとに個別の接続の中断が発生する可能性があります。

注

Application Network の計画メンテナンスを使用するために、ノード OS の自動アップグレードをオプトインする必要はありません。 aksManagedNodeOSUpgradeScheduleを作成しても、ノード OS の自動アップグレードは有効または無効になりません。

前提条件

  • Application Network リソースのメンバーとしてオンボードされている既存の AKS クラスター。 Application Network リソースを持っていない場合、またはクラスターをまだオンボードしていない場合は、「 Azure Kubernetes Application Network の使用を開始する」を参照してください。
  • Azure CLI バージョンは 2.84.0 以降です。 az --version コマンドを使用してバージョンを確認します。 インストールまたは更新するには、 Azure CLI のインストールに関するページを参照してください。
  • メンテナンス 期間のドキュメント を確認して、構成フィールドと AKS でのメンテナンス期間のしくみを理解することをお勧めします。

考慮事項

計画メンテナンスを使用してアプリケーション ネットワークのアップグレードをスケジュールする場合は、次の考慮事項に注意してください。

  • Application Network は、緊急または重大な計画外の事後対応メンテナンス操作について、計画メンテナンス期間を中断する権利を留保します。 これらのメンテナンス操作は、構成で定義されている notAllowedTime または notAllowedDates の期間中に実行される場合もあります。
  • メンテナンス操作はベストエフォートのみと見なされており、指定した期間内に行われる保証はありません。
  • ウィンドウが閉じたときにアップグレードの試行が完了しない場合、完了するまで調整が試行されます。

モード固有の動作

計画メンテナンスを使用して、フル マネージド アップグレードとセルフマネージド アップグレードのタイミングをスケジュールできますが、計画メンテナンスを有効または無効にしても、アップグレード モード自体には影響しません。 メンテナンス 期間は、クラスターのアップグレード モードに応じて異なる種類のアップグレードをゲートします。

  • フル マネージド モード: メンテナンス ウィンドウは、マイナー アップグレードとパッチ アップグレードの両方を制御します。 ただし、リリース チャネルの変更を開始すると、関連するバージョンの変更が直ちに有効になります。
  • 自己管理モード: メンテナンス期間はパッチ アップグレードにのみ適用されます。 マイナー バージョンの変更を開始すると、すぐに有効になります。

メンテナンス期間を追加する

  • aksManagedNodeOSUpgradeSchedule コマンドを使用して、AKS クラスターにaz aks maintenanceconfiguration addメンテナンス期間の構成を追加します。 次の例では、aksManagedNodeOSUpgradeSchedule タイム ゾーンの午前 12:00 から午前 8:00 の間に、毎週第 3 金曜日に実行するようにメンテナンスをスケジュールする新しいUTC+5:30構成を追加します。

    az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00
    

既存のメンテナンス期間を更新する

  • az aks maintenanceconfiguration update コマンドを使用して、既存のメンテナンス構成を更新します。 次の例では、毎週金曜日の午前 2 時から午前 6 時に実行するようにメンテナンスをスケジュールするように、 aksManagedNodeOSUpgradeSchedule 構成を更新します。

    az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 02:00
    

クラスターのメンテナンス構成を表示する

  • az aks maintenanceconfiguration show コマンドと --name パラメーターを使用して、AKS クラスター内の特定のメンテナンス構成期間を表示します。

    az aks maintenanceconfiguration show --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule
    

    次の出力例では、aksManagedNodeOSUpgradeSchedule のメンテナンス期間が示されています。

    {
      "id": "/subscriptions/<subscription>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule",
      "maintenanceWindow": {
        "durationHours": 4,
        "notAllowedDates": [
          {
            "end": "2024-01-05",
            "start": "2023-12-23"
          }
        ],
        "schedule": {
          "absoluteMonthly": {
            "dayOfMonth": 1,
            "intervalMonths": 3
          },
          "daily": null,
          "relativeMonthly": null,
          "weekly": null
        },
        "startDate": "2023-01-20",
        "startTime": "09:00",
        "utcOffset": "-08:00"
      },
      "name": "aksManagedNodeOSUpgradeSchedule",
      "notAllowedTime": null,
      "resourceGroup": "myResourceGroup",
      "systemData": null,
      "timeInWeek": null,
      "type": null
    }
    

クラスターのメンテナンス構成を削除する

  • az aks maintenanceconfiguration delete コマンドを使用して、AKS クラスターのメンテナンス構成ウィンドウを削除します。

    az aks maintenanceconfiguration delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedNodeOSUpgradeSchedule
    

Azure Kubernetes Application Network の詳細については、次の記事を参照してください。