AKS集群升级至Kubernetes 1.25.6时已移除API处理方案咨询
解决AKS升级到Kubernetes 1.25时PodSecurityPolicy废弃问题
Kubernetes 1.25正式移除了policy/v1beta1版本的PodSecurityPolicy(PSP)API,你检测到的这些PSP资源必须替换为新的Pod安全管控机制才能顺利完成AKS升级。以下是具体解决方案:
1. 先备份现有PSP资源
避免操作失误导致配置丢失,先导出所有PSP的yaml配置:
kubectl get psp -A -o yaml > psp-backup.yaml
2. 用Pod Security Admission(PSA)替代PSP
PSA是Kubernetes 1.23+内置的Pod安全管控方案,完全替代PSP的功能,AKS集群在1.24及以上版本默认启用该控制器。你需要将原PSP的规则映射到Pod Security Standards(PSS)的三个内置策略级别:
- Privileged:完全放宽,允许所有权限(适合系统组件命名空间)
- Baseline:基础安全限制,阻止高危权限(适合大部分应用)
- Restricted:严格安全限制,符合最佳实践(适合敏感应用)
为相关命名空间配置PSS策略
针对你列出的命名空间,通过添加标签直接启用对应级别策略:
# 为kube-prometheus-stack相关命名空间启用Restricted级别(可根据原PSP规则调整) kubectl label namespace kube-prometheus-stack-alertmanager \ pod-security.kubernetes.io/enforce=restricted \ pod-security.kubernetes.io/warn=restricted \ pod-security.kubernetes.io/audit=restricted kubectl label namespace kube-prometheus-stack-kube-state-metrics \ pod-security.kubernetes.io/enforce=restricted \ pod-security.kubernetes.io/warn=restricted \ pod-security.kubernetes.io/audit=restricted kubectl label namespace monitoring \ pod-security.kubernetes.io/enforce=restricted \ pod-security.kubernetes.io/warn=restricted \ pod-security.kubernetes.io/audit=restricted
enforce:强制拒绝不符合策略的Pod创建warn:对不符合策略的操作发出警告audit:记录不符合策略的操作日志
如果原PSP规则和内置级别不匹配,可以通过ValidatingAdmissionPolicy自定义安全约束,但推荐优先使用内置PSS以降低复杂度。
3. 升级kube-prometheus-stack Helm Chart
你检测到的PSP资源大概率是由kube-prometheus-stack的旧版本Chart创建的,需要升级Chart到兼容Kubernetes 1.25的版本:
- 更新Helm仓库:
helm repo update prometheus-community
- 备份现有Chart配置:
helm get values kube-prometheus-stack -n monitoring > prom-values-backup.yaml
- 升级Chart(选择兼容1.25的稳定版本):
helm upgrade kube-prometheus-stack prometheus-community/kube-prometheus-stack \ -n monitoring \ --version <兼容K8s 1.25的版本号> \ -f prom-values-backup.yaml
新版本Chart会自动移除PSP相关配置,改用符合1.25要求的安全机制。
4. 移除废弃的PSP资源
确认PSA策略生效且所有Pod运行正常后,删除旧版本PSP:
# 删除所有policy/v1beta1版本的PSP kubectl delete psp $(kubectl get psp -o jsonpath='{.items[?(@.apiVersion=="policy/v1beta1")].metadata.name}')
5. 验证兼容性
再次运行kubent检测,确认无废弃API提示:
kubent
同时测试在相关命名空间创建Pod,验证PSA策略正常工作。
内容的提问来源于stack exchange,提问作者user44663
相关产品推荐
相关产品推荐

