k8s集群搭建的四种方式
2023-04-02 本文已影响0人
mafa1993
集群搭建
- 一般是多个控制面,每个控制面有自己的apiserver和etcd,然后多个控制面之间使用haproxy和keepaliaved实现高可用,并通过ha进行负载均衡
搭建工具
- 二进制
- kubeadm 无法进行操作系统的安装和配置
- kubespray,可以进行操作系统的安装配置,缺少声明式api处理,搭建完成后无法对集群进行控制
- kops,基于声明式api,使用cluster api 进行集群搭建
kubeadm搭建的特殊参数
- kubeadm 子节点加入时,使用--control-plan 可以声明这个节点也是master,kubeadm会自动安全装控制面
kubespray搭建高可用集群
- 其本身提供一个docker镜像,可以通过inventory.ini和vars.yaml进行集群的一些配置,然后ini会生成一个hosts.yml,然后node节点配置免密登录(证书登录),其会ssh到节点上,进行安装
kops
- 支持集群扩缩容
- 节点的健康检查和自动修复
- kubernetes升级
- 操作系统升级
- 使用k8s搭建k8s
基本架构
- 有个管理集群,相当于一个小型的控制面,用来创建集群,利用kind在docker里启动一个k8s
- workload集群,用于集群管理
- infrastructure provider ,基础架构管理,计算节点、网络等
- bootstrap provider,证书生成、控制组件出事话、监控节点
- control plane k8s控制平面组件
- 可以使用kubectl scale 直接修改副本数
- machineDeployment,用来创建节点。machineHealthCheck,节点健康检查