Komponen gatekeeper memfasilitasi pengelolaan dan penegakan kebijakan yang dijalankan oleh Open Policy Agent (OPA) di kluster Kubernetes. Komponen ini memungkinkan Anda mengelola label namespace. Topik ini menjelaskan fitur, catatan penggunaan, dan catatan rilis untuk gatekeeper.
Ikhtisar
OPA adalah mesin kebijakan sumber terbuka yang digunakan untuk menerapkan kebijakan dalam tumpukan secara standar dan sesuai konteks. Anda dapat menggunakan komponen gatekeeper untuk mengelola dan menerapkan kebijakan OPA serta mengelola label namespace di Container Service for Kubernetes (ACK) kluster. Untuk informasi lebih lanjut tentang OPA, lihat Open Policy Agent. Gambar berikut menunjukkan arsitektur gatekeeper.
Untuk informasi lebih lanjut tentang cara menginstal gatekeeper, lihat Kelola Komponen.
Catatan Penggunaan
Anda dapat menggunakan gatekeeper untuk membatasi penyebaran pod di namespace tertentu berdasarkan label. Dalam contoh ini, batasan didefinisikan untuk menyatakan bahwa semua pod yang dibuat di namespace tertentu harus memiliki label gatekeeper-test-label. Untuk informasi lebih lanjut tentang cara menggunakan gatekeeper, lihat Cara Menggunakan Gatekeeper.
Jalankan perintah berikut untuk membuat namespace uji bernama test-gatekeeper dan tambahkan label name=test-gatekeeper ke namespace tersebut:
kubectl create ns test-gatekeeper kubectl label ns test-gatekeeper name=test-gatekeeperJalankan perintah berikut untuk membuat template batasan yang dapat digunakan untuk mendefinisikan batasan pada label pod:
kubectl apply -f - <<EOF apiVersion: templates.gatekeeper.sh/v1beta1 kind: ConstraintTemplate metadata: name: k8srequiredlabels spec: crd: spec: names: kind: K8sRequiredLabels validation: openAPIV3Schema: properties: labels: type: array items: type: string targets: - target: admission.k8s.gatekeeper.sh rego: | package k8srequiredlabels violation[{"msg": msg, "details": {"missing_labels": missing}}] { provided := {label | input.review.object.metadata.labels[label]} required := {label | label := input.parameters.labels[_]} missing := required - provided count(missing) > 0 msg := sprintf("you must provide labels: %v", [missing]) } EOFDibutuhkan sekitar 10 detik untuk menginisialisasi template batasan.
Jalankan perintah berikut untuk membuat batasan dari template batasan sebelumnya. Batasan ini menyatakan bahwa semua pod yang akan dibuat di namespace dengan label name=test-gatekeeper harus memiliki label gatekeeper-test-label.
kubectl apply -f - <<EOF apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sRequiredLabels metadata: name: pod-must-have-gatekeeper-test-label spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] namespaceSelector: matchExpressions: - key: name operator: In values: ["test-gatekeeper"] parameters: labels: ["gatekeeper-test-label"] EOFDibutuhkan sekitar 10 detik untuk menginisialisasi batasan.
Periksa apakah namespace dibatasi.
Jalankan perintah berikut untuk membuat pod tanpa label
gatekeeper-test-labeldi namespace test-gatekeeper. Namespace test-gatekeeper memiliki labelname=test-gatekeeper.kubectl -n test-gatekeeper run test-deny --image=nginx --restart=NeverOutput yang diharapkan:
Error from server ([denied by pod-must-have-gatekeeper-test-label] you must provide labels: {"gatekeeper-test-label"}): admission webhook "validation.gatekeeper.sh" denied the request: [denied by pod-must-have-gatekeeper-test-label] you must provide labels: {"gatekeeper-test-label"}Namespace test-gatekeeper memiliki label
name=test-gatekeeper. Pod dibuat tanpa labelgatekeeper-test-label. Oleh karena itu, pembuatan pod gagal.Jalankan perintah berikut untuk membuat pod dengan label
gatekeeper-test-labeldi namespace test-gatekeeper. Namespace test-gatekeeper memiliki labelname=test-gatekeeper.kubectl -n test-gatekeeper run test-pass -l gatekeeper-test-label=pass --image=nginx --restart=NeverOutput yang diharapkan:
pod/test-pass createdNamespace test-gatekeeper memiliki label
name=test-gatekeeper. Pod dibuat dengan labelgatekeeper-test-label. Oleh karena itu, pembuatan pod berhasil.Jalankan perintah berikut untuk membuat pod tanpa label
name=test-gatekeeperdi namespace yang tidak tunduk pada batasan:kubectl -n default run test-deny --image=nginx --restart=NeverOutput yang diharapkan:
pod/test-deny createdNamespace tidak tunduk pada batasan. Oleh karena itu, pembuatan pod berhasil. Pod yang dibuat tidak memiliki label
name=test-gatekeeper.
Langkah-langkah di atas menunjukkan bahwa gatekeeper dapat digunakan untuk membatasi pembuatan pod di namespace tertentu. Dalam contoh ini, pod yang dibuat di namespace harus memiliki label gatekeeper-test-label.
Catatan Rilis
Maret 2025
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Pengaruh |
v3.18.2.192-ge2860248-aliyun | registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.18.2.192-ge2860248-aliyun | 2025-03-04 |
| Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami merekomendasikan Anda melakukan pembaruan selama jam-jam sepi. |
Desember 2024
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Pengaruh |
v3.17.1.174-g6383c639-aliyun | registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.17.1.174-g6383c639-aliyun | 2024-12-09 | OPA Gatekeeper diperbarui ke versi 3.17.1. Komponen gatekeeper bergantung pada OPA Gatekeeper. Untuk informasi lebih lanjut, lihat v3.17.1. | Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami merekomendasikan Anda melakukan pembaruan selama jam-jam sepi. |
September 2024
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Pengaruh |
v3.16.3.158-g5e73c0ad-aliyun | registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.16.3.158-g5e73c0ad-aliyun | 2024-09-25 | OPA Gatekeeper diperbarui ke versi 3.16.3. Komponen gatekeeper bergantung pada OPA Gatekeeper. Untuk informasi lebih lanjut, lihat v3.16.3. | Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami merekomendasikan Anda melakukan pembaruan selama jam-jam sepi. |
Maret 2024
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.15.1.150-g29b8b2a8-aliyun | registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.15.1.150-g29b8b2a8-aliyun | 2024-03-27 | OPA Gatekeeper diperbarui ke 3.15.1. Komponen gatekeeper bergantung pada OPA Gatekeeper. Untuk informasi lebih lanjut, lihat v3.15.1. | Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami menyarankan Anda melakukan pembaruan selama jam-jam sepi. |
Oktober 2023
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.12.0.138-g1ee37e37-aliyun | registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.12.0.138-g1ee37e37-aliyun | 2023-10-09 |
| Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami sarankan Anda melakukan pembaruan selama jam-jam sepi. |
April 2023
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.10.0.130-g0e79597d-aliyun | registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.10.0.130-g0e79597d-aliyun | 2023-04-18 |
| Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami sarankan Anda melakukan pembaruan selama jam-jam sepi. |
Juni 2022
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.8.1.113-geb7947ef-aliyun | registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.8.1.113-geb7947ef-aliyun | 2022-06-08 |
| Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami menyarankan Anda melakukan pembaruan selama jam-jam sepi. |
April 2022
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.7.1.93-gaf375989-aliyun | registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.7.1.93-gaf375989-aliyun | 2022-04-02 | Fitur Mutation dapat diaktifkan pada halaman Add-ons di konsol ACK. Secara default, fitur Mutation dinonaktifkan. Untuk informasi lebih lanjut, lihat Mutation. | Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami menyarankan Anda melakukan pembaruan selama jam-jam sepi. |
Februari 2022
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.7.0.84-gf5fd3ffd-aliyun | registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.7.0.84-gf5fd3ffd-aliyun | 2022-02-15 | Kinerja komponen dioptimalkan. Masalah penggunaan CPU yang abnormal dalam kasus ekstrem telah diperbaiki. | Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami menyarankan Anda melakukan pembaruan selama jam-jam sepi. |
Januari 2022
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.7.0.82-gafe4391b-aliyun | registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.7.0.82-gafe4391b-aliyun | 2022-01-14 |
| Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami menyarankan Anda melakukan pembaruan selama jam-jam sepi. |
September 2021
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.6.0.62-g156146d-aliyun | registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.6.0.62-g156146d-aliyun | 2021-09-20 |
| Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami menyarankan Anda melakukan pembaruan selama jam-jam sepi. |
Maret 2021
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.3.0.24-8e68abc-aliyun | registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.3.0.24-8e68abc-aliyun | 2021-03-16 |
| Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami menyarankan Anda melakukan pembaruan selama jam-jam sepi. |
Agustus 2020
Versi | Alamat gambar | Tanggal rilis | Deskripsi | Dampak |
v3.1.0.11-24bab09-aliyun | registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.1.0.11-24bab09-aliyun | 2020-08-20 | OPA Gatekeeper diperbarui ke 3.1.0-beta.12. Komponen gatekeeper bergantung pada OPA Gatekeeper. Catatan OPA Gatekeeper adalah proyek sumber terbuka berdasarkan pengembangan komponen gatekeeper. | Jika terjadi pengecualian selama pembaruan komponen, perubahan pada sumber daya kluster mungkin gagal. Kami menyarankan Anda melakukan pembaruan selama jam-jam sepi. |