- 部署关键组件
- 部署 kube-proxy
- 部署网络插件
- 部署集群 DNS
部署关键组件
部署 kube-proxy
kube-proxy 会请求 apiserver 获取 Service 及其 Endpoint,将 Service 的 ClUSTER IP 与对应 Endpoint 的 Pod IP 映射关系转换成 iptables 或 ipvs 规则写到节点上,实现 Service 转发。
部署方法参考 以 Daemonset 方式部署 kube-proxy
部署网络插件
参考 部署 Flannel
部署集群 DNS
集群 DNS 是 Kubernetes 的核心功能之一,被许多服务所依赖,用于解析集群内 Pod 的 DNS 请求,包括:
- 解析 service 名称成对应的 CLUSTER IP
- 解析 headless service 名称成对应 Pod IP (选取一个 endpoint 的 Pod IP 返回)
- 解析外部域名(代理 Pod 请求上游 DNS)
可以通过部署 kube-dns 或 CoreDNS 作为集群的必备扩展来提供命名服务,推荐使用 CoreDNS,效率更高,资源占用率更小,部署方法参考 部署 CoreDNS