17. SecurityContext安全容器配置原题
问题:
修改运⾏在 namespace app,名为 lamp-deployment 的现有 Deployment,使其
containers:
使⽤⽤户 ID 30000 运⾏
使⽤⼀个**只读的根⽂件系统 **
禁⽌ privilege escalation
正确答案:
注意!注意!注意!
重要事情说三遍!!!
请注意,考试和模拟环境中,先检查 spec 下面(与 containers:同级别字段)是否有 securityContext: {},如果有则可以直接修改即可。否则重复添加是不生效的。
有几个image就新增几个字段。
注意:
k8s文档中给出来的是pod的示例,而你需要部署的是deployment。所以不能直接在spec. 下面直接增加securityContext这个字段。需要到spec.template.spec.containers. 下面增加这个字段
5 apiVersion: apps/v1
6 kind: Deployment
7 metadata:
... ...
30 template:
31 metadata:
32 creationTimestamp: null
33 labels:
34 app: lamp-deployment
35 spec:
36 containers: #在containers下添加securityContext配置
37 - image: redis
38 imagePullPolicy: Always
39 name: redis
40 resources: {}
41 securityContext: # 如果保存失败, 注意下空格, 别⽤table键
42 allowPrivilegeEscalation: false #添加以下三行
43 readOnlyRootFilesystem: true #
44 runAsUser: 30000 #