k8s高可用架构

本文介绍了如何利用SealOS和kubeadm定制版来构建Kubernetes的高可用架构,通过IPVS代理多台Master节点,避免依赖keepalived、haproxy和ansible。详细步骤包括环境介绍、apiserver配置、Kubernetes离线包下载、各节点初始化、Master节点的加入和Node节点的设置,以及健康检查机制。
摘要由CSDN通过智能技术生成

概述

地址sealos, 让kubernetes高可用不再需要keepalived haproxy和ansible,sealyun定制超级版kubeadm通过ipvs代理多个master,优雅解决k8s高可用问题。

环境介绍

ip	role
10.103.97.200	master0
10.103.97.201	master0
10.103.97.202	master0
10.103.97.2	virtulIP

apiserver.cluster.local apiserver解析名

下载kubernetes1.14.0+离线包

在每个节点上初始化

tar zxvf kube1.14.0.tar.gz && cd kube/shell && sh init.sh

用下载的kubeadm替换掉包内的kubeadm:

cp kubeadm /usr/bin/kubeadm

kubeadm配置文件

cat kubeadm-config.yaml :

apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: v1.14.0
controlPlaneEndpoint: "apiserver.cluster.local:6443" # 使用解析名去访问APIserver
apiServer:
        certSANs:
        - 127.0.0.1
        - apiserver.cluster.local
        - 172.20.241.205
        - 172.20.241.206
  
Kubernetes(通常简称为K8s)是一个用于自动化部署、扩展和管理容器化应用程序的开源平台。它的高可用集群架构主要包括以下几个组件和机制: 1. Master节点:Kubernetes集群的控制平面组件运行在Master节点上,它们包括etcd、kube-apiserver、kube-controller-manager和kube-scheduler。Master节点起着集群的大脑和控制中心的作用,负责管理和控制整个集群的运行。 2. Worker节点:Kubernetes集群中的工作节点,也被称为Minion或Node。它们用来运行容器化的应用程序。每个Worker节点上都运行着一个kubelet进程和一个kube-proxy进程,用于与Master节点进行通信、接收指令、执行任务以及负载均衡等。 3. etcd:Kubernetes使用etcd作为集群中所有重要数据的分布式键值存储数据库。etcd以高可用的方式运行,并在整个集群中保持数据的一致性和可靠性。 4. 健康检查和故障转移:Kubernetes的高可用集群架构中包含了许多健康检查和故障转移机制,以确保集群的稳定性和容错性。例如,kube-apiserver利用持久化存储来记录集群状态,并使用选举机制选出一个新的Leader节点以应对Master节点的单点故障。 5. 负载均衡:Kubernetes集群可以通过负载均衡器来分发流量和请求,确保应用程序在各个Worker节点上的均衡分布。常见的负载均衡方式包括Round Robin、Session Sticky等。 6. 水平伸缩:Kubernetes提供了水平伸缩的能力,可以根据应用程序的负载情况自动增加或减少容器的数量,以提高整个集群的性能和可用性。 总结起来,Kubernetes的高可用集群架构通过Master节点的管理和控制,Worker节点的执行和负载均衡,etcd的数据存储和一致性,以及多种健康检查和故障转移机制,实现了集群的高可用性、容错性和稳定性,从而保证了容器化应用程序的持续可靠运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值