Kubernetes 有状态应用、准入控制与授权最佳实践
在 Kubernetes 环境中,管理有状态应用、配置准入控制和授权模块是确保集群安全、高效运行的关键。本文将深入探讨这些方面的最佳实践。
有状态应用管理
大型分布式有状态应用往往需要复杂的管理和配置操作,Kubernetes 的 StatefulSets 和 Operators 能为其带来便利。
StatefulSets 使用决策
使用 StatefulSets 需谨慎,因为有状态应用通常需要更深入的管理,而当前编排器在这方面的能力有限。
无头服务创建
StatefulSet 的无头服务不会自动创建,必须在部署时手动创建,以确保 Pod 能作为独立节点被正确寻址。
持久卷分配
应用需要顺序命名和可靠扩展时,并不一定意味着需要分配持久卷。
节点无响应处理
当集群中的节点无响应时,StatefulSet 中的 Pod 不会自动删除,而是在宽限期后进入“Terminating”或“Unknown”状态。清除这些 Pod 的方法有:从集群中移除节点对象、让 kubelet 恢复工作并直接删除 Pod,或使用 Operator 强制删除 Pod。强制删除应作为最后手段,且要确保被删除 Pod 所在的节点不会重新上线,以免集群中出现同名 Pod。可使用以下命令强制删除 Pod:
kubectl delete pod nginx-0 --grace-period=0 --force
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



