
【摘要】基于青云LB来部署高可用的k8s集群。
前言
Kubernetes 和
KubeSphere 将不可用。因此,您需要为多个主节点配置负载均衡器,以搭建高可用集群。您可以使用任何云负载均衡器或任何硬件负载均衡器(例如 F5)。此外,您也可以使用
Keepalived+HAproxy或
NGINX 搭建高可用集群。

2.1 负载均衡器创建高可用集群:

2.2 使用 Keepalived 和 HAproxy/Nginx 创建高可用 Kubernetes 集群:


高可用方案
3.1 云上:
使用
Keepalived
和HAproxy
创建高可用 Kubernetes 集群(有些云可能不支持keepalived)使用
Keepalived
和Nginx
创建高可用 Kubernetes 集群(有些云可能不支持keepalived)可以直接使用云上的
lb
,比如阿里云slb
,腾讯云elb
,青云lb
等(推荐)
3.2 非云上:
使用
Keepalived
和HAproxy
创建高可用 Kubernetes 集群使用
Keepalived
和Nginx
创建高可用 Kubernetes 集群

青云LB负载均衡使用
Load Balancer,简称LB)提供安全快捷的流量分发服务,来自多个公网地址的访问流量经由 LB 可以自动分配到多台云服务器上,并支持自动检测并隔离故障云服务器,提供业务系统的服务能力和可用性。负载均衡支持千万级别并发访问请求,可轻松应对大流量访问,满足业务需求。
创建负载均衡器,指定ip地址或者自动生成IP
进入负载均衡器,创建监听器
选择TCP,
6443
端口(此端口可调整)添加master地址与监听
apiserver 6443
端口根据集群的部署位置,您可能需要在安全组中打开端口以确保外部流量不被屏蔽
可以同时配置内置负载均衡器和外置负载均衡器。为外置负载均衡器分配公共 IP 地址后,您可以使用该 IP 地址来访问集群,这里我们只用内置负载均衡器,利用青云VPN进行内网访问即可
4.1 部署k8s之前就是不可用状态,如下图所示:

4.2 k8s集群初始化:
kubeadm init --config kubeadm-init.yaml --upload-certs##说明:upload-certs 标志用来将在所有控制平面实例之间的共享证书上传到集群,若是不加会报错如下:
不加upload-certs报错如下:

4.3 kubeadm-init.yaml的内容如下:
apiVersion: kubeadm.k8s.io/v1beta3bootstrapTokens:- groups:- system:bootstrappers:kubeadm:default-node-tokentoken: abcdef.0123456789abcdefttl: 24h0m0susages:- signing- authenticationkind: InitConfigurationlocalAPIEndpoint:advertiseAddress: 192.168.0.1 #本机ks-m1的ipbindPort: 6443nodeRegistration:criSocket: /var/run/dockershim.sockimagePullPolicy: IfNotPresentname: ks-m1taints:- effect: NoSchedulekey: node-role.kubernetes.io/master---apiServer:timeoutForControlPlane: 4m0scertSANs:- "172.17.0.252"extraArgs:authorization-mode: "Node,RBAC"apiVersion: kubeadm.k8s.io/v1beta3certificatesDir: /etc/kubernetes/pkicontrolPlaneEndpoint: 172.17.0.252:6443 #此ip和端口是青云负载均衡器生成的内部负载ip+端口clusterName: kubernetescgroupDriver: systemdcontrollerManager: {}etcd:local:dataDir: /var/lib/etcdimageRepository: registry.aliyuncs.com/google_containerskind: ClusterConfigurationkubernetesVersion: 1.22.12networking:dnsDomain: cluster.localpodSubnet: 10.244.0.0/16serviceSubnet: 10.10.0.0/16scheduler: {}---apiVersion: kubeproxy.config.k8s.io/v1alpha1kind: KubeProxyConfigurationmode: ipvs
4.4 master都加入集群后,负载均衡器状态如下:

文章转载自架构至美,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




