当前位置: 首页 > news >正文

命名空间级别应用 Pod 安全标准

🎯 命名空间级别应用 Pod 安全标准

一、创建 Kubernetes 集群(使用 kind)

使用 kind (Kubernetes IN Docker)快速创建一个本地集群:

kind create cluster --name my-cluster

验证集群是否运行正常:

kubectl cluster-info --context kind-my-cluster

二、创建命名空间

我们将在一个自定义的命名空间(如 yumeko)中应用 Pod 安全标准,而不是默认的 default 命名空间。

kubectl create namespace yumeko
kubectl get ns yumeko

✅ 命名空间创建成功后,我们将在这个命名空间上启用 Pod 安全标准。


三、为命名空间启用 Pod 安全标准

Kubernetes 从 1.25 起逐步废弃 PodSecurityPolicy (PSP),并引入了 Pod Security Admission(内置准入控制器),支持通过命名空间上的标签来定义 Pod 安全级别。

yumeko 命名空间设置 Pod 安全标准标签

执行以下命令为命名空间打标签:

kubectl label namespace yumeko \pod-security.kubernetes.io/enforce=baseline \pod-security.kubernetes.io/enforce-version=latest \pod-security.kubernetes.io/warn=restricted \pod-security.kubernetes.io/warn-version=latest \pod-security.kubernetes.io/audit=restricted \pod-security.kubernetes.io/audit-version=latest

✅ 这表示:

  • Enforce=baseline: 不符合 Baseline 的 Pod 将 被拒绝创建
  • Warn=restricted: 如果 Pod 不符合 Restricted,会显示 警告(但允许创建);
  • Audit=restricted: 用于审计目的,记录不符合 restricted 的 Pod(不阻止)。

🔒 你可以根据需求调整 enforce 的值为 restricted 来启用最高级别安全策略。


四、验证 Pod 安全标准是否生效

1. 准备一个简单的 Pod 配置文件(nginx-pod.yml)

在与终端相同目录下创建一个名为 nginx-pod.yml 的文件,内容如下:

# nginx-pod.yaml
cat <<EOF> /tmp/nginx-pod.yaml
apiVersion: v1
kind: Pod
metadata:name: nginx-pod
spec:containers:- name: nginximage: nginx:latestimagePullPolicy: Nevervolumes:- name: hostvolhostPath:path: /tmp
EOF

✅ 这证明我们在 yumeko 命名空间上设置的 enforce=baseline 已生效,能够阻止不安全的 Pod。


2. 在启用了安全策略的命名空间(yumeko)中创建 Pod

kubectl apply -n yumeko -f  /tmp/nginx-pod.yaml

预期结果:Pod 创建被拒绝,并出现类似以下错误:

Error from server (Forbidden): error when creating "nginx-pod.yaml": pods "nginx-pod" is forbidden: violates PodSecurity "baseline:latest": hostPath volumes (volume "hostvol")

✅ 这证明我们在 yumeko 命名空间上设置的 enforce=baseline 已生效,能够阻止不安全的 Pod。


3. 在默认命名空间(default)中创建同样的 Pod

执行以下命令:

kubectl apply -n default -f /tmp/nginx-pod.yaml

预期结果:Pod 成功创建,因为 default 命名空间没有启用任何 Pod 安全准入标签,因此不受 Baseline/Restricted 限制。


五、清理资源

当你完成测试后,可以删除该集群:

kind delete cluster --name my-cluster
http://www.xdnf.cn/news/1422955.html

相关文章:

  • 从组分到涌现:系统科学视域下结构、功能与层级的辨析及在人工智能中的应用
  • 安全等保复习笔记
  • 大模型 RAG 项目必看:技术架构拆解 + 实战步骤,新手也能快速上手
  • 内存管理 - 从虚拟到物理
  • Java全栈工程师面试实战:从基础到微服务的深度解析
  • CentOS10安装RabbitMQ
  • Spring Bean 生命周期中的 @PostConstruct 注解
  • NestJS 3 分钟搭好 MySQL + MongoDB,CRUD 复制粘贴直接运行
  • 【C++进阶篇】学习C++就看这篇--->多态超详解
  • 传统web项目,vue开发实践篇01
  • 微服务Docker-compose之若依部署
  • 视频提取文字用什么软件好?分享6款免费的视频转文字软件!
  • apipost 8.x 脚本循环调用接口
  • 云手机为什么会受到广泛关注?
  • 单链表的基本原理与实现
  • 深入掌握 Flask 配置管理:从基础到高级实战
  • uniapp使用uview UI,自定义级联选择组件
  • 六、练习3:Gitee平台操作
  • RSA的CTF题目环境和做题复现第1集
  • shell——函数与数组
  • 华东制造企业推荐的SD-WAN服务商排名
  • java中常见的几种排序算法
  • 毕业设计:丹麦电力电价预测预测未来24小时的电价pytorch+lstm+历史特征和价格+时间序列 电价预测模型资源 完整代码数据可直接运行
  • js脚本和ts脚本相互调用
  • 虚拟机一插SD卡就蓝屏,导致整个电脑系统蓝屏怎么办
  • 一、SVN与svnbucket.com常见问题解答
  • PTP高精度时间同步的核心:E2E与P2P延迟补偿机制
  • FPGA|Quartus II 中pll IP核的具体使用方法
  • 优化正则表达式性能:预编译与模式匹配的最佳实践
  • Coolutils Total PDF Converter中文版:多功能PDF文件转换器