k8s 之 kube-vip

如题,vip 顾名思义 虚拟 IP,从应用场景上来讲,kube-vip 实现的最终结果就是我们常说的 Keepalived 高可用方案。

在这里插入图片描述

kube-vip 部署

一、参数配置

export VIP=192.168.1.213
export INTERFACE=lo
export KVVERSION=v0.4.0
  • VIP是虚拟IP地址,和主机同一个网段,且未被占用
  • INTERFACE是主机的网络接口名称,例如 lo、ens192、eth0 等
  • KVVERSION是你需要部署的kube-vip的版本号,可以到github查看最新版的版本号,例如v0.4.0

二、生成yaml清单文件

1.创建命令快捷别名

以下两种方式二选一执行

# 1.containerd 方式
alias kube-vip="ctr run --rm --net-host ghcr.io/kube-vip/kube-vip:$KVVERSION vip /kube-vip"
# 2.docker 方式
alias kube-vip="docker run --network host --rm ghcr.io/kube-vip/kube-vip:$KVVERSION"

2.生成yaml清单文件

mkdir -p /opt/soft/kube-vip && cd $_
kube-vip manifest daemonset \
    --interface $INTERFACE \
    --vip $VIP \
    --controlplane \
    --services \
    --inCluster \
    --taint \
    --bgp \
    --localAS 65000 \
    --bgppeers 192.168.1.211:65000::false,192.168.1.212:65000::false | tee kube-vip-ds.yaml

下载rbac.yaml

curl -o rbac.yaml https://kube-vip.io/manifests/rbac.yaml

其中 211、212 为实际主机IP,上面的 VIP=213 变量为虚拟机IP。

3.修改生成的清单文件

a) routeID在BGP广播的所有主机中,每个都应该是唯一的,
我们通过修改生成的kube-vip.yaml文件添加参数自动获取主机网络接口的IP地址来作为这个唯一的ID

b) 添加参数,其值为主机网络接口名称,可以查看的命令很多,例如:ip a

- name: bgp_routerinterface
  value: "ens192"

官方说这个不配置也支持自动识别网络接口了,我不确定,有兴趣的可以不配置验证一下,这里我还是手工设定了。

c) 修改yaml文件中的image为自己的私服地址,以我的私服为例:
image: harbor.yourdomain.com/dockerhub_proxy/plndr/kube-vip:v0.4.0

注:因为我们是使用DaemonSet方式部署的Pod,所以可以这样做。

三、应用发布yaml清单文件

以下两种方式选择一种即可

1.浏览器登录rancher后,进入local集群后,通过导入yaml文件的方式发布这2个配置文件

2.或者在k3s-rancher主机上执行命令

kubectl apply -f rbac.yaml
kubectl apply -f kube-vip-ds.yaml

官网资料

https://kube-vip.io/
https://kube-vip.io/install_daemonset/
https://github.com/kube-vip/kube-vip
https://kube-vip.io/architecture/


(END)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
kube-prometheus是一个监控解决方案,它使用Prometheus采集集群指标,Grafana进行展示。它包含了多个组件,包括Prometheus Operator、高可用的Prometheus、高可用的Alertmanager、Prometheus node-exporter、Prometheus Adapter for Kubernetes Metrics APIs(k8s-prometheus-adapter)、kube-state-metrics和Grafana。\[1\] 要部署kube-prometheus,你可以通过以下步骤进行操作: 1. 下载kube-prometheus代码,可以使用git clone命令,并切换到适合你的Kubernetes版本的分支。\[1\] 2. 下载Prometheus server,可以通过wget命令获取相应的版本。\[2\] 3. 修改镜像源为国内镜像源,可以在kube-prometheus的manifests目录下修改相关文件,将镜像源替换为国内镜像源。\[3\] 4. 将类型修改为NodePort,以便能够通过Node的IP和端口访问kube-prometheus。 希望以上信息对你有帮助。如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* *3* [Kube-Prometheus 部署](https://blog.csdn.net/qq_43164571/article/details/124802412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用kube-prometheus部署prometheus时遇到的问题](https://blog.csdn.net/qq_37332827/article/details/101228764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

catoop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值