首页
导航
统计
留言
更多
壁纸
直播
关于
推荐
星的导航页
星的云盘
谷歌一下
腾讯视频
Search
1
Ubuntu安装 kubeadm 部署k8s 1.30
88 阅读
2
rockylinux 9.3详细安装drbd+keepalived
73 阅读
3
kubeadm 部署k8s 1.30
72 阅读
4
rockylinux 9.3详细安装drbd
68 阅读
5
ceshi
52 阅读
默认分类
日记
linux
docker
k8s
golang
prometheus
ELK
Jenkins
登录
/
注册
Search
标签搜索
k8s
linux
docker
drbd+keepalivde
ansible
dcoker
webhook
星
累计撰写
42
篇文章
累计收到
46
条评论
首页
栏目
默认分类
日记
linux
docker
k8s
golang
prometheus
ELK
Jenkins
页面
导航
统计
留言
壁纸
直播
关于
推荐
星的导航页
星的云盘
谷歌一下
腾讯视频
搜索到
40
篇与
的结果
2023-07-17
rockylinux 9.3详细安装drbd+keepalived
drbd参考上一篇博客先明确主服务器的keepalivde的配置drbd关闭时执行的脚本 keepalivde关闭时执行的脚本 故障恢复主服务器自动抢回vip的脚本 脚本记得给执行权限从服务器的keepalivde的配置主服务器失效后,从服务器自动挂载,并且成为主服务器,vip也会跟随过来。 原主服务器正常后,主服务器自动降为从服务器,并且取消挂载,vip也会自动转移走。两台主机操作drbdadm status #确定drbd正常工作 dnf install -y keepalivedalpha节点操作/etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id DRBD_HA_MASTER } vrrp_script chk_drbd { script "/etc/keepalived/check_drbd.sh" interval 5 } vrrp_instance VI_1 { state MASTER interface ens160 virtual_router_id 51 priority 150 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_drbd } notify_stop /etc/keepalived/notify_stop.sh ### keepalived服务关闭执行的脚本 notify_master /etc/keepalived/notify_master.sh ### 重新拿回 master 的脚本 virtual_ipaddress { 192.168.110.88 ### vip 请选择一个没有在占用的IP地址 } }通过上面的配置文件,这里需要编写三个脚本,如下:/etc/keepalived/check_drbd.sh#!/bin/bash # Author:hukey systemctl is-active --quiet drbd if [ $? -ne 0 ]; then systemctl start drbd if [ $? -ne 0 ]; then umount /mnt drbdadm secondary drbd0 systemctl stop keepalived fi fi/etc/keepalived/notify_stop.sh#!/bin/bash # Author:hukey time=`date "+%F %H:%M:%S"` echo -e "$time ------notify_stop------\n" >> /etc/keepalived/logs/notify_stop.log umount /mnt drbdadm secondary drbd0 /usr/sbin/fuser -k /mnt &>> /etc/keepalived/logs/notify_stop.log /bin/umount /mnt &>> /etc/keepalived/logs/notify_stop.log echo -e "\n" >> /etc/keepalived/logs/notify_stop.log/etc/keepalived/notify_master.sh#!/bin/bash # Author:hukey time=`date "+%F %H:%M:%S"` echo -e "$time ------notify_master------\n" >> /etc/keepalived/logs/notify_master.log systemctl start drbd &>> /etc/keepalived/logs/notify_master.log for (( i=1; i <=3; i++)) do drbdadm status | egrep -q 'Primary' if [ $? -ne 0 ]; then mount /mnt drbdadm primary drbd0 /bin/mount /dev/drbd0 /mnt &>> /etc/keepalived/logs/notify_master.log break else sleep 3 fi done echo -e "\n" >> /etc/keepalived/logs/notify_master.脚本所需目录和命令yum install -y psmisc mkdir -pv /etc/keepalived/logs------------------------alpha节点操作完毕------------------------bravo节点操作/etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id DRBD_HA_BACKUP } vrrp_instance VI_1 { state BACKUP interface ens160 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } notify_master /etc/keepalived/notify_master.sh notify_backup /etc/keepalived/notify_backup.sh virtual_ipaddress { 192.168.110.88 } }/etc/keepalived/notify_master.sh#!/bin/bash # Author:hukey time=`date "+%F %H:%M:%S"` echo -e "$time ------notify_master------\n" >> /etc/keepalived/logs/notify_master.log systemctl start drbd &>> /etc/keepalived/logs/notify_master.log for (( i=1; i <=3; i++)) do drbdadm status | egrep -q 'Primary' if [ $? -ne 0 ]; then drbdadm primary drbd0 mount /dev/drbd0 /mnt /bin/mount /dev/drbd0 /mnt &>> /etc/keepalived/logs/notify_master.log break else sleep 3 fi done echo -e "\n" >> /etc/keepalived/logs/notify_master.log/etc/keepalived/notify_backup.sh#!/bin/bash # Author:hukey time=`date "+%F %H:%M:%S"` echo -e "$time ------notify_backup------\n" &>> /etc/keepalived/logs/notify_backup.log umount /mnt drbdadm secondary drbd0 /usr/sbin/fuser -k /data &>> /etc/keepalived/logs/notify_backup.log /bin/umount /dev/drbd0 &>> /etc/keepalived/logs/notify_backup.log echo $time echo -e "\n" &>> /etc/keepalived/logs/notify_backup.log启动服务 两台主机操作#开机自启 systemctl enable drbd keepalived systemctl restart drbd keepalived启动后查看 alpha 节点 VIP 和 目录是否挂载:注意: 如果发现 vip 或者 drbd 没有挂载,检查一下配置文件是否有问题。测试1.关闭 alpha 节点 keepalived 服务systemctl stop keepalived2.查看 bravo 节点是否升级为主节点3.alpha开启节点 keepalived 服务 bravo 节点关闭keepalived 服务如果vip会自动漂移和会自动挂载就说明成功了还有一个可以测试的,主服务器systemctl stop drbd,五秒后使用systemctl status drbd查看,如果已经启动说明脚本基本没问题。最后drbd+keepalived就完成了,还可以加上nfs。nfs比较简单就不写了。。。
2023年07月17日
73 阅读
13 评论
0 点赞
2023-07-17
rockylinux 9.3详细安装drbd
提前准备好1.主机名提前改好 hostnamectl set-hostname #改主机名字 2.硬盘提前准备好可以用lvs以后方便扩容 fdisk /dev/ #你的硬盘 3.时间要更新好,防火墙关闭 setenforce 0 systemctl stop firewalld iptables -t filter -F开始安装sudo dnf update sudo dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm -y sudo dnf install drbd drbd-utils -y sudo dnf install epel-release -y sudo dnf install kmod-drbd9x -y dnf search drbd #查询drbd安装包加载内核[root@alpha ~]# sudo modprobe drbd [root@alpha ~]# lsmod | grep drbd drbd 983040 0 libcrc32c 16384 5 nf_conntrack,nf_nat,nf_tables,xfs,drbd配置 DRBD 资源文件,确保配置中的节点 IP 地址和磁盘设备路径正确。[root@alpha ~]# cat /etc/drbd.d/drbd0.res resource drbd0 { disk /dev/nvme0n2p1; #要根据自己配置改 device /dev/drbd0; meta-disk internal; on alpha { address 192.168.110.204:7789; #要根据自己配置改 } on bravo { address 192.168.110.201:7789; #要根据自己配置改 } }[root@alpha ~]# cat /etc/drbd.d/global_common.conf global { usage-count no; } common { net { protocol C; } }创建 DRBD 资源元数据在两个节点上执行以下命令来创建 DRBD 资源元数据:sudo drbdadm create-md r0启动系统服务systemctl start drbd#开始 systemctl enable drbd#开机自启在alpha上操作,启动设备并使其成为主节点drbdadm up drbd0 drbdadm primary drbd0如果启用主节点命令失败需要使用以下命令drbdadm primary drbd0 --force在bravo上操作,启动设备drbdadm up drbd0查看同步进程drbdadm status sudo drbdadm -- --overwrite-data-of-peer primary drbd0 #重要这步如果状态不正常就开始同步 drbdadm primary --force drbd0 #强制同步 drbdadm primary drbd0 #切换成主服务器 期间可以看到同步的状态格式化DRBD设备并挂载 【alpha 操作】mkfs.ext4 /dev/drbd0 mkdir -pv /mnt mount /dev/drbd0 /mnt touch /mnt/test/file{1..10}卸载文件系统并切换为备节点umount /mnt drbdadm secondary drbd0在bravo上执行以下命令确认文件drbdadm primary drbd0 mount /dev/drbd0 /mnt ls -l /mnt total 0 -rw-r--r--. 1 root root 0 Jun 10 09:43 file1 -rw-r--r--. 1 root root 0 Jun 10 09:43 file2 -rw-r--r--. 1 root root 0 Jun 10 09:43 file3
2023年07月17日
68 阅读
6 评论
0 点赞
2023-07-13
ceshi
ceshi{bilibili bvid="BV1Wm421p7AH" page=""/}
2023年07月13日
52 阅读
9 评论
0 点赞
2022-09-26
K8S名称空间删除残留
#建议不要直接删除名称空间,先删除名称空间里面的资源 1. 获取命名空间的资源: 查看该命名空间下的资源: kubectl get all -n system 2. 强制删除命名空间: 使用以下命令强制删除命名空间及其资源: kubectl delete namespace system --grace-period=0 --force 3. 检查删除状态: 再次检查命名空间状态: kubectl get namespaces如果以上方法删除了还有残留的话接下往下看[root@master01 ~]# kubectl delete namespace system --grace-period=0 --force Warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely. namespace "system" force deleted还有是删除不了的话最后的绝招!先在一个终端执行命令: 直接修改 finalizers: 尝试直接通过 API 删除 finalizers: 启动 kubectl proxy: kubectl proxy 然后再开一个终端执行下面的删除命令 curl -X PUT http://localhost:8001/api/v1/namespaces/system/finalize -H "Content-Type: application/json" -d '{"kind":"Namespace","apiVersion":"v1","metadata":{"name":"system","finalizers":[]}}' curl -X PUT http://localhost:8001/api/v1/namespaces/monitoring/finalize -H "Content-Type: application/json" -d '{"kind":"Namespace","apiVersion":"v1","metadata":{"name":"monitoring","finalizers":[]}}' curl -X PUT http://localhost:8001/api/v1/namespaces/mysqlcluster-operator-system/finalize -H "Content-Type: application/json" -d '{"kind":"Namespace","apiVersion":"v1","metadata":{"name":"mysqlcluster-operator-system","finalizers":[]}}'
2022年09月26日
5 阅读
0 评论
0 点赞
2022-08-25
简单的SSH代理如何实现
需求场景 如上图所示只有 主机A 可以访问 目标主机, 主机B 或者其他外来主机都是无法访问目标主机的,而 主机B 是可以访问 主机A 的造成这种问题的原因有很多中,例如 防火墙设置了策略现在无法对目标主机的防火墙做策略更改,那要如何实现 主机B 对 目标主机 的ssh远程登录呢解决办法 做ssh代理,通过主机A,访问目标主机配置前提各个主机都需要安装openssh的客户端主机B需要配置基于key的免密访问主机A主机B配置 # 生成密钥 ssh-keygen # copy公钥给主机A的admin用户 ssh-copy-id admin@10.0.0.2ssh 方面的配置在当前用户下的 .ssh 目录下创建 config 文件vim .ssh/config # 下面两个IP都是目标主机的IP Host 192.168.1.2 HostName 192.168.1.2 # user也是目标主机的user User root # 端口是目标主机的端口 Port 22 # 下面是通过主机A的admin用户代理ssh命令 ProxyCommand ssh -q admin@10.0.0.2 -W [%h]:%p多个IP就配置多组就好了然后尝试使用ssh连接目标主机,就可以正常访问了
2022年08月25日
14 阅读
0 评论
0 点赞
1
...
7
8