Peta dunia

 

EN: Read in English

Dunia K6: Pengawal · Cabaran bos

Kunci dapur

Anda akan belajar: lulus tahap Pod Security restricted dan beri bot CI hanya hak yang ia perlu.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Kubernetes 1.37 pada 31 Okt 2026

Masalahnya

Ketik setiap titik pada garis masa.

Kedai Kancil buka esok. Zonnya tiada pengawal. Bot CI pegang kunci induk. Kunci dapur, bilik demi bilik.

Cuba

Bilik 1: hidupkan restricted untuk kedai. Dry run dulu, untuk lihat apa yang akan rosak.

Anda di sini: kluster kind-dev namespace default
Gerai: 3. Dulang: 2 (2 sedia). Menunggu gerai: 0.
dev-control-planeBukaPengurus

Tiada dulang di sini.

dev-workerBuka
  • shop·hj28m
dev-worker2Buka
  • shop·rklp9
Masa: +0s (dipercepat)

Cuba

Amaran tadi sebut empat peraturan yang dilanggar. Baris mana yang membaikinya?

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Cuba

      Bilik 2: Mei apply kedai selepas anda kunci zon. Tiada dulang berjalan. Dua pembaikan menunggu dalam folder. Satu masih langgar peraturan. Jalankan dua dulang.

      Anda di sini: kluster kind-dev namespace default
      Gerai: 3. Dulang: 0 (0 sedia). Menunggu gerai: 0.
      dev-control-planeBukaPengurus

      Tiada dulang di sini.

      dev-workerBuka

      Tiada dulang di sini.

      dev-worker2Buka

      Tiada dulang di sini.

      Masa: +0s (dipercepat)

      Cuba

      Bilik 3: bot CI pegang cluster-admin dalam kedai. Cabut wayar itu. Beri ia kad deployer sahaja.

      Sambung wayar sehingga setiap jawapan sepadan. Beri yang perlu sahaja.

      Siapa (palam)

      • ci-bot (ServiceAccount · ci)
      • mei (pengguna)

      Role (soket)

      • Role deployer · kedai
        • get, list, patch · deployments
      • ClusterRole cluster-admin · seluruh kluster
        • * · *

      Wayar (binding)

      • ci-bot ke cluster-adminRoleBinding · dalam namespace kedai
        Tunjuk ci-bot-admin sebagai YAML
        apiVersion: rbac.authorization.k8s.io/v1
        kind: RoleBinding
        metadata:
          name: ci-bot-admin
          namespace: kedai
        subjects:
          - kind: ServiceAccount
            name: ci-bot
            namespace: ci
        roleRef:
          apiGroup: rbac.authorization.k8s.io
          kind: ClusterRole
          name: cluster-admin
        

      Boleh atau tidak? (kubectl auth can-i)

      1. kubectl auth can-i patch deployments -n kedai --as=system:serviceaccount:ci:ci-botyessepatutnya yes sepadanDibenarkan oleh ci-bot-admin → cluster-admin.
      2. kubectl auth can-i get secrets -n kedai --as=system:serviceaccount:ci:ci-botyessepatutnya no belum lagiDibenarkan oleh ci-bot-admin → cluster-admin.
      3. kubectl auth can-i delete deployments -n kedai --as=system:serviceaccount:ci:ci-botyessepatutnya no belum lagiDibenarkan oleh ci-bot-admin → cluster-admin.
      Tanya soalan anda sendiri
      kubectl auth can-i get pods -n kedai --as=system:serviceaccount:ci:ci-botyes

      Cuba

      Bilik 4: sekarang di terminal. Buang kunci induk. Apply kad tugas dan pin. Kemudian tanya sebagai bot.

      Anda di sini: kluster kind-dev namespace default
      Masa: +0s (dipercepat)

      Semak

      Semakan akhir. Kerja bot kini perlu baca log pod untuk lapor ralat. Apa anda tambah?

      Pilih satu jawapan.

      Anda berjaya!

      Kini anda boleh kunci zon dan kecilkan kunci bot.

      Nak tahu lebih (pilihan)

      Latihan sebenar (pilihan): buat keempat-empat bilik dalam kluster kind buang sahaja. Buat zon kedai dan ci dulu. Dry run setiap label. Baca bar merah jambu “anda di sini” sebelum setiap delete.

      Misi sebenar

      1. kubectl create namespace kedai && kubectl create namespace ci
      2. kubectl label ns kedai pod-security.kubernetes.io/enforce=restricted
      3. kubectl create serviceaccount ci-bot -n ci
      4. kubectl create role deployer -n kedai --verb=get,list,patch --resource=deployments && kubectl create rolebinding ci-bot-deployer -n kedai --role=deployer --serviceaccount=ci:ci-bot
      5. kubectl auth can-i get secrets -n kedai --as=system:serviceaccount:ci:ci-bot

      0 daripada 5 langkah siap · Tanda anda disimpan.