Kubernetes管理节点负载均衡工具kube-vip
1.准备kube-vip的配置文件
# master01节点的配置文件
vim /etc/kube-vip/config.yaml
localPeer:
id: master01
address: 192.168.200.151
port: 10000
remotePeers:
- id: master02
address: 192.168.200.152
port: 10000
- id: master03
address: 192.168.200.153
port: 10000
vip: 192.168.200.150
gratuitousARP: true
singleNode: false
startAsLeader: true
interface: "ens33"
loadBalancers:
- name: API Server Load Balancer
type: tcp
port: 8443
bindToVip: true
backends:
- port: 6443
address: 192.168.200.151
- port: 6443
address: 192.168.200.152
- port: 6443
address: 192.168.200.153
# master02节点的配置文件
vim /etc/kube-vip/config.yaml
localPeer:
id: master02
address: 192.168.200.152
port: 10000
remotePeers:
- id: master01
address: 192.168.200.151
port: 10000
- id: master03
address: 192.168.200.153
port: 10000
vip: 192.168.200.100
gratuitousARP: true
singleNode: false
startAsLeader: true
interface: "ens33"
loadBalancers:
- name: API Server Load Balancer
type: tcp
port: 8443
bindToVip: true
backends:
- port: 6443
address: 172.31.253.61
- port: 6443
address: 172.31.253.62
- port: 6443
address: 172.31.253.63
# master03节点的配置文件
vim /etc/kube-vip/config.yaml
localPeer:
id: master03
address: 192.168.200.153
port: 10000
remotePeers:
- id: master01
address: 192.168.200.151
port: 10000
- id: master02
address: 192.168.200.152
port: 10000
vip: 192.168.200.100
gratuitousARP: true
singleNode: false
startAsLeader: true
interface: "ens33"
loadBalancers:
- name: API Server Load Balancer
type: tcp
port: 8443
bindToVip: true
backends:
- port: 6443
address: 172.31.253.61
- port: 6443
address: 172.31.253.62
- port: 6443
address: 172.31.253.63
2.生成kube-vip的pod资源配置清单
mkdir -pv /etc/kubernetes/manifests/
docker run -it --rm plndr/kube-vip:0.3.3 sample manifest \
> /etc/kubernetes/manifests/kube-vip.yaml
cat kube-vip.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
name: kube-vip
namespace: kube-system
spec:
containers:
- args:
- start
- -c
- /etc/kube-vip/config.yaml
image: docker.io/plndr/kube-vip:0.3.3
name: kube-vip
resources: {}
securityContext:
capabilities:
add:
- NET_ADMIN
- SYS_TIME
volumeMounts:
- mountPath: /etc/kube-vip/
name: config
hostNetwork: true
volumes:
- hostPath:
path: /etc/kube-vip/
name: config
status: {}
作者:wanghongwei
版权声明:本作品遵循<CC BY-NC-ND 4.0>版权协议,商业转载请联系作者获得授权,非商业转载请附上原文出处链接及本声明。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统