目录
[11. AppArmor](#11. AppArmor)
[免费获取并激活 CKA_v1.31_模拟系统](#免费获取并激活 CKA_v1.31_模拟系统)
[3)、切换到 apparmor 的目录](#3)、切换到 apparmor 的目录)
[4)、执行 apparmor 策略模块](#4)、执行 apparmor 策略模块)
[5)、修改 pod 文件](#5)、修改 pod 文件)
11. AppArmor
免费获取并激活 CKA_v1.31_模拟系统
题目
您必须在以下Cluster/Node上完成此考题:
Cluster Master node Worker node
CKS01111 master node01
.
设置配置环境:candidate@node01\]$ kubectl config use-context CKS01111 . **Context** APPArmor 已在 cluster 的工作节点 node02 上被启用。一个 APPArmor 配置文件已存在,但尚未被实施。 . **Task** . 在cluster 的工作节点 node02 上,实施位于 /etc/apparmor.d/nginx_apparmor 的现有 APPArmor 配置文件。 . 编辑位于 /cks/KSSH00401/nginx-deploy.yaml 的现有清单文件以应用 AppArmor 配置文件。 最后,应用清单文件并创建其中指定的 Pod 。
bash
参考连接:
https://kubernetes.io/zh-cn/docs/tutorials/security/apparmor/#example
开始操作:
1)、切换集群
bash
kubectl config use-context CKS01111
2)、切换节点
bash
ssh node02
sudo -i
3)、切换到 apparmor 的目录
bash
cd /etc/apparmor.d/
cat nginx_apparmor
查nginx_apparmor配置文件
bash
root@node02:/etc/apparmor.d# cat nginx_apparmor
#include <tunables/global>
#nginx-profile-3 #检查这一行是否存在 存在则注释掉
profile nginx-profile-3 flags=(attach_disconnected) {
#include <abstractions/base>
file,
# Deny all file writes.
deny /** w,
}
4)、执行 apparmor 策略模块
bash
apparmor_parser -q /etc/apparmor.d/nginx_apparmor
apparmor_status | grep nginx-profile-3
CKS模拟系统截图

5)、修改 pod 文件
bash
root@node02:~# exit
logout
candidate@node02:~$ exit
logout
Connection to node02 closed.
candidate@node01:/$
6)、编辑yaml文件
bash
vim /cks/KSSH00401/nginx-deploy.yaml
具体内容如下:
bash
#添加 annotations,kubernetes.io/podx 名字要和 containers 里的 name 一样,nginx-profile-3 为前面在 worker node02 上执行的 apparmor 策略模块的名字。
apiVersion: v1
kind: Pod
metadata:
name: podx
annotations:
container.apparmor.security.beta.kubernetes.io/podx: localhost/nginx-profile-3
spec:
containers:
- image: nginx:1.16
imagePullPolicy: IfNotPresent
name: podx
command: [ "sh", "-c", "echo 'Hello AppArmor!' && sleep 5h" ]
resources: {}
nodeSelector:
name: node02
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
7)、应用yaml
bash
kubectl apply -f /cks/KSSH00401/nginx-deploy.yaml
8)、检查执行情况
bash
kubectl get pod
kubectl exec podx -- cat /proc/1/attr/current
kubectl exec podx -- touch /tmp/test
CKA高仿真环境简单演示视频