kubernetes ansible 自动化部署
服务器规划
角色 | IP | 组件 |
---|---|---|
k8s-master1 | 10.12.12.15 | kube-apiserver kube-controller-manager kube-scheduler etcd |
k8s-master2 | 10.12.12.17 | kube-apiserver kube-controller-manager kube-scheduler etcd |
k8s-02 | 10.12.12.22 | kubelet kube-proxy docker etcd |
k8s-03 | 10.12.12.21 | kubelet kube-proxy docker etcd |
load Balancer(master) | 10.12.12.15 10.12.12.23(VIP) | nginx keepalived |
load Balancer(backup) | 10.12.12.17 | nginx keepalived |
系统初始化
- 关闭 selinux,firewalld
- 关闭 swap
- 时间同步
- 写 hosts
- ssh 免密(可选)
etcd 集群部署
- 生成 etcd 证书
- 部署三个 ETC 集群
- 查看集群状态
部署 Masterß
- 生成 apiserver 证书
- 部署 apiserver、controller-manager 和 scheduler 组件
- 启动 TLS Bootstrapping
部署 Node
- 安装 Docker
- 部署 Kubelet 和 kube-proxy
- 在 Master 上运行为新 Node 颁发证书
- 授权 apiserver 访问 kubelet
部署插件(准备好镜像)
- Flannel
- Web UI
- CoreDNS
- Ingress Controller
Master 高可用
- 增加 Master 节点(与 Master1 一致)
- 部署 nginx 负载均衡器
- Nginx+Keepalived 高可用
- 修改 Node 连接 VIP