容器的定義中包含 securityContext
字段,該字段接受 SecurityContext 對象。通過指定該字段,可以為容器設定安全相關的配置,當該字段的配置與 Pod 級別的 securityContext
配置相沖突時,容器級別的配置將覆蓋 Pod 級別的配置。容器級別的 securityContext
不影響 Pod 中的數據卷。
示例中的 Pod 包含一個 Container,且 Pod 和 Container 都有定義 securityContext 字段:
apiVersion: v1
kind: Pod
metadata:name: security-context-demo-2
spec:securityContext:runAsUser: 1000containers:- name: sec-ctx-demo-2image: busyboxcommand: [ "sh", "-c", "sleep 1h" ]securityContext:runAsUser: 2000allowPrivilegeEscalation: false
-
執行命令以創建 Pod
kubectl apply -f security-context-2.yaml
-
執行命令以驗證容器已運行
kubectl get pod security-context-demo-2
輸出內容:
NAME READY STATUS RESTARTS AGE security-context-demo-2 2/2 Running 0 3m17s
-
執行命令進入容器的命令行界面:
kubectl exec -it security-context-demo-2 -- sh
-
在命令行界面中查看所有的進程
ps aux
? 輸出結果:
?
PID USER TIME COMMAND1 2000 0:00 sh -c sleep 1h7 2000 0:00 sh13 2000 0:00 ps aux
- 執行命令
exit
退出命令行界面