第11章. クラスターの方針とガバナンス
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
クラスタ上で実行されるすべてのコンテナが、承認されたコンテナ・レジストリからのものだけであることを保証する方法を考えたことがあるだろうか。あるいは、セキュリティ・チームから、サービスがインターネットに公開されないようにするポリシーを実施するよう求められたことがあるかもしれない。これらはまさに、クラスタのポリシーとガバナンスが解決しようとする課題だ。Kubernetesが成熟し続け、より多くの企業で採用されるようになるにつれ、Kubernetesリソースにポリシーとガバナンスをどのように適用するかという疑問はますます頻度を増している。この章では、スタートアップ企業であれエンタープライズ企業であれ、クラスタが定義されたポリシーに準拠していることを確認するためにできることと、使用するツールを紹介する。
なぜ政策とガバナンスが重要なのか
、高度に規制された環境(例えば医療や金融サービス)で運用する場合でも、単にクラスタ上で実行されるものを確実に管理したい場合でも、企業固有のポリシーを実装する方法が必要になる。ポリシーが定義されたら、それを実装し、ポリシーに準拠したクラスタを維持する方法を決定する必要がある。これらのポリシーは、規制コンプライアンスを満たすために必要な場合もあれば、単にベストプラクティスを実施するために必要な場合もある。どのような理由であれ、これらのポリシーを実装する際には、開発者のAgileとセルフサービスを犠牲にしないようにしなければならない。
この政策はどう違うのか?
Kubernetesでは、ポリシーがいたるところにある。ネットワークポリシーであれ、Podセキュリティであれ、私たちは皆、ポリシーとは何か、いつ使うべきかを理解するようになった。Kubernetesのリソース仕様で宣言されたものは何でも、ポリシー定義通りに実装されると信じている。ネットワークポリシーもPodセキュリティも実行時に実装される。しかし、これらのKubernetesリソース仕様のフィールド値を制限するポリシーとは何だろうか?それがポリシーとガバナンスの仕事だ。実行時にポリシーを実装するのではなく、ガバナンスの文脈でポリシーについて語るとき、私たちが意味すること(あるいは少なくとも私たちが実現しようとしていること)は、Kubernetesリソースにおけるフィールドの設定方法を制限する機能である。ポリシーによって評価されたときに準拠するKubernetesリソース仕様のみが許可され、クラスタステートにコミットされる。
クラウド・ネイティブ・ポリシー・エンジン
どのリソースが準拠しているかを評価できるようにするには、さまざまなニーズに対応できる柔軟なポリシーエンジンが必要だ。Open Policy Agent(OPA)は、クラウドネイティブのエコシステムで人気が高まっている、オープンソースの柔軟で軽量なポリシーエンジンだ。OPAがエコシステムにあることで、さまざまなKubernetesガバナンスツールの実装が数多く登場している。そのようなKubernetesのポリシーとガバナンスのプロジェクトの1つに、コミュニティが結集しているGatekeeperと呼ばれるものがある。本章の残りの部分では、Gatekeeperを典型的な例として使用し、クラスタのポリシーとガバナンスを実現する方法を説明する。 ...