Kubernetes 集群使用指南
1. 复制控制器与节点状态问题
在 Kubernetes 中,当主节点无法与某个节点通信时,该节点处于不确定状态,它可能正在运行,也可能没有运行。若同一个 Pod 在另一台机器上重启,可能会出现两个具有相同名称和标识的 Pod 同时运行的情况,这会引发各种问题。例如,分布式日志可能会从多个地方写入,且都使用相同的 Pod ID 作为键;或者 Pod ID 被用作主选举系统的一部分,客户端可能会混淆哪个 Pod 才是真正的主节点。
为了可靠地运行工作负载,需要使用复制控制器(Replication Controller)。复制控制器会使用 Pod 模板,并确保始终有指定数量的 Pod 运行以完成任务。当主节点无法与节点通信时,复制控制器负责启动新的 Pod 来替换丢失的 Pod;若通信恢复,复制控制器会删除多余的 Pod 之一。
2. 容器网络连接
- 问题 :你希望控制网络流量如何定向到在 Kubernetes 集群中调度的容器。
- 解决方案 :使用为每个容器分配独立 IP 地址的网络子系统,以便直接寻址。Kubernetes 附带了一组脚本,便于在各种云环境中启动。许多集群部署系统会自动为你正确设置网络。若要深入了解,可从 CoreOS 的 Flannel 开始(见相关内容)。其他选项还包括:
- 为运行所在的云构建内部网络路由,GCE 和 Amazon EC2 已内置支持。
- 对于大型裸机部署,可使用 Project Calico。
超级会员免费看
订阅专栏 解锁全文
7万+

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



