HAProxy多节点配置同步脚本

HAProxy多节点配置同步脚本 HAProxy配置文件拆分 vi /usr/lib/systemd/system/haproxy.service 添加SUBCONFIG配置目录 Environment="CONFIG=/etc/haproxy/haproxy.cfg" "SUBCONFIG=/etc/haproxy/conf.d" "PIDFILE=/run/haproxy.pid" "EXTRAOPTS=-S /run/haproxy-master.sock" ExecStartPre=/usr/sbin/haproxy -Ws -f $CONFIG -f $SUBCONFIG -c -q $EXTRAOPTS ExecStart=/usr/sbin/haproxy -Ws -f $CONFIG -f $SUBCONFIG -p $PIDFILE $EXTRAOPTS ExecReload=/usr/sbin/haproxy -Ws -f $CONFIG -f $SUBCONFIG -c -q $EXTRAOPTS /etc/haproxy目录结构 ubuntu@k8s-lb1:/etc/haproxy$ tree . ├── conf.d │ ├── k8s-ingress.blacklist │ ├── k8s-ingress.cfg │ ├── kafka.cfg │ ├── kafka.whitelist │ ├── ks-console.cfg │ ├── kube-apiserver.cfg │ └── sync-cfg.sh ├── errors │ ├── 400.http │ ├── 403....

六月 11, 2025 · 8 分钟 · Sulan

HAProxy黑白名单配置

HAProxy黑白名单配置 黑名单 frontend ingress-http bind *:80 mode tcp option tcplog acl blacklist_ips src -f /etc/haproxy/conf.d/k8s-ingress.blacklist tcp-request connection reject if blacklist_ips default_backend ingress-http k8s-ingress.blacklist内容 # K8s Ingress IP 黑名单 一行一个IP 或 CIDR 网段 103.0.0.0/8 白名单 frontend kafka-broker0 bind *:9092 mode tcp option tcplog acl whitelist_ips src -f /etc/haproxy/conf.d/kafka.whitelist tcp-request connection reject unless whitelist_ips default_backend kafka-broker0 kafka.whitelist内容 # K8s Kafka服务访问IP白名单 一行一个IP 或 CIDR 网段 10.0.0.0/24

六月 11, 2025 · 1 分钟 · Sulan

Ingress ModSecurity防护

Ingress ModSecurity防护 Ingress Controller 全局配置 # 编辑集群网关 添加如下配置选项 data: enable-modsecurity: "true" enable-owasp-modsecurity-crs: "true" modsecurity-snippet: | SecRuleEngine On SecRequestBodyAccess On SecResponseBodyAccess On SecAuditEngine RelevantOnly SecAuditLogParts ABIJDEFHZ # Ingress 单路由配置 kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: xxxxx namespace: tools annotations: nginx.ingress.kubernetes.io/enable-modsecurity: 'false' # 关闭 nginx.ingress.kubernetes.io/modsecurity-snippet: | SecRuleEngine On #拦截恶意请求 #SecRuleEngine DetectionOnly #仅记录,不拦截 nginx.ingress.kubernetes.io/whitelist-source-range: 'x.x.x.x' 误判处理 kind: Ingress apiVersion: networking.k8s.io/v1 metadata: namespace: xxxx annotations: nginx.ingress.kubernetes.io/modsecurity-snippet: | # 移除指定ID的规则 SecRule REQUEST_URI "@rx ^/(js|cdn)/.*\.(js|css)$" "id:1000001,phase:1,nolog,pass,ctl:ruleRemoveById=959100" 辅助调试...

六月 11, 2025 · 1 分钟 · Sulan

局域网WOL唤醒

局域网WOL唤醒 #!/bin/sh echo "主机列表:" echo "1 [192.168.31.4]" echo "2 [192.168.31.5]" weak(){ read -p "请选择需要唤醒的主机[默认1]:" mac [ -z $mac ] && mac=1 case "$mac" in # IP对应的MAC 1) mac="22:20:6c:xx:xx:xx" ;; 2) mac="04:92:26:xx:xx:xx" ;; *) mac="" ;; esac if [ -z $mac ] then echo "请选择正确的主机编号" weak else echo "即将唤醒主机MAC地址 "$mac etherwake -b -D -i br-lan $mac fi } weak

三月 27, 2025 · 1 分钟 · Sulan

KubeSphere v4 升级

参考 KubeSphere 3.x 升级至 4.x 数据迁移 KubeSphere v4 安装指南 启用集群网关 升级注意事项 KS 卸载过程中会清理所有组件及数据,请谨慎操作,本文档数据迁移过程中仅对以下数据进行备份: 用户、企业空间、访问控制授权规则(仅限内置角色) KS 的卸载过程不会影响除 KS 及组件之外的资源 如何用到集群网关的记得先备份其配置 升级 在能使用kubectl的节点上执行 yum install -y jq mkdir -p kubespher-v4-upgrade cd kubespher-v4-upgrade 创建1_backup.sh脚本文件 #!/bin/bash kubectl get users.iam.kubesphere.io -o json | jq '.items[].apiVersion = "iam.kubesphere.io/v1beta1"' > backup-users.json kubectl get globalrolebindings.iam.kubesphere.io -o json | jq '.items[]?.apiVersion = "iam.kubesphere.io/v1beta1" | .items[]?.subjects[]?.apiGroup = "iam.kubesphere.io"' > backup-globalrolebindings.json kubectl get clusterrolebindings -l iam.kubesphere.io/user-ref -o json | jq '.items[]?.apiVersion = "iam....

二月 22, 2025 · 6 分钟 · Sulan