Azure Kubernetes Configuration Extensions SDKs 1.0.0の変更点と初動チェック

Azure Kubernetes Configuration Extensions SDKs の更新で最初に確認すべきことは、JavaScript版とPython版のmanagement SDKが1.0.0に到達したことで、ベータ版前提の実装・型チェック・自動化スクリプトを見直す必要があるという点です。特に、Python版では AKSIdentityType.WORKLOADauto_upgrade_modemanagement_detailsadditional_detailsextension_state などが追加されており、Kubernetes拡張機能の棚卸し、アップグレード制御、監視ダッシュボード、社内ポータルに影響する可能性があります。JavaScript版 @azure/arm-kubernetesconfiguration-extensions は1.0.0が公開され、リリース履歴では初の安定版パッケージと説明されています。Python版 azure-mgmt-kubernetesconfiguration-extensions も1.0.0が公開され、PyPIでは2026年4月21日リリースとして確認できます。(GitHub)

このSDKは、Kubernetesクラスター上のHelmリリースを直接操作するためのツールというより、Azure Resource Manager経由でAzure Arc対応KubernetesやAKS上の拡張機能リソースを管理するためのSDKです。Microsoft Learnでも、クラスター拡張機能はARMベースのエクスペリエンスでインストールやライフサイクル管理を行うものと説明されています。つまり、影響を受けるのは「kubectlを手で打つ人」よりも、拡張機能の作成・更新・一覧取得・削除をコード化しているplatform team、Azure Arc運用者、SDK利用開発者です。(Microsoft Learn)

目次

Azure Kubernetes Configuration Extensions SDKs 1.0.0で何が変わったのか

今回のポイントは、単なるバージョン番号の更新ではありません。Azure Kubernetes Configuration Extensions SDKs が1.0.0になったことで、運用チームは「このSDKを本番運用の自動化に組み込むか」「既存のベータ版利用をどう移行するか」「新しいプロパティを監視やポリシー評価に使うか」を判断しやすくなりました。

確認項目JavaScript版Python版実務上の初動
パッケージ名@azure/arm-kubernetesconfiguration-extensionsazure-mgmt-kubernetesconfiguration-extensions依存関係ファイル、lockfile、CI/CDのインストール手順を確認する
1.0.0の位置づけ初の安定版パッケージとしてリリース履歴に記載PyPIでProduction/Stable分類、Python 3.9+が要件ベータ版からの移行計画を立てる
主な変更点生成SDKとして ExtensionsClient と拡張機能管理モデルを提供enum、モデル、プロパティが複数追加型定義・enum検証・レスポンスパース処理を見直す
影響が出やすい箇所TypeScriptの型チェック、Node.js実行環境、社内ツールPythonのモデルアクセス、beta版からの移行、監視処理検証環境でlist/get/update/deleteのスモークテストを行う
特に見るべき新要素autoUpgradeModemanagedBymanagementDetails などauto_upgrade_modemanaged_bymanagement_details などアップグレード方針と管理主体の可視化に使えるか確認する

JavaScript版のREADMEでは、ExtensionsClient を使ってKubernetesクラスター向けの拡張機能リソースをARM経由で作成するAPIであること、@azure/identity と組み合わせて認証することが示されています。パッケージ定義ではバージョンが 1.0.0、Node.jsエンジン要件が >=20.0.0 とされています。(GitHub)

Python版は、PyPI上でPython 3.9以上が要件とされ、DefaultAzureCredentialKubernetesConfigurationExtensionsMgmtClient を使った基本的なクライアント生成例が掲載されています。リリース履歴では、1.0.0で AKSIdentityTypeWORKLOADExtensionmanaged_byExtensionPropertiesauto_upgrade_mode などが追加されています。(PyPI)

このSDKが管理する対象を正しく理解する

Azure Kubernetes Configuration Extensions SDKs を使う前に、管理対象を混同しないことが重要です。このSDKが扱うのは、Azure上の Microsoft.KubernetesConfiguration/extensions リソースです。Microsoft Learnでは、クラスター拡張機能インスタンスはAzure Arc対応Kubernetesリソース上に作成されるARMリソースとして説明されています。(Microsoft Learn)

実際のクラスター側では、Azure Arcのエージェントが新規または更新された拡張機能リソースを追跡し、関連するHelmチャートを取得してクラスターにインストールします。つまり、SDKの役割は「クラスター内のHelmを直接操作すること」ではなく、「Azure側の望ましい状態を作ること」です。(Microsoft Learn)

この違いは、障害調査で特に重要です。SDKのAPI呼び出しが成功しても、クラスターがAzureへ接続できない、Arcエージェントが動作していない、対象拡張機能の前提条件を満たしていない場合、実際のインストールや更新は失敗する可能性があります。Microsoft Learnでは、エージェントが拡張機能の作成・更新・削除を処理し、接続性が必要であることも説明されています。(Microsoft Learn)

まず確認すべき変更点

1. JavaScript版とPython版の両方で1.0.0に到達した

2026年4月21日時点の更新として最も分かりやすい変化は、JavaScript版とPython版のmanagement SDKが1.0.0に到達したことです。JavaScript版のGitHubリリースでは @azure/arm-kubernetesconfiguration-extensions_1.0.0 が公開され、CHANGELOGでは「このパッケージの初の安定版」と説明されています。Python版も azure-mgmt-kubernetesconfiguration-extensions_1.0.0 として公開され、PyPIでは2026年4月21日にリリースされたパッケージとして掲載されています。(GitHub)

実務上は、1.0.0だからすぐ本番へ入れるのではなく、次の3点を確認してから採用するのが安全です。

確認すること理由推奨アクション
既存コードがbeta版を参照していないかbeta版からの移行ではモデルやメソッド引数が変わる可能性があるpackage.jsonrequirements.txtpyproject.toml、lockfileを確認する
CI/CDでSDKの最新版を自動取得していないかlatest運用だと予期しない型差分や挙動差分が入りやすい検証完了までは 1.0.0 に固定する
APIレスポンスの未知フィールドを落としていないか追加プロパティを無視する実装だと監視や棚卸しで情報が欠けるレスポンス保存・マッピング・JSONスキーマを見直す

特に社内ポータルやマルチクラスター管理基盤で拡張機能一覧を表示している場合、単に「SDKが動くか」だけでは不十分です。extensionStatemanagementDetailsadditionalDetails のような新しい情報を表示・記録・検索できるかまで確認しましょう。

2. Python版ではモデルとenumの追加が多い

Python版1.0.0では、AKSIdentityTypeWORKLOAD が追加され、Extensionmanaged_byExtensionPropertiesauto_upgrade_modemanagement_detailsadditional_detailsextension_state が追加されています。また、ExtensionPropertiesAksAssignedIdentityobject_idclient_idresource_id が追加され、AccessDetailAdditionalDetailsAutoUpgradeModeManagementDetails も追加されています。(PyPI)

この中で実務上の優先度が高いのは、次の4つです。

追加要素何を意味するか実務で見るべき箇所
AKSIdentityType.WORKLOADAKS拡張機能のID種別としてWorkload identityを扱えるenumを固定リストで検証しているコード
auto_upgrade_mode自動アップグレードのモードをより細かく扱う拡張機能の更新ポリシー、コンプライアンス判定
managed_by / management_detailsその拡張機能が別リソースに管理されているか、管理主体の情報削除可否判定、所有者表示、運用責任の整理
additional_details / extension_state発行元が提供する追加情報やクラスター上の状態監視、トラブルシュート、運用ダッシュボード

auto_upgrade_mode は特に重要です。生成モデルでは、値として nonepatchcompatible が定義され、既定値は compatible とされています。none は自動アップグレードしない、patch は同一minor内の最新patchへ自動アップグレード、compatible は互換性のあるバージョンへ自動アップグレードするという説明です。(GitHub)

3. JavaScript版にも同等の型が含まれる

JavaScript版の生成モデルにも、ExtensionExtensionPropertiesAKSIdentityTypeAutoUpgradeModeManagementDetailsAccessDetailAdditionalDetailsPatchExtension などが含まれています。TypeScriptで管理ツールを作っている場合、Python版だけでなくJavaScript版でも autoUpgradeModemanagedBymanagementDetailsadditionalDetailsextensionState を考慮できます。(GitHub)

JavaScript版では KnownAutoUpgradeMode として NonePatchCompatible が定義されています。AutoUpgradeMode 自体は文字列型として扱われるため、未知の値に備えたフォールバック表示も入れておくと安全です。(GitHub)

たとえば、社内ダッシュボードで次のような固定分岐だけを書いている場合は見直しが必要です。

switch (extension.autoUpgradeMode) {
  case "none":
  case "patch":
  case "compatible":
    return extension.autoUpgradeMode;
  default:
    return "unknown";
}

SDKの生成型では、将来のサービス側変更に備えてknown enumと文字列型を併用するパターンがよくあります。KnownAutoUpgradeMode だけに依存して網羅チェックを完了扱いにするより、未知値をログに残して画面上でも確認できる設計にしておく方が、platform team向けの運用ツールとしては堅実です。

対象読者別の影響範囲

Kubernetes platform teamsへの影響

Kubernetes platform teamsが最初に見るべき場所は、クラスター拡張機能のライフサイクル管理を自動化しているコードです。Azure Arc対応Kubernetesでは、拡張機能を使ってAzure Monitor、Azure Policy、Defender for Containers、Flux、Daprなどの機能をクラスターに展開できます。Microsoft Learnでも、クラスター拡張機能はAzureの機能をKubernetesクラスターに展開し、管理を改善するための仕組みと説明されています。(Microsoft Learn)

具体的には、次のようなコードや運用を確認してください。

確認対象よくあるリスク対応
拡張機能一覧の棚卸しジョブ新しい状態・管理主体・追加詳細を保存していない保存スキーマに新プロパティを追加する
自動アップグレード設定の監査autoUpgradeMinorVersion だけを見て判断しているautoUpgradeMode も評価対象に加える
拡張機能の削除自動化managedBy を見ずに削除候補に入れる管理元があるリソースは削除ルールを分ける
ID情報の表示Workload identityを未知値として扱うWorkload を有効なidentity typeとして扱う
監視ダッシュボードprovisioningState だけで状態を判断するextensionStatestatuseserrorInfo も表示する

特に大規模運用では、「拡張機能を作れるか」より「どの拡張機能が誰に管理され、どの更新方針で、どの状態にあるか」を追跡できるかが重要です。1.0.0の新しいモデル情報は、この可視化を強化する材料になります。

Azure Arc usersへの影響

Azure Arc usersにとって、このSDK更新は「Azure Arc対応Kubernetes拡張機能をコードから管理しやすくなる」意味があります。ただし、Azure Arcの拡張機能管理では、SDK、Azure CLI、Azure portal、ARM/Bicep、Azure Policyが役割分担します。すべてをSDKに置き換える必要はありません。

たとえば、単発のインストールや手順確認はAzure CLIで十分です。一方で、複数サブスクリプション・複数リージョン・複数クラスタにまたがって拡張機能状態を集計する場合は、SDKを使った自動化の方が向いています。

ユースケースSDKが向いているか理由
1クラスターに拡張機能を手動追加低いCLIやportalの方が早い
毎日すべてのクラスターの拡張機能状態を取得高いAPIで一覧化・保存・通知しやすい
拡張機能のバージョン固定違反を検出高いversionautoUpgradeModereleaseTrain を評価できる
障害時にクラスター内Podを直接調査低いkubectl、Arcエージェントログ、CLI診断が中心
社内ポータルから拡張機能を申請・作成高いARMリソースとして作成・更新処理を組み込める

Microsoft Learnでは、拡張機能の自動アップグレードについて、minor・patch更新を自動化する設定や、major versionは破壊的変更を含む可能性があるため自動アップグレード対象ではないことが説明されています。SDKを使う場合も、この運用原則を無視してバージョンを一律更新するのは避けるべきです。(Microsoft Learn)

SDK developersへの影響

SDK developersは、依存関係の更新だけでなく、型とモデル構造の差分を重点的に確認する必要があります。Python版の1.0.0b2では、hybrid modelsの導入、PatchExtension の一部インスタンス変数が properties 配下へ移動、begin_deleteforce_delete がkeyword-onlyになるなどの破壊的変更が記載されています。1.0.0へ移行する場合、これらをすでに吸収済みか確認してください。(PyPI)

特にPythonでは、次のような実装は移行時に壊れやすいです。

# 旧実装でありがちな例
patch = PatchExtension()
patch.version = "x.y.z"
patch.auto_upgrade_minor_version = False

1.0.0系では PatchExtensionPatchExtensionProperties の構造、または生成モデルのflattened accessの扱いを確認したうえで、実際のSDKでupdate処理が通るかを検証してください。リリース履歴では、PatchExtensionPropertiesauto_upgrade_mode が追加されています。(GitHub)

JavaScript版を使う場合の初動

JavaScript版を採用する場合は、まずNode.js実行環境とパッケージ固定を確認します。パッケージ定義ではNode.js >=20.0.0 が要件です。社内の自動化基盤がNode.js 18以前で動いている場合、SDK更新より先にランタイム更新が必要になる可能性があります。(GitHub)

検証環境では、次のようにバージョンを明示して導入します。

npm install @azure/[email protected]
npm install @azure/identity

基本のクライアント生成は次の形です。

import { ExtensionsClient } from "@azure/arm-kubernetesconfiguration-extensions";
import { DefaultAzureCredential } from "@azure/identity";

const subscriptionId = process.env.AZURE_SUBSCRIPTION_ID;

if (!subscriptionId) {
  throw new Error("AZURE_SUBSCRIPTION_ID is not set.");
}

const client = new ExtensionsClient(
  new DefaultAzureCredential(),
  subscriptionId
);

この段階で確認すべきことは、拡張機能の作成よりも先に「一覧取得」と「単体取得」です。既存リソースの読み取りでモデル差分を確認できれば、破壊的な更新操作をしなくても影響範囲を把握できます。

テスト確認内容合格基準
list対象クラスターの拡張機能一覧を取得できるか既存の拡張機能が欠落なく取れる
get1つの拡張機能詳細を取得できるかprovisioningStatecurrentVersionautoUpgradeMode が読める
update dry-run相当の設計確認更新前後の差分を出せるか意図しない設定削除が起きない設計になっている
delete権限確認削除APIを誰が実行できるか本番では明示承認なしに削除されない

JavaScript版では configurationProtectedSettings のような機微情報に関わる項目も扱います。値をログに出す、画面に平文表示する、CIの成果物に残すといった実装は避けてください。

Python版を使う場合の初動

Python版を採用する場合は、Python 3.9以上であることを確認し、検証環境ではバージョンを固定して導入します。PyPIのプロジェクト情報ではPython 3.9以上が要件とされています。(PyPI)

pip install azure-mgmt-kubernetesconfiguration-extensions==1.0.0
pip install azure-identity

基本のクライアント生成は次の形です。

import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.kubernetesconfiguration.extensions import (
    KubernetesConfigurationExtensionsMgmtClient,
)

subscription_id = os.getenv("AZURE_SUBSCRIPTION_ID")

if not subscription_id:
    raise RuntimeError("AZURE_SUBSCRIPTION_ID is not set.")

client = KubernetesConfigurationExtensionsMgmtClient(
    credential=DefaultAzureCredential(),
    subscription_id=subscription_id,
)

Python版で特に確認すべきなのは、モデルの属性アクセスです。1.0.0では ExtensionPropertiesauto_upgrade_modemanagement_detailsadditional_detailsextension_state が追加されています。これらを既存のdict変換処理、Pydanticモデル、Dataclass、DBスキーマへ取り込む場合、名前のsnake_caseとARMレスポンス側のcamelCaseを混同しないようにしてください。(GitHub)

たとえば、運用ダッシュボードへ保存する場合は、次のような項目を最低限そろえると実用的です。

保存項目用途
id / name / typeAzureリソースとしての識別
extension_typeAzure Monitor、Fluxなど拡張機能種別の判定
current_version / version実際の導入版と指定版の差分確認
auto_upgrade_minor_version / auto_upgrade_mode更新方針の監査
provisioning_state / extension_stateAzure側とクラスター側の状態確認
managed_by / management_details管理主体・削除可否の判断
error_info / statuses障害調査
additional_detailsドキュメント、リリースノート、トラブルシュート情報の参照

自動アップグレード設定は既存ロジックを見直す

Azure Kubernetes Configuration Extensions SDKs 1.0.0で実務上もっとも見直しやすいテーマが、自動アップグレードの扱いです。従来から autoUpgradeMinorVersion / auto_upgrade_minor_version というBooleanの考え方がありますが、1.0.0のモデルでは autoUpgradeMode / auto_upgrade_mode も扱えるようになっています。生成モデルでは nonepatchcompatible が既知値として定義されています。(GitHub)

運用設計では、次のように使い分けを決めると判断しやすくなります。

方針想定する設定向いているケース注意点
自動更新を避けるnone またはバージョン固定変更管理が厳しい本番環境、事前検証が必須の拡張機能セキュリティ修正や不具合修正の適用遅れに注意
patchのみ追従patch同一minor内の修正は早く取り込みたい環境minor更新は別途運用判断が必要
互換性ベースで追従compatible多数クラスターを管理し、運用負荷を減らしたい環境互換性判断の範囲をチーム内で説明できるようにする

Microsoft Learnでは、minor・patch更新の自動アップグレードを有効にすることが多くのシナリオで推奨される一方、major versionは破壊的変更を含む可能性があるため自動アップグレードされないと説明されています。SDK側で更新処理を組む場合も、major version更新を自動化するなら、検証環境、承認フロー、ロールバック方針をセットで設計すべきです。(Microsoft Learn)

Workload identity対応を固定enumで落とさない

Python版1.0.0では AKSIdentityTypeWORKLOAD が追加されています。JavaScript版の生成モデルでも KnownAKSIdentityType.Workload が定義されています。(GitHub)

ここで注意すべきなのは、古いコードで次のようにidentity typeを固定リストで検証しているケースです。

allowed_identity_types = {"SystemAssigned", "UserAssigned"}

if identity_type not in allowed_identity_types:
    raise ValueError(f"Unsupported identity type: {identity_type}")

この実装のままだと、Workload が返ってきたときに異常値として扱ってしまいます。運用ツールでは、最低でも次のように更新しましょう。

allowed_identity_types = {"SystemAssigned", "UserAssigned", "Workload"}

if identity_type not in allowed_identity_types:
    # 将来の追加値に備えて、即エラーではなく警告として扱う設計も検討する
    print(f"Unknown identity type detected: {identity_type}")

本番運用では、未知のenum値を即エラーにするか、警告として記録して処理を続けるかを決めておく必要があります。拡張機能の棚卸しや監視では、未知値があっても一覧取得を止めない方が実用的です。一方で、作成・更新処理では未知値を使ったリクエストを送らないようにする方が安全です。

managedByとmanagementDetailsは削除判断に効く

managedBy / managed_by は、拡張機能リソースが別のAzureリソースに管理されているかを判断するうえで重要です。Pythonモデルでは、managed_by は「このリソースを管理するリソースの完全修飾ID」であり、存在する場合は別リソースに管理されていることを示す説明が付いています。JavaScriptモデルにも同様の managedBy が含まれます。(GitHub)

これは、削除自動化で特に重要です。たとえば「使われていない拡張機能を月次で削除する」ようなジョブを作っている場合、managedBy を見ずに削除すると、上位の管理リソースやサービス側の整合性を壊す可能性があります。

おすすめは、削除候補を次の3段階に分けることです。

分類条件例アクション
自動削除不可managedBy が存在する管理元を確認し、人手承認に回す
要確認managementDetails に管理主体情報がある所有チームまたはサービス担当者に確認する
削除候補管理元なし、利用実績なし、状態が安定している事前通知後に削除処理を実行する

managementDetails には管理主体のカテゴリやアクセス詳細が含まれます。モデル上は categoryaccessDetails を持ち、AccessDetail には対象entity、許可されたaction、説明が含まれます。運用ダッシュボードでは、この情報を「誰が管理しているか」「何が許可されているか」を示す補助情報として使えます。(GitHub)

既存のbeta版利用者がやるべき移行チェック

Python版のbetaを使っていた場合、1.0.0へ上げる前に移行チェックを行ってください。PyPIのリリース履歴では、1.0.0b2でhybrid modelsの導入や操作メソッドに関する破壊的変更、PatchExtension の一部変数が properties 配下へ移動したこと、begin_deleteforce_delete がkeyword-onlyになったことが記載されています。(PyPI)

移行時は、次の順番で確認すると手戻りを減らせます。

手順作業確認ポイント
依存関係を固定==1.0.0 やlockfileで固定検証中に別バージョンへ上がらない
読み取り処理を確認list/getを実行既存のパース処理が壊れない
モデル変換を確認dict化、JSON保存、DB保存新しいプロパティを落としていない
update処理を確認検証用拡張機能で更新properties 配下やkeyword-only引数に対応している
delete処理を確認検証環境のみで削除force_delete の渡し方、権限、削除後状態を確認
監視を確認失敗時のログ・通知errorInfostatusesextensionState を見られる

JavaScript版では、beta版からの明示的な破壊的変更一覧が公開リリース本文上ではPython版ほど細かく出ていません。だからこそ、TypeScript利用者は型エラーだけで判断せず、実際のARMレスポンスを使って一覧取得・詳細取得・更新リクエストのスモークテストを行うべきです。

よくある失敗と対策

SDKの成功をクラスター側の成功と誤解する

SDKでcreateやupdateのAPI呼び出しが成功しても、クラスター側で拡張機能が正常に動作しているとは限りません。Arcエージェントやクラスターの接続性、対象拡張機能の前提条件が関係します。Microsoft Learnでは、エージェントがAzureサービスへ到達できる必要があり、接続性がない場合に状態が失敗へ遷移する可能性が説明されています。(Microsoft Learn)

対策は、ARM側の provisioningState だけでなく、extensionStatestatuseserrorInfo、クラスター側のPod状態を合わせて見ることです。

自動アップグレード設定をBooleanだけで判断する

autoUpgradeMinorVersion だけを見て「自動更新あり・なし」と判定していると、autoUpgradeMode の意味を取りこぼします。1.0.0のモデルでは nonepatchcompatible のように、より細かな更新モードが扱えます。(GitHub)

対策は、ポリシー判定やレポートで次のように両方を出すことです。

表示項目
Auto upgrade minortrue / false
Auto upgrade modenone / patch / compatible
Release trainStable / Preview など
Pinned version固定している場合のみ表示
Current version実際に導入されているバージョン

protected settingsをログに出してしまう

拡張機能の構成には、通常設定とprotected settingsがあります。Microsoft Learnでは、protected settingsはGET APIや az k8s-extension show で取得できない機微設定として説明されています。SDKで扱う場合も、ログ、例外、デバッグ出力に出さない設計が必要です。(Microsoft Learn)

対策は、設定値そのものではなく、キー名、更新日時、ハッシュ、設定有無だけを記録することです。特にCI/CDのログやTerraform/Bicep連携スクリプトに平文が出ないよう確認してください。

拡張機能のscopeを固定で扱う

Azure Arc対応Kubernetesの拡張機能は、多くがcluster-scopedですが、すべてが同じscopeとは限りません。Microsoft Learnでは、Azure API Management on Azure Arcはnamespace-scopedであり、多くの拡張機能はcluster-scopedと説明されています。(Microsoft Learn)

対策は、scope.cluster.releaseNamespacescope.namespace.targetNamespace の両方を扱える表示・保存設計にすることです。cluster-scoped前提で固定すると、namespace-scoped拡張機能の管理で不整合が出ます。

導入判断の基準

Azure Kubernetes Configuration Extensions SDKs 1.0.0は、次の条件に当てはまるチームほど早めに検証する価値があります。

チームの状況導入優先度理由
Azure Arc対応Kubernetesを複数クラスターで運用している拡張機能の棚卸し・状態監視・更新方針管理に使える
社内ポータルで拡張機能を作成・更新しているSDKの安定版移行により依存関係を整理しやすい
Python beta版SDKをすでに使っている破壊的変更やモデル差分の確認が必要
TypeScriptでAzure管理ツールを作っている中〜高型情報を活用して実装品質を上げられる
CLIだけで単発運用している低〜中すぐにSDKへ移行する必要はない
Kubernetesクラスター内のHelmだけを直接管理しているSDKの主対象はARMリソース管理であり、用途が違う

判断に迷う場合は、いきなり作成・更新APIを使わず、読み取り専用の棚卸しジョブから始めるのが安全です。list/getで既存拡張機能の状態を取得し、autoUpgradeModemanagedByextensionState を可視化するだけでも、運用改善の効果があります。

実務での初動チェックリスト

  1. 依存関係を確認する
    package.jsonrequirements.txtpyproject.toml、lockfileにbeta版や曖昧なlatest指定が残っていないか確認します。
  2. 実行環境を確認する
    JavaScript版はNode.js要件、Python版はPython 3.9以上を確認します。(GitHub)
  3. 読み取りAPIから検証する
    まずlist/getで既存拡張機能を取得し、レスポンスの保存・表示・ログ出力に問題がないか確認します。
  4. 新しいプロパティを取り込む
    autoUpgradeModemanagedBymanagementDetailsadditionalDetailsextensionState、Workload identity関連の情報を確認します。
  5. 自動アップグレード方針を再定義する
    nonepatchcompatible の意味を踏まえて、環境別の運用ルールを決めます。
  6. beta版からの移行差分を確認する
    Python版をbetaから移行する場合は、hybrid models、PatchExtensionbegin_delete の引数変更を確認します。(PyPI)
  7. 本番更新前に検証クラスターでupdate/deleteを試す
    拡張機能の更新や削除は、対象サービスの影響が大きい場合があります。本番では承認フローとロールバック方針を用意してから実行します。

まとめ

Azure Kubernetes Configuration Extensions SDKs の1.0.0到達は、Kubernetes拡張機能管理をコード化しているチームにとって重要な節目です。JavaScript版は初の安定版パッケージとして公開され、Python版ではWorkload identity、自動アップグレードモード、管理主体、追加詳細、拡張機能状態など、運用で役立つモデル情報が強化されています。(GitHub)

最初にやるべきことは、SDKをすぐ本番更新することではありません。まず依存関係を固定し、読み取りAPIで既存環境の拡張機能を棚卸しし、autoUpgradeModemanagedByextensionState を運用ツールが正しく扱えるか確認してください。そのうえで、beta版移行、update/delete処理、自動アップグレード方針を検証環境で固めるのが安全です。

Kubernetes platform teams、Azure Arc users、SDK developersのいずれにとっても、今回の更新は「SDKのバージョンアップ」ではなく、拡張機能のライフサイクル管理をより正確に可視化・自動化する機会として捉えると実務に活かしやすくなります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次