K8S认证|CKS题库+答案| 11. AppArmor

目录

[11. AppArmor](#11. AppArmor)

[免费获取并激活 CKA_v1.31_模拟系统](#免费获取并激活 CKA_v1.31_模拟系统)

题目

开始操作:

1)、切换集群

2)、切换节点

[3)、切换到 apparmor 的目录](#3)、切换到 apparmor 的目录)

[4)、执行 apparmor 策略模块](#4)、执行 apparmor 策略模块)

[5)、修改 pod 文件](#5)、修改 pod 文件)

6)、编辑yaml文件

7)、应用yaml

8)、检查执行情况


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高仿真环境简单演示视频

相关推荐
画中有画1 小时前
使用yolov8实现自动化脚本
运维·yolo·自动化
Piko6143 小时前
H3C IRF2 堆叠实战:打造高可靠核心交换网络
运维·网络·笔记
万联WANFLOW6 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
酱学编程7 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
程序员老油条7 小时前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
SkyWalking中文站8 小时前
认识 Horizon UI · AI Assistant:用日常语言查询你的可观测性数据
运维·监控·自动化运维
大侠锅锅9 小时前
第 4 篇:策略模式实践——用统一接口管理 Docker 容器、原生进程与 K3s Pod
docker·容器·边缘计算·策略模式·iot
艾莉丝努力练剑9 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间9 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
Hoxy.R10 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库