适用场景

容器化能提高交付效率,但也带来新的运维面:镜像与仓库、网络与存储、资源限制、日志与证书。管好这五块,集群才稳。

配置步骤(容器与集群安全)

# 1) RBAC 最小权限:不用 cluster-admin 给业务
kubectl get clusterrolebinding | grep -v system
# 2) 禁止 privileged 与宿主网络
# 3) 镜像来自私有仓库并做漏洞扫描
# 4) 开启审计日志,记录 exec/port-forward 等操作

关键参数与建议

  • 镜像:固定版本标签(不要用 latest)、私有仓库、扫描漏洞
  • 资源:为每个工作负载设置 requests/limits,避免相互抢占
  • 网络:明确 CNI 方案,Service 暴露方式(NodePort/Ingress)要收敛
  • 日志与监控:容器日志集中采集,指标接入 Prometheus
  • 证书与令牌:kubeconfig、Ingress 证书、ServiceAccount 权限最小化

容易踩的坑

  • 业务用 cluster-admin,越权风险极高
  • 允许 privileged 容器,等于给出宿主权限
  • API Server 暴露公网且无来源限制

验证与巡检

kubectl auth can-i --as=system:serviceaccount:default:default get pods
  • 巡检:无过度授权绑定、API 仅内网可达、审计日志留存

小结

K8s 排障从四层看:节点(NotReady?)→ 调度(Pending?)→ 容器(CrashLoopBackOff?)→ 服务(网络/证书)。先把层定下来,再看日志。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。