当前位置: 首页 > news >正文

kubernetes 高可用集群

目录

一、haproxy负载均衡

二、pacemaker高可用

三、部署control-plane

四、部署worker node


实验环境

主机名

IP

角色

docker

192.168.67.10

harbor

k8s1

192.168.67.11

control-plane

k8s2

192.168.67.12

control-plane

k8s3

192.168.67.13

control-plane

k8s4

192.168.56.14

haproxy,pacemaker

k8s5

192.168.67.15

haproxy,pacemaker

k8s6

192.168.67.16

worker node

一、haproxy负载均衡

配置软件仓库

vim yyl.repo#高可用的
[HighAvailability]
name=rhel7.6 HighAvailability
baseurl=file:///media/addons/HighAvailability
gpgcheck=0

下载软件

yum install -y haproxy net-tools

编辑配置文件

测试:

测试成功后关闭服务,不要设置自启动

二、pacemaker高可用

同步配置文件
scp yyl.repo  k8s5:/etc/yum.repos.d/
安装软件
yum install  -y pacemaker pcs psmisc policycoreutils-python
两个节点都要

启动pcsd服务  设置用户密码   节点认证
systemctl enable --now pcsd.service
ssh k8s5 systemctl enable --now pcsd.serviceecho westos | passwd --stdin hacluster
ssh k8s6 'echo westos | passwd --stdin hacluster'pcs cluster auth k8s4 k8s5

 创建集群

pcs cluster setup --name mycluster k8s5 k8s4

启动集群

pcs cluster start --all

 集群自启动

pcs cluster enable --all

禁用stonith

pcs property set stonith-enabled=false

添加集群资源

pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.67.200 op monitor interval=30s
pcs resource create haproxy systemd:haproxy op  monitor interval=60s
pcs resource group add hagroup vip haproxy

测试

pcs node standby
资源全部迁移到k8s5 恢复:
pcs node  unstandby

测试:

三、部署control-plane

k8s1、k8s2、k8s3在配置前需要重置节点

kubeadm reset
kubeadm reset  --cri-socket unix:///var/run/cri-dockerd.sock
kubeadm reset  --cri-socket unix:///var/run/cri-dockerd.sockcd /etc/cni/net.d  初始化需要清除
rm -fr *reboot  可以使iptable 和 ipvs 策略被自动清除

加载内核模块

modprobe overlay
modprobe br_netfilter
生成初始化配置文件
kubeadm config print init-defaults > kubeadm-init.yaml

修改配置

初始化集群

kubeadm init   --config kubeadm-init.yaml --upload-certs

部署网络组件

kubectl apply -f calico.yaml

添加其它control-plane节点
kubeadm join 192.168.56.200:6443 --token abcdef.0123456789abcdef         --discovery-token-ca-cert-hash sha256:51184d632ecb2f9e6c7f82b064e07c01974924d359eb98035aae7ce98e56d60d         --control-plane --certificate-key cb28e3d92a419945a34a6a2d1db49c80fbf5d8275c28e40f8c7e0450a9ad8fb5

四、部署worker node

新添加的节点需要初始化配置

  1. 禁用selinux、firewalld、swap分区
  2. 部署containerd
  3. 安装kubelet、kubeadm、kubectl
  4. 配置内核模块

禁用swap

swapoff -a
vim /etc/fstab

安装containerd、kubelet、kubeadm、kubectl  从其它节点拷贝repo文件

scp k8s.repo docker.repo  k8s6:/etc/yum.repos.d/
yum install -y containerd.io kubeadm-1.24.17-0 kubelet-1.24.17-0 kubectl-1.24.17-0

自启动服务

systemctl enable --now containerd
systemctl enable --now kubelet

拷贝containerd的配置文件

scp -r * k8s6:/etc/containerd/

重启服务:

systemctl  restart containerd
crictl config runtime-endpoint unix:///run/containerd/containerd.sock
crictl pull myapp:v1

配置内核模块:

cd /etc/sysctl.d/
scp docker.conf k8s7:/etc/sysctl.d/modprobe overlay
modprobe br_netfilter
sysctl --system

添加worker节点

kubeadm join 192.168.56.200:6443 --token abcdef.0123456789abcdef         --discovery-token-ca-cert-hash sha256:8845bd441093179e02b51a239075a64b5386085bb702c11397c21abebb132d25

测试:

http://www.lryc.cn/news/235290.html

相关文章:

  • java实现插入排序
  • 深度学习之基于YoloV5血红细胞检测识别系统
  • 8、可视化高斯滤波器并完成高斯滤波
  • Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式
  • 2342. 数位和相等数对的最大和 --力扣 --JAVA
  • linux如何重置root密码
  • Java 类之 java.util.Properties
  • 我遇到的bug(活动)
  • MIB 6.1810实验Xv6 and Unix utilities(3)pingpong
  • 压力测试总共需要几个步骤?思路总结篇
  • 03_面向对象高级_多态
  • 【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES
  • 企业计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密文件恢复
  • Sonar生成PDF错误Can‘t get Compute Engine task status.Retry..... HTTP error: 401
  • storage和正则表达式
  • 【数据结构】图的广度优先遍历
  • AM@函数展开成幂级数@间接法@常用麦克劳林幂级数展开公式
  • LeetCode994.腐烂的橘子
  • 【开源】基于Vue和SpringBoot的康复中心管理系统
  • 【音视频基础】AVI文件格式
  • 图书馆整理I(从尾到头打印列表),剑指offer,力扣
  • C++编写的多线程自动爬虫程序
  • SMB信息泄露的利用
  • QT自定义信号,信号emit,信号参数注册
  • 06.webpack性能优化--构建速度
  • 11-15 周三 softmax 回归学习
  • React新手必懂的知识点
  • es为什么这么快
  • Pandas分组聚合_Python数据分析与可视化
  • VMware17虚拟机Linux安装教程(详解附图,带VMware Workstation 17 Pro安装)