超簡單,使用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.pswp.cn/web/65574.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65574.shtml
英文地址,請注明出處:http://en.pswp.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;使用浮動…