题目
在?cluster?的工作节点上,实施位于?/etc/apparmor.d/nginx_apparmor的现有APPArmor?配置文件。 编辑位于?/home/candidate/KSSH00401/nginx-deploy.yaml的现有清单文件以应用?AppArmor?配置文件。 最后,应用清单文件并创建其中指定的?Pod?。
参考
使用 AppArmor 限制容器对资源的访问 | Kubernetes
步骤
1 检查下配置文件
vi /etc/apparmor.d/nginx_apparmor
profile nginx-profile-3 flags=(attach_disconnected) {
#include <abstractions/base>
file,
# Deny all file writes.
deny /** w,
}
2 执行
apparmor_parser -q?/etc/apparmor.d/nginx_apparmor
apparmor_status | grep nginx (检查下是否返回nginx-profile-3,返回说明执行成功)
3 修改Pod文件
vi /home/candidate/KSSH00401/nginx-deploy.yaml
apiVersion: v1
kind: Pod
metadata:
name: podx
annotations: #添加这一部分
container.apparmor.security.beta.kubernetes.io/podx: localhost/nginx-profile-3
spec:
containers:
- image: busybox
imagePullPolicy: IfNotPresent
name: podx #这个就是containers下的名字,为podx
command: [ "sh", "-c", "echo 'Hello AppArmor!' && sleep 1h" ]
resources: {}
nodeName: node01
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
4 创建这个pod
kubectl apply -f /home/candidate/KSSH00401/nginx-deploy.yaml
5 可以检查下,如果想写入文件会报错,kubectl exec podx -- touch /tmp/test
|