Azure Policy を使用してコンプライアンスの状態を確認する
前のセクションでは、組み込みのポリシーとイニシアティブを使用し、Azure ポリシーを使ってクラスターを簡単に管理する方法を確認しました。 そのポリシーでは既存のポッドが終了されないこともわかりました。 非準拠ポッドを検出して、それらに対してアクションを実行できるようにする必要があります。 この演習では、これを行います。
Note
この演習は省略してもかまいません。 この演習を実行する場合は、始める前に Azure サブスクリプションを作成する必要があります。 Azure アカウントをお持ちでない場合、またはこの時点で作成しない場合は、提示されている情報を理解するため手順に目を通してください。
非準拠ポッドを表示するための Azure portal の使用
Azure portal の [ポリシー] ページに移動します。
上部にある [...] をクリックして、クラスター リソース グループにスコープを設定できます。Azure Kubernetes Service (AKS) クラスターが配置されているサブスクリプションとリソース グループを選択し、ページの下部にある [選択] を選択します。
Note
非準拠ポッドがポータルに表示されるまで数分かかる場合があります。
ここで、デプロイしたポリシーとイニシアティブの両方に非準拠リソースがあるのがわかります。 リソースは、videogamerg の Linux ベースのワークロードに対する Kubernetes クラスター ポッド セキュリティの制限付き標準イニシアティブの 3 つのポリシーに準拠していません。 そのイニシアチブを選択すると、8 つのポリシーのうち、準拠していない 3 つのポリシーが表示されます。
Kubernetes クラスター コンテナーでは、許可されたイメージのみを使用する必要があるというポリシーを選択します。 非準拠ポッドが含まれるクラスターがあることがわかります
そのクラスターを選択すると、どのポッドが準拠していないかについて詳細が示されます。 準拠していない特定のポッドの名前が表示されます。 準拠していないのは、デプロイされた最初のポッドだけであることがわかります。 これらのポリシー ページを参照するのは、クラスターのコンプライアンス状態を監査するための効果的な方法であることがわかります。
非準拠ポッドを削除し、コンプライアンスを再確認する
準拠していないポッドが見つかったので、先に進んでそのポッドを削除できます。 ポッドが削除されると、ポリシーによって、今後準拠しないポッドはデプロイされなくなります。 videogamerg の Linux ベースのワークロードに対する Kubernetes クラスター ポッド セキュリティの制限付き標準イニシアティブを監査するように設定すると、準拠していないポッドを特定できますが、そのポッドがデプロイされないようにはなりません。 ポッドをそのイニシアティブに準拠するようにすることは、このコースの範囲外であるため、ここでは拒否効果を持つように設定したポリシーの修正に焦点を当てます。
もう一度 Cloud Shell を開き、非準拠のデプロイを削除します。
kubectl delete deployment simple-nginx
変更がポータルに反映されるまで最大で 45 分かかる場合があります。 待機後はポリシーに戻り、準拠していないポッドがまだ存在しないか確認します。 クラスターは現在、ポリシーに準拠しているのがわかります。
まとめ
このユニットでは、Azure portal を使用してポリシーに準拠していないポッドを特定する方法について学習しました。 その後、先に進み、ポリシーの 1 つに準拠していないポッドを削除しました。 また、デプロイのトラブルシューティングを行い、拒否ポリシーが原因でデプロイされないポッドを特定する方法も学習しました。 Azure portal を使用して、非準拠リソースと、それらが準拠していないポリシーを確認する方法を学習しました。 また、最初に作成した準拠していないポッドを削除することで、問題の 1 つを解決しました。 ポリシーとイニシアティブを追加してテストする方法がわかったので、Kubernetes 用の他の組み込みポリシーを確認し、ビジネス ニーズに合うものを見つけることができます。