この記事では、Azure Kubernetes Service (AKS) での動的プロビジョニングに使用されるストレージ アカウントでファイル共有を作成できない理由をトラブルシューティングする方法について説明します。
現象
動的プロビジョニングに使用されるストレージ アカウントにファイル共有を作成すると、PersistentVolumeClaim (PVC) が保留中の状態でスタックします。 この場合、 kubectl describe pvc
コマンドを実行すると、次のエラーが表示されます。
persistentvolume-controller (同様のイベントから結合):
StorageClass "azurefile" を使用してボリュームをプロビジョニングできませんでした:
アカウント xxx で共有 kubernetes-dynamic-pvc-xxx を作成できませんでした:
ファイル共有の作成に失敗しました。err:
storage: service returned error: StatusCode=403, ErrorCode=AuthorizationFailure,
ErrorMessage=この要求は、この操作を実行する権限がありません。
原因
Kubernetes persistentvolume-controller
は、ストレージ アカウントで選択されたネットワークに対して Allow アクセスネットワーク設定が有効になったときに選択されたネットワーク上にありません。 特に、ストレージ クラスに useDataPlaneAPI: "true"
を指定すると、 persistentvolume-controller
はファイル共有の作成/削除/サイズ変更にデータ プレーン API を使用します。 ただし、ストレージ アカウントにファイアウォールまたは仮想ネットワークが設定されている場合、これは失敗します。
回避策
ファイル共有を作成し、Azure Files で 静的プロビジョニングを使用するように AKS クラスターを設定します。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。