超简单,使用Kube-Vip实现K8s高可用VIP详细教程

具体步骤如下:

以下步骤在其中一个 master 上操作即可,

1、参数配置

export VIP=192.168.0.110
export INTERFACE=ens33
export KVVERSION=v0.8.7
  • VIP 是虚拟IP地址,和主机同一个网段,且未被占用
  • INTERFACE 是你当前主机的网络接口名称,通过 ip a 命令来找到它。
  • KVVERSION 为需要部署的kube-vip的版本号,可以点击https://github.com/kube-vip/kube-vip/releases来获取。

2、获取Kube-Vip镜像

对于 containerd,在线拉取镜像并运行以下命令:

alias kube-vip="ctr image pull ghcr.io/kube-vip/kube-vip:$KVVERSION; ctr run --rm --net-host ghcr.io/kube-vip/kube-vip:$KVVERSION vip /kube-vip"

对于 Docker,在线拉取镜像并运行以下命令:

alias kube-vip="docker run --network host --rm ghcr.io/kube-vip/kube-vip:$KVVERSION"

执行以上的其中一种方式时,会去拉取镜像,这个过程会很慢。
或者离线下载后导入,比如:

# 在有外网的机器上拉取并打成tar包
docker pull ghcr.io/kube-vip/kube-vip:v0.8.7
docker save -o kube-vip-v0-8-7.tar ghcr.io/kube-vip/kube-vip:v0.8.7# containerd方式导入并运行
ctr images import kube-vip-v0-8-7.tar
ctr run --rm --net-host ghcr.io/kube-vip/kube-vip:v0.8.7 vip /kube-vip# docker方式导入并运行
docker load -i kube-vip-v0-8-7.tar
docker run --network host --rm ghcr.io/kube-vip/kube-vip:v0.8.7

3、获取并执行 rabc 的yaml文件

只需在某个 master 节点上运行一次就行。

# 获取文件
curl -o rbac.yaml https://kube-vip.io/manifests/rbac.yaml
# 执行文件
kubectl apply -f rbac.yaml

4、启动Kube-Vip

1、生成 kube-vip.yaml 的yaml文件

kube-vip manifest daemonset \--interface $INTERFACE \--address $VIP \--inCluster \--taint \--controlplane \--services \--bgp \--localAS 65000 \--bgpRouterID 192.168.0.2 \--bgppeers 192.168.0.10:65000::false,192.168.0.11:65000::false  | tee kube-vip-ds.yaml
  • bgpRouterID 填写当前 master 的ip
  • bgppeers 填写其余 master 的ip

2、运行 kube-vip-.yaml 文件

kubectl apply -f kube-vip-ds.yaml

重要建议:执行yaml文件过程中,会在各个 master 节点上拉取 ghcr.io/kube-vip/kube-vip::$KVVERSION 镜像,所以建议先将该镜像传到自己的私有镜像仓库上,然后修改 kube-vip-ds.yaml 中的镜像地址,再去 apply 该yaml文件会好一点。

3、查看kube-vip运行状况

kubectl get pods -A | grep kube-vip-ds

5、测试 Vip 是否可用

telnet 192.168.0.110 6443

显示

Trying 192.168.0.110...
Connected to 192.168.0.110.
Escape character is '^]'.

即为成功。
.
.
.
.
文章参考:
1、https://kube-vip.io/docs/installation/daemonset/
2、https://blog.csdn.net/catoop/article/details/122061611
3、https://www.luyouli.com/?p=694
4、https://www.cnblogs.com/-k8s/p/17991520

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/65574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

积分漏斗模型中5个指标统计

缘起 最近遇到一个积分漏斗模型的设计,这里记录一下。以防止以后忘记了。其中毕竟关键的属性是: 获得积分可用积分已有积分 积分漏斗模型 这里随着【当前日期】也就是今天日期。随着时间一天天过去,积分也一天天过去。上面那个【填报时间】…

Ubuntu挂载Windows 磁盘,双系统

首先我们需要在终端输入这个命令,来查看磁盘分配情况 lsblk -f 找到需要挂载的磁盘,检查其类型( 我的/dev/nvme2n1p1类型是ntfs,名字叫3500winData) 然后新建一个挂载磁盘的目录,我的是/media/zeqi/3500wi…

程序血缘分析技术在工商银行软件工程中的应用

当前,随着软件领域技术更新换代速度的日益加快,市场需求也变得更加多样化和个性化,业界普遍通过加速产品迭代来满足客户需求,但在此过程中也暴露出一些研发管理痛点问题,如服务和程序类资产信息分散于各个不同的应用和系统中,信息归集费时费力;设计、开发和测试人员无法…

微信小程序中 隐藏scroll-view 滚动条 网页中隐藏滚动条

在微信小程序中隐藏scroll-view的滚动条可以通过以下几种方法实现: 方法一:使用CSS隐藏滚动条 在小程序的样式文件中(如app.wxss或页面的.wxss文件),添加以下CSS代码来隐藏滚动条: scroll-view ::-webkit…

服务器证书不受信任是什么问题?

用户在访问某些网站时,可能会遇到“服务器证书不受信任”的警告。这一问题不仅影响用户的浏览体验,更可能对网站的信誉和安全性产生深远影响。那么服务器证书不受信任是什么问题呢? 服务器证书的基本概念 服务器证书是由证书颁发机构(CA)签…

【AI游戏】使用强化学习玩 Flappy Bird:从零实现 Q-Learning 算法(附完整资源)

1. 引言 Flappy Bird 是一款经典的休闲游戏,玩家需要控制小鸟穿过管道,避免碰撞。虽然游戏规则简单,但实现一个 AI 来自动玩 Flappy Bird 却是一个有趣的挑战。本文将介绍如何使用 Q-Learning 强化学习算法来训练一个 AI,使其能够…

Web渗透测试之XSS跨站脚本攻击 跨域是什么?同源机制又是什么? cors以及Jsonp是什么 一篇文章给你说明白

目录 Cookie的Httponly属性和逃过方式 浏览器同源机制 cors跨域和jsonp跨域和跨域标签 Cors跨域 - 跨源 Jsonp 跨域 jsonp跨域原理: 说明: Cookie的Httponly属性和逃过方式 Xss攻击手段 最常用的目的获取cookie Cookie中设置了 httponlyTrue 方式js操作获…

【C++】字符串的 += 和 + 运算详解

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯1. 字符串的 和 基本用法1.1 的用法1.2 的用法 💯2. 示例代码的剖析与解释代码分析 💯3. 底层实现与性能分析3.1 的实现原理3.2 的实现原理3.…

CCLINK转MODBUS-TCP协议转换网关模块应用案例

大家好,今天我们要聊的是生产管理系统中的CCLINK和MODBUS-TCP协议,它们的不同使得数据互通比较困难,但捷米特JM-CCLK-TCP网关的出现改变了这一切。 为了实现整个生产线的协同工作,需要这些设备之间能够进行有效的数据交换和指令传…

Go学习:多重赋值与匿名变量

1. 变量的多重赋值 1.1 基本语法格式 go语言中,可以将多个赋值语句 合并成 一句,比如: a : 10 b : 20 c : 30//a,b,c三个变量的赋值语句可以简练成以下格式a, b, c : 10, 20, 30 1.2 交换变量值 当需要交换两个变量的值时&#…

Spring——依赖注入之p命名空间和c命名空间

p命名空间 其实就是Set注入 只不过p命名空间写法更简洁 p可以理解为 property标签的首字母p p命名空间依赖于set方法 依赖引入 使用前需要再配置文件头文件中引入p命名空间的依赖: ** xmlns:p“http://www.springframework.org/schema/p” ** 用法 在bean标签…

HTML-多媒体标签

除了图像&#xff0c;网页还可以放置视频和音频。 1.<video> <video>标签是一个块级元素&#xff0c;用于放置视频。如果浏览器支持加载的视频格式&#xff0c;就会显示一个播放器&#xff0c;否则显示<video>内部的子元素。 <video src"example.…

【Linux】Linux常见指令(上)

个人主页~ 初识Linux 一、Linux基本命令1、ls指令2、pwd命令3、cd指令4、touch指令5、mkdir指令6、rmdir指令7、rm指令8、man指令9、cp指令10、mv命令 Linux是一个开源的、稳定的、安全的、灵活的操作系统&#xff0c;Linux下的操作都是通过指令来实现的 一、Linux基本命令 先…

【Vue.js 组件化】高效组件管理与自动化实践指南

文章目录 摘要引言组件命名规范与组织结构命名规范目录组织 依赖管理工具自动化组件文档生成构建自动引入和文档生成的组件化体系代码结构自动引入组件配置使用 Storybook 展示组件文档自动生成 代码详解QA 环节总结参考资料 摘要 在现代前端开发中&#xff0c;组件化管理是 V…

Golang环境配置on Macbook Air M2

Golang环境配置on Macbook Air M2 你好Go配置环境变量验证vscode插件安装将文件夹添加到工作区并保存go包管理 你好Go 去官网下载go的对应版本 配置环境变量 新建配置文件 vim &#xff5e;/.bash_profile #注意号前后不能有空格 export GOPATH/Users/xxxx/xxxxx/Go_Works/…

【Arthas命令实践】heapdump实现原理

&#x1f3ae; 作者主页&#xff1a;点击 &#x1f381; 完整专栏和代码&#xff1a;点击 &#x1f3e1; 博客主页&#xff1a;点击 文章目录 使用原理 使用 dump java heap, 类似 jmap 命令的 heap dump 功能。 【dump 到指定文件】 heapdump arthas-output/dump.hprof【只 …

智能控制器开发项目-项目章程

目录 1. 项目目的或理由 2. 项目描述 3. 高水平项目和产品需求 3.1项目需求&#xff1a; 3.2产品需求&#xff1a; 4. 总预算 5. 启动风险 6.里程碑总表 7.项目目标与成功标准 8. 验收标准 9. 项目经理职权层级 项目名称&#xff1a;智能控制器开发项目 项目发起人…

继承(补充)

大家好&#xff0c;今天补充一下继承上执行顺序的一点知识点&#xff0c;&#xff08;编者这两天要完成学院任务可能有点敷衍&#xff0c;抱歉抱歉&#xff09;&#xff0c;那么我们来看看。 [继承关系上的执行顺序] 1、父类静态代码优先于子类静态代码块执行,且是最早执行. …

IOMMU PT

什么是 IOMMU PT IOMMU PT&#xff08;Input/Output Memory Management Unit - Pass-Through&#xff09;是一种技术&#xff0c;主要用于虚拟化环境中&#xff0c;特别是在使用直接设备分配&#xff08;也称为设备直通&#xff09;的情况下。这项技术允许虚拟机直接访问物理硬…

如何解决HTML和CSS相关情况下会导致页面布局不稳定?

在实际开发过程中&#xff0c;HTML 和 CSS 的布局可能会出现不稳定的情况&#xff0c;导致页面显示混乱、错位或者不如预期。以下是一些常见原因及实际项目中的代码示例&#xff0c;帮助你理解如何避免这些问题。 1. 浮动元素未清除 (float 未清除) 问题&#xff1a;使用浮动…