接上回,刚用kubespray部署了个多master的集群,现在用haproxy+keepalive的方式做个高可用,顺便整理成ansible的形式
整体的流程,就是客户端 → VIP (10.163.2.150:6444) → 当前主节点的 HAProxy → 某个 master 节点的 kube-apiserver
本文所有配置文件都是用简化写法,为的是方便,完全可以进行扩充,或者使用j2模板的形式
keepalive配置1234567891011121314151617181920212223242526272829303132333435363738394041424344454...
Kubespray 是一个开源的 Kubernetes 部署、配置和管理工具。它的核心目标是提供一种高可用、生产就绪的 Kubernetes 集群部署方案。您可以把它理解为一个强大的、自动化的“Kubernetes 安装器”。
其实就是使用ansible的这么一种方式,以前可以用ansible+kubeadm,现在这CNCF直接提供了一种使用ansible来部署高可用的方法
支持的系统版本
kubernetes-sigs/kubespray: Deploy a Production Ready Kubernetes Cluster
其中2.20版本支持k8s v1.24.6的安...
SaltStack是一个功能极其强大的基础设施自动化与管理平台。它的核心设计目标是速度、可扩展性和智能化,能够轻松管理从几十台到数万台服务器的环境。
早期运维人员会根据自己的生产环境来写shell脚本完成大量重复性工作,shell脚本复杂并且难以维护,几乎除了函数之外没有一丁点可复用性
salt和ansible对比
特性
Salt (SaltStack)
Ansible
架构模式
C/S 架构 (主从模式)
无代理架构 (基于SSH)
通信方式
长连接、加密的消息队列
短连接、SSH协议
工作模式
Master 将任务发布到消息总线,Minions 主动拉取...
锁与集群管理层:dlm (Distributed Lock Manager) 和 lvm2-lockd 是基石。它们为上层(LVM和GFS2)提供跨节点的分布式锁机制,确保在多个节点同时操作共享存储时数据的一致性。
共享存储层:iSCSI 提供共享块设备,multipath确保路径高可用,共享模式的LVM使得所有节点都能看到统一的物理和逻辑卷视图。
集群文件系统层:GFS2是关键。它利用底层的DLM,使得 /var/www/html 可以被三个节点同时挂载、读写,而不会导致文件系统损坏。
资源管理调度层:Pacemaker 负责管理所有资源(DLM、LVM、Filesystem、HT...
正在美美摸鱼呢,领导来消息了,让我帮他删一下一台云主机上的文件,要求删除所有/mnt下所有archived开头的目录
这是一个超大nfs挂载,使用的是阿里云的NAS,其中有500T数据被占用,有多大呢,连输入ls都会卡住
12df -Th | grep mntxxx[.cn-hangzhou.nas.aliyuncs.com:/ nfs 10P 502T 9.6P 5% /mnt2
解决思路find与xargs
首先肯定是find,因为我们要的是archived开头的目录,它可以很快帮我们找出哪些目录需要删除
123456789101112131415...
心血来潮进行的整理,挺早面试的时候有被问到过,但当时我还很菜,就没有答出来
ifupdown用于ubuntu16.04LTS及以前版本系统的网络管理
也可以用于18.04的管理
ifupdown得名于其启用与禁用网卡的方式:ifup eth0 和ifdown wth0
12345678910111213主配置文件/etc/network/interfaces子配置文件/etc/network/interfaces.d/cat /etc/network/interfaces# This file describes the network interfaces available on y...
环境准备123456789101112131415161718192021222324252627282930313233343536373839404142434445管理网络10.163.2.0/24 DHCP存储网络172.16.0.0/24系统版本CentOS 8.5.2111交换机用L2做,这样简单点正常生产会使用两台L3,两条链路,两块网卡做bond# 更新yum源rm -rf /etc/yum.repos.d/*curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-...
HA-LVM(高可用LVM)是LVM在集群环境中的扩展,通过主/从配置实现共享存储的故障转移。主节点独占访问存储,从节点在主节点故障时接管。
对于使用传统文件系统(如ext4或xfs)的Active/Passive应用程序来说是一个不错的选择。为防止数据损坏,一次只有一个节点可以访问卷组挂载文件系统。
拓扑
环境说明
1234567eve-ng10.163.2.125 10.163.3.113 iscsi-target CentOS7.910.163.2.100 10.163.3.114 pcs1 CentOS8.010.163.2.102 10.1...
dm-multipath介绍一个系统如果可以使用多个不同的通信路径访问同一个存储设备,如光纤、iscsi、SAS等。
想满足当其中一条路径出现故障时,自动切换到另一条路径的需求,红帽推荐使用dm-multipath子系统实现多路径支持
dm-multipath会根据/etc/multipath.conf中的设置,自动检测路径并将路径分组,当组出现故障时,守护进程会将存储流量切换到另一个组
按名称访问多路径设备
内核为每个多路径设备分配一个世界范围标识符WWIDs,默认情况下系统会将设备名称直接设置为其WWIDs。并在/dev/mapper下为每...
如果情况非常特殊需要选择部署偶数节点的Pacemaker集群,也不是不行
脑裂问题挑战在偶数节点集群容易受到脑裂的影响:俩节点精确分成两半,都能正常工作且成为自己是正常的
红帽建议使用仲裁设备充当第三个节点
two_node标志
没有节点故障的余地,所以进行双机部署时,Pacemaker会自动设置votequorum为two_node标志,这种模式下集群将仲裁设置为1,只允许一个节点失败
1234567891011121314151617181920212223242526272829cat /etc/corosync/corosync.conf.1754551840totem ...