EN: Read in English
Dunia K6: Pengawal
securityContext: kunci bekas
Anda akan belajar: empat kunci yang tahap restricted mahu, dan di mana setiap satu diletak.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Kubernetes 1.37 pada 31 Okt 2026
Masalahnya
Seorang pencuri pecah masuk satu bekas: container kedai anda. Ia berjalan sebagai root, dengan semua kuasa hidup. Sejauh mana pencuri boleh pergi?
Pilih satu jawapan.
Tengok
Kunci 1 dipasang pada seluruh dulang. securityContext: Kunci pada bekas: bukan root, tiada kuasa tambahan, penapis seccomp, fail baca sahaja. simpan kunci-kunci itu. Tekan dua baris yang halang root.
Tekan setiap baris yang halang tukang masak jadi root.
0 daripada 2 dijumpai
Petunjuk
Root ialah pengguna 0. Cari perkataan tentang pengguna.Tengok
kind-dev namespace defaultKunci dulang belum cukup. Setiap container perlu dua lagi. capabilities: Cebisan kecil kuasa root, contohnya ubah rangkaian. Buang SEMUA kecuali yang perlu. ialah cebisan kuasa root. Buang semuanya:
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]Cuba
Mei letak kunci container pada dulang. API server tak kenal kunci itu di situ. Pindahkan ke dalam container.
Baiki manifest ini, kemudian tekan Apply.
Cuba
Dua dulang menunggu dalam folder anda. cat kedua-duanya, kemudian apply yang pengawal terima.
kind-dev namespace defaultdev-control-planeBukaPengurusTiada dulang di sini.
dev-workerBukaTiada dulang di sini.
dev-worker2BukaTiada dulang di sini.
Petunjuk
Kira kuncinya. Pengawal mahu empat.Teka
Anda tambah readOnlyRootFilesystem: true. Aplikasi tulis fail sementara ke /tmp. Apa jadi?
Pilih satu jawapan.
Semak
Di mana setiap kunci boleh diletak? Asingkan.
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Anda berjaya!
Kini anda boleh kunci bekas dengan securityContext.
Nak tahu lebih (pilihan)
Restricted benarkan satu kuasa kembali: NET_BIND_SERVICE, untuk port bawah 1024. Banyak image berjalan sebagai root secara lalai. Dengan runAsNonRoot: true dan image root, kubelet enggan memulakannya: CreateContainerConfigError. Pilih image bukan root, atau tetapkan runAsUser.
Misi sebenar
kubectl create namespace locks && kubectl label ns locks pod-security.kubernetes.io/enforce=restrictedkubectl apply -n locks -f locked.yamlkubectl exec -n locks locked -- id
0 daripada 4 langkah siap · Tanda anda disimpan.
English
A thief breaks into one lunchbox: your shop’s container. It runs as root, with every power on. How far can the thief get?
Lock 1 goes on the whole tray. securityContext holds the locks. Tap the two lines that stop root.
The tray locks are not enough. Each container needs two more. Capabilities are slices of root’s power. Drop them all:
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
Mei put a container lock on the tray. The API server does not know it there. Move it into the container.
Two trays wait in your folder. cat them, then apply the one the guard accepts.
You add readOnlyRootFilesystem: true. The app writes a temp file to /tmp. What happens?
Where can each lock go? Sort them.
You can now lock a lunchbox with securityContext.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Configure a security context · Pod Security Standards: restricted · Restrict a container's syscalls with seccomp
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?