如何在GKE集群中强制启用Web UI以测试SCC功能?
解决GKE启用Web UI触发WEB_UI_ENABLED告警的测试方案
一、GKE版本降级的限制说明
GKE目前已停止对1.15及以下版本的官方支持,无法通过正规渠道创建或切换到这些版本,因此依赖旧版本启用原生Dashboard的路径已不可行。
二、替代测试方案
1. 自定义SCC检测规则模拟告警
如果测试场景允许自定义规则,可以创建一个与WEB_UI_ENABLED逻辑匹配的自定义检测规则:
- 规则目标:检测集群中是否存在带有
kubernetes.io/dashboard标识的Deployment或Service资源 - 触发条件:当上述资源存在时触发告警,以此模拟原生
WEB_UI_ENABLED的告警触发逻辑
2. 申请临时权限部署开源Dashboard
若能申请到集群的编辑权限,可通过部署开源Kubernetes Dashboard来触发告警:
- 获取对应版本的Dashboard部署yaml文件,执行部署命令:
kubectl apply -f <dashboard-deployment.yaml> - 创建管理员ServiceAccount并绑定集群权限:
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin - 获取登录令牌(可选,用于验证Dashboard可访问):
部署完成后,SCC会检测到Web UI服务并触发对应告警(需确保检测规则已覆盖该场景)。kubectl -n kubernetes-dashboard create token dashboard-admin
三、原生Dashboard配置项的废弃说明
GKE从1.16版本开始,addonsConfig.kubernetesDashboard配置项已被官方废弃,即使手动修改该字段的disabled: false也不会生效,原生Dashboard插件已从GKE中移除,无需尝试该配置路径。
内容的提问来源于stack exchange,提问作者Cris Teller
相关产品推荐
相关产品推荐

