EN: Read in English
Dunia K6: Pengawal
Misi capstone 5: Kawal
Anda akan belajar: beri Kedai Kancil lencana, kunci, pagar dan meterai, kemudian buktikan kluster tolak image root atau tanpa tandatangan.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Kubernetes 1.37 pada 31 Okt 2026
Masalahnya
kind-dev namespace defaultMisi 5: Kawal. Matlamat anda: kluster anda sendiri tolak image root atau tanpa tandatangan, macam ini. Empat kerja: lencana, kunci, pagar, meterai.
Cuba
Langkah 1: lencana dan kunci. kubectl boleh tuliskan YAML untuk anda dengan --dry-run=client -o yaml.
Misi sebenar
kubectl create serviceaccount ci-bot -n kedai --dry-run=client -o yaml > k8s/base/rbac.yamlecho "---" >> k8s/base/rbac.yaml && kubectl create role deployer -n kedai --verb=get,list,patch --resource=deployments --dry-run=client -o yaml >> k8s/base/rbac.yamlecho "---" >> k8s/base/rbac.yaml && kubectl create rolebinding ci-bot-deployer -n kedai --role=deployer --serviceaccount=kedai:ci-bot --dry-run=client -o yaml >> k8s/base/rbac.yamlkubectl label --dry-run=server --overwrite ns kedai pod-security.kubernetes.io/enforce=restrictedkubectl auth can-i get secrets -n kedai --as=system:serviceaccount:kedai:ci-bot
0 daripada 8 langkah siap · Tanda anda disimpan.
Tengok
Zon kedai anda akan bawa dua label pengawal. Satu semak kunci. Satu semak meterai.
Tekan label yang tolak dulang root.
0 daripada 1 dijumpai
Cuba
Langkah 2: pagar dan meterai. Arahan meterai datang dari panduan GitHub, ditulis untuk Helm 4.
Misi sebenar
kubectl run probe --rm -it --restart=Never --image=busybox:1.37 -- wget -qO- -T 2 http://api.kedaihelm upgrade policy-controller --install --rollback-on-failure --create-namespace --namespace artifact-attestations oci://ghcr.io/sigstore/helm-charts/policy-controller --version 0.10.5helm upgrade trust-policies --install --rollback-on-failure --namespace artifact-attestations oci://ghcr.io/github/artifact-attestations-helm-charts/trust-policies --version v0.7.0 --set policy.enabled=true --set policy.organization=YOUR-NAMEkubectl label namespace kedai policy.sigstore.dev/include=true
0 daripada 8 langkah siap · Tanda anda disimpan.
Semak
Biar API awam GitHub sahkan fail anda. Taip nama pengguna anda, kemudian semak.
Semak di GitHub
- Repo Kedai Kancil anda awamBelum disemak
- Ia ada k8s/base/rbac.yamlBelum disemak
- Ia ada k8s/base/networkpolicy.yamlBelum disemak
Semak
API tak nampak dalam kluster anda. Semak sendiri perkara ini.
Misi sebenar
kubectl auth can-i patch deployments -n kedai --as=system:serviceaccount:kedai:ci-botkubectl run root-test -n kedai --image=nginx:1.29-alpine --dry-run=server
0 daripada 4 langkah siap · Tanda anda disimpan.
Anda berjaya!
Kini anda boleh kawal Kedai Kancil dengan lencana, kunci, pagar dan meterai.
Nak tahu lebih (pilihan)
Keselamatan: guna kluster kind anda sahaja, jangan kluster kerja. Baca bar merah jambu “anda di sini” sebelum setiap label atau delete. Pod tersekat? Jalankan kubectl get events -n kedai. Kyverno atau Gatekeeper pun boleh semak meterai, kalau pasukan anda sudah guna salah satunya.
English
Mission 5: Guard it. Your goal: your own cluster refuses a root or unsigned image, like this. Four jobs: badges, locks, fences, seals.
Step 1: badges and locks. kubectl can write the YAML for you with --dry-run=client -o yaml.
Your kedai zone will carry two guard labels. One checks locks. One checks seals.
Step 2: fences and seals. The seal commands come from GitHub’s guide, written for Helm 4.
Let GitHub’s public API confirm your files. Type your username, then check.
The API can’t see inside your cluster. Check these yourself.
You can now guard Kedai Kancil with badges, locks, fences and seals.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Pod Security Standards · Using RBAC authorization · Network Policies · GitHub: enforce artifact attestations in Kubernetes · Helm 4: helm upgrade
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?