第8章. KubernetesとKyverno
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
ギリシャ語で統治を意味するKyvernoは、Kubernetesのために特別に設計された成熟したOSSインキュベートCNCFポリシーエンジンプロジェクトである。Kyvernoを使えば、KubernetesクラスタとDevOpsパイプラインをポリシーイネーブルにして、クラスタの振る舞いを制御し、使用前にポリシーを検証することができる。本章で見ていくように、Kyvernoは同じ動的アドミッションコントローラーを介してKubernetesに統合される。
Nirmataによって作成されたKyvernoプロジェクトは、貢献者とユーザの非常に活発なコミュニティを享受している。以下のリンクはカイバーノについてのより詳しい情報を得るのに役立つ:
これまで説明してきたKubernetesのPaCソリューションとは異なり、KyvernoはOPAやRegoに支えられていない。KyvernoのポリシーはYAMLを使って記述される。 YAML構文はKubernetes全体で広く使われているため、Kyvernoを採用しても新しいポリシー言語構文を学ぶ必要はない。Kyvernoの学習曲線には、Kyverno YAML語彙が含まれる。この章の後半で説明するように、追加のJSONクエリ言語-JMESPath-を使用して、Kyvernoポリシーにきめ細かい選択ロジックを適用することができる。
さっそくカイヴァーノをminikubeにインストールしてみよう。
インストール
KyvernoはHelmを使ってインストールすることもできるし、kubectlとYAMLリソースを使ってインストールすることもできる。 Kyvernoユーザとして、私はHelmによるインストールを好む。HelmのチャートはYAMLマニフェストよりも微調整や設定がはるかに可能だ。
注
Kyvernoは互換性マトリックスを使用して、KyvernoのバージョンとKubernetesのバージョンが一致するようにしている。
以前のPaCインストールと同じように、Makefileとシェルスクリプトを使ってインストールを自動化した。インストール中に使ったHelmコマンドは以下のコンソール出力に示されている:
# Helm command $ helm install kyverno kyverno/kyverno -n kyverno --create-namespace \ --values values.yaml
以下のインストール出力では、ヘルムチャートのバージョンとカイバーノのバージョンが出力されていた:
# Kyverno install $ make up ./up.sh NAME: kyverno LAST DEPLOYED: Sat Mar 16 20:24:20 2024 NAMESPACE: kyverno STATUS: deployed REVISION: 1 NOTES: Chart version: 3.1.4 Kyverno version: v1.11.4 Thank you for installing kyverno! Your ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access