salt的在命令行输入的命令都是salt的远程执行模块,也就是一次性远程执行的方法ad-hoc,主要用于临时故障排除、一次性任务、实时查询
在ansible中,ansible的ad-hoc与playbook实际上使用的模块是同一种东西,两种不同的使用方式
salt不一样,salt的执行模块实际上是执行一个动作这样的一次性操作
而“状态模块”是希望其能够保持某种最终的状态,所以这里将常用模块和执行模块放到一块
特性
远程执行模块 (Execution Modules)
状态模块 (State Modules)
哲学
命令式 (Imperative):如何做?“现在就做这件事!”...
OpenELB是国内青云开源的一个负载均衡器,也是CNCF的沙箱项目,其实和MetalLB
但相比于MetalLB,OpenELB更适合生产环境
支持功能
BGP/Layer2两种模式的负载均衡
基于路由器ECMP的负载均衡
IP地址池管理
使用CRD进行BGP配置
直接部署
Installation | OpenELB
12345678910111213141516171819202122232425262728293031323334搞个最新版的wget https://raw.githubusercontent.com/openelb/openelb/master/d...
MetalLB是一个开源的负载均衡器,为私有云环境中的k8s集群设计。使用标准网络协议来实现外部流量的负载均衡,使k8s可以跟像公有云环境一样使用loadbalancer类型的service。MetalLB也是CNCF的沙盒项目
Installation :: MetalLB, bare metal load-balancer for Kubernetes
这种方法的下位替代就是做haproxy+NodePort,也可以起到负载均衡的作用
工作模式
分配一个地址池,从地址池中拿IP分配给LB service
分配地址后使用Layer2/BGP模式
L2模式直接使用ARP和N...
github地址https://github.com/ceph/ceph-csi/tree/release-v3.9可以通过github查看其支持的版本
ceph版本选择v3.9,因为我的k8s集群是v1.27参考文档https://github.com/ceph/ceph-csi/blob/release-v3.9/docs/deploy-rbd.md
准备 Ceph 配置和密钥:将你的 Ceph 集群信息(monitor 地址、keyring)转换为 Kubernetes 可用的 Secret 和 ConfigMap。
部署 RBAC 资源:为 Ceph-CSI 组件创建必要的服务...
这是对上一版部署的优化
上次使用的是docker,但cephadm其实默认使用的是podman,只配docker没用,podman就很容易在拉取镜像时卡住
这次尝试了docker/podman+镜像加速/代理,还是使用了podman+镜像加速的方式
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485...
接上回,刚用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...