利用Rancher平臺搭建Swarm集群

一、Rancher概述

1、rancher平臺

? ? ? ? Rancher是一個開源的企業級容器管理平臺,它可以幫助企業在生產環境中輕松快捷地部署和管理容器,也可以輕松管理各種環境的Kubernetes,并提供對DevOps的支持。

? ? ? ? Rancher目前已經具備全棧化一鍵部署應用、各種編排調度工具、多租戶、多種基礎架構的能力,包括網絡服務、存儲服務、主機管理、負載均衡、服務發現和資源管理等,可以管理DigitalOcean、AWS、OpenStack等云主機,自動創建Docker運行環境,實現跨云管理。

? ? ? ? Rancher可以通過Web界面或命令行方式進行操作。

2、Rancher的組成

? ? ? ? Rancher主要由基礎設施編排、容器編排與調度、應用商店和企業級權限管理4個部分組成,其主要組件和功能如圖所示。

1)、基礎設施編排

????????Rancher的基礎設施服務可通過容器進行部署,也可運行在Linux 主機上,Linux主機可以是虛擬機,也可以是物理機。基礎設施服務包括網絡服務、存儲服務、負載均衡、DNS務和安全模塊。

2)、容器編排與調度

????????Rancher是一個容器集群的編排工具,默認通過整合Cattle、 Swarm、 Kubernetes 、MesOS等容器編排集群服務。

3)、應用商店

????????Rancher的用戶可以利用“應用商店”來部署各種應用,并可以在應用有新版本時實現自升級。“應用商店”包括官方的應用服務和社區庫,都采用Git庫的方式存儲在GitHub中。

4)、企業級權限管理

????????Rancher支持多種授權管理方式,支持環境級別的基于角色的訪問控制,可以通過角,色來配置某個用戶/用戶組對開發環境或生產環境的訪問權限。

二、Rancher單容器部署和應用

1、Swarm集群基礎環境

主機名IP地址角色
master

192.168.51.101

管理節點

node1

192.168.51.102

工作節點

node2

192.168.51.103

工作節點

2、安裝docker

? ? ? ? 2.1?安裝必要的一些系統工具
[root@master ~]# sudo yum install -y yum-utils
Loaded plugins: fastestmirror
Determining fastest mirrors* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
base                                                                                   | 3.6 kB  00:00:00
docker-ce-stable                                                                       | 3.5 kB  00:00:00
epel                                                                                   | 4.3 kB  00:00:00
extras                                                                                 | 2.9 kB  00:00:00
kubernetes                                                                             | 1.4 kB  00:00:00
updates                                                                                | 2.9 kB  00:00:00
Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version
Nothing to do
? ? ? ? 2.2?添加軟件源信息
[root@master ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror
adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
? ? ? ? 2.3?安裝Docker
[root@master ~]# sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y[root@master ~]# rpm -q docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker-ce-26.1.4-1.el7.x86_64
docker-ce-cli-26.1.4-1.el7.x86_64
containerd.io-1.6.33-3.1.el7.x86_64
docker-buildx-plugin-0.14.1-1.el7.x86_64
docker-compose-plugin-2.27.1-1.el7.x86_64
? ? ? ? 2.4?開啟Docker服務
[root@master ~]# systemctl start docker
[root@master ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@master ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Fri 2025-07-04 04:06:56 EDT; 1min 11s agoDocs: https://docs.docker.comMain PID: 8934 (dockerd)CGroup: /system.slice/docker.service└─8934 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
????????2.5 配置鏡像加速器
[root@master ~]# vi /etc/docker/daemon.json
[root@master ~]# cat /etc/docker/daemon.json
{"registry-mirrors":["http://docker.m.daocloud.io"],"dns":["8.8.8.8"]
}## 重啟docker服務
[root@master ~]# systemctl restart docker
[root@master ~]# systemctl daemon-reload
????????2.6?查看docker版本
[root@master ~]# docker version
Client: Docker Engine - CommunityVersion:           26.1.4API version:       1.45Go version:        go1.21.11Git commit:        5650f9bBuilt:             Wed Jun  5 11:32:04 2024OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          26.1.4API version:      1.45 (minimum version 1.24)Go version:       go1.21.11Git commit:       de5c9cfBuilt:            Wed Jun  5 11:31:02 2024OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.33GitCommit:        d2d58213f83a351ca8f528a95fbd145f5654e957runc:Version:          1.1.12GitCommit:        v1.1.12-0-g51d5e94docker-init:Version:          0.19.0GitCommit:        de40ad0

3、搭建并訪問rancher平臺

? ? ? ? 3.1? 分別在三個節點上,獲取rancher鏡像

## 這里小編拉取的是stable穩定版的rancher鏡像,讀者可自行根據需求拉取不同版本的鏡像

[root@master ~]# docker pull rancher/server:stable
stable: Pulling from rancher/server
bae382666908: Pull complete
29ede3c02ff2: Pull complete
da4e69f33106: Pull complete
8d43e5f5d27f: Pull complete
b0de1abb17d6: Pull complete
422f47db4517: Pull complete
79d37de643ce: Pull complete
69d13e08a4fe: Pull complete
2ddfd3c6a2b7: Pull complete
bc433fed3823: Pull complete
b82e188df556: Pull complete
dae2802428a4: Pull complete
07bf18e8eec0: Pull complete
339e24088f91: Pull complete
9372455de0b8: Pull complete
5a33b348bf45: Pull complete
3286997d8874: Pull complete
bd79bfb954de: Pull complete
ba7c19991a31: Pull complete
0c19aca4f8a1: Pull complete
e03fc76c8997: Pull complete
Digest: sha256:95b55603122c28baea4e8d94663aa34ad770bbc624a9ed6ef986fb3ea5224d91
Status: Downloaded newer image for rancher/server:stable
docker.io/rancher/server:stable
????????3.2 在管理節點上,利用rancher鏡像生成rancher容器
[root@master ~]# docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
4cb3495e062e1037ce0531bb6a3827e83a9e65411b6efdf2dec3209ad8b7139a## 查看容器狀態,注意一定是要處于“UP”狀態
[root@master ~]# docker ps -n1
CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS         PORTS                                                 NAMES
4cb3495e062e   rancher/server:stable   "/usr/bin/entry /usr…"   11 seconds ago   Up 9 seconds   3306/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   gallant_wozniak
????????3.3 利用瀏覽器訪問rancher平臺

## 瀏覽器訪問(http://管理節點IP:端口號)

http://192.168.51.100:8080

## 初始登錄平臺時的語言默認是英文,這里大家可以在頁面的右下角處手動修改

????????3.4?創建admin用戶

????????3.5 創建完成后,注銷當前用戶,使用admin用戶登錄平臺

4、搭建Swarm集群

????????4.1 創建一個環境模板:mySwarm,并將其添加到環境中

## 添加環境模板## 將mySwarm模板添加到環境中????????4.2 添加主機到mySwarm

##? 先切換到mySwarm環境中## 復制主機添加地址在主機上運行復制的腳本,將管理節點master主機、工作節點node1和node2主機添加到mySwarm集群中(三個節點均要執行)

  • 若出現以下報錯:
  • 原因:

????????當前系統安裝的是 Docker 26.1.4 版本(API 版本 1.45),而 Rancher Agent v1.2.11 要求的最低 API 版本為 1.2414。雖然你的 Docker 版本理論上兼容(1.45 > 1.24),但 Rancher 舊版本可能對高版本 Docker 存在兼容性問題。主機的docker api版本為1.45,rancher支持的最新api版本為1.24,不兼容,所以需要對主機的docker api版本降級。

  • 解決方案:
1. 完全卸載舊版 Docker
# 卸載所有 Docker 相關軟件包
sudo yum    remove   docker  docker-client   docker-client-latest     docker-common    docker-latest   docker-latest-logrotate     docker-logrotate     docker-engine    docker-ce    docker-ce-cli        containerd.io# 刪除 Docker 相關文件和目錄
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker/
sudo rm -f /usr/bin/docker /usr/local/bin/docker2. 安裝必要工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm23. 添加 Docker 官方倉庫
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo4. 安裝特定版本 Docker (18.09.9)
sudo yum install -y docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io5. 啟動 Docker 并設置開機啟動
sudo systemctl start docker
sudo systemctl enable docker
sudo systemc	tl daemon-reload6. 驗證安裝
sudo docker --version
# 應該顯示: Docker version 18.09.9, build xxxxxxx
????????4.3?檢驗,查看集群是否添加成功

添加成功!Swarm集群搭建完成!!

5、在集群中添加容器

## 在此處將容器添加到工作節點node1主機中,大家可自行根據需求添加

## 在面板里可以看到容器添加成功,并正常運行

##? 也可以在Swarm CLI命令行查看

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96964.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96964.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96964.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Debezium日常分享系列之:MongoDB 新文檔狀態提取

Debezium日常分享系列之:MongoDB 新文檔狀態提取變更事件結構行為配置數組編碼嵌套結構展平MongoDB $unset 處理確定原始操作添加元數據字段選擇性應用轉換的選項配置選項已知限制Debezium MongoDB 連接器會發出數據變更消息,以表示 MongoDB 集合中發生的…

OpenCV:圖像透視變換

文章目錄一、透視變換是什么?二、透視變換的核心原理1. 關鍵概念:透視變換矩陣2. 核心條件:4對對應點三、OpenCV實現透視變換的關鍵步驟步驟1:讀取并預處理圖像步驟2:尋找目標物體的4個頂點步驟3:計算透視變…

commons-csv

maven依賴<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-csv</artifactId><version>1.14.1</version></dependency…

LeetCode 1446.連續字符

給你一個字符串 s &#xff0c;字符串的「能量」定義為&#xff1a;只包含一種字符的最長非空子字符串的長度。 請你返回字符串 s 的 能量。 示例 1&#xff1a; 輸入&#xff1a;s “leetcode” 輸出&#xff1a;2 解釋&#xff1a;子字符串 “ee” 長度為 2 &#xff0c;只包…

CTFHub SSRF通關筆記9:302跳轉 Bypass 原理詳解與滲透實戰

目錄 一、SSRF與302跳轉 1、SSRF 2、302響應 3、SSRF與302結合 &#xff08;1&#xff09;SSRF源碼分析 &#xff08;2&#xff09;攻擊鏈條&#xff08;Flow of Exploit&#xff09; 二、滲透實戰 1、打開靶場 2、嘗試127.0.0.1訪問 3、file協議分析源碼 &#xff…

Windows-Use實戰:AI驅動的Windows自動化

Windows-Use實戰:AI驅動的Windows自動化 前言 項目介紹與準備工作 Windows-Use是什么? 系統要求 必需環境 步驟一:安裝Python和基礎環境 1.1 安裝Python 檢查Python版本 Python安裝步驟 1.2 創建項目目錄 步驟二:安裝Windows-Use 2.1 使用pip安裝(推薦) 步驟三:運行和基…

STM32-FreeRTOS操作系統-二值信號量與計數信號量

引言在嵌入式開發領域&#xff0c;任務同步與通信是系統穩定運行的核心。STM32配合FreeRTOS操作系統&#xff0c;為開發者提供了強大的工具支持。其中&#xff0c;二值信號量和計數信號量作為FreeRTOS的關鍵同步機制&#xff0c;分別用于任務間的簡單同步和資源計數控制。二值信…

MarTech營銷技術全景解析:概念、圖譜與最新實踐案例

一、引言&#xff1a;為什么企業越來越依賴MarTech&#xff1f;在數字化浪潮下&#xff0c;企業營銷環境正發生深刻變化&#xff1a;客戶觸點增加&#xff1a;從官網、社交媒體到短視頻、展會&#xff0c;信息渠道呈指數級增長。決策鏈條復雜&#xff1a;B2B客戶通常需要多輪調…

服務器 - 從一臺服務器切換至另一臺服務器(損失數十條訪客記錄)

服務器 - 從一臺服務器切換至另一臺服務器(損失數十條PV記錄為代價) 看著四年的服務器正式到期&#xff0c;沒什么轟轟烈烈的告別&#xff0c;就像目送老朋友轉身走遠&#xff0c;只默默記下&#xff1a;哦&#xff0c;原來它陪了我這么久啊。 前言 一臺陪伴了我4年的服務器昨…

《云原生邊緣與AI訓練場景:2類高頻隱蔽Bug的深度排查與架構修復》

在云原生技術向邊緣計算與AI訓練場景滲透的過程中&#xff0c;基礎設施層的問題往往會被場景特性放大——邊緣環境的弱網絡、異構硬件&#xff0c;AI訓練的高資源依賴、分布式協作&#xff0c;都可能讓原本隱藏的Bug以“業務故障”的形式爆發。這些問題大多不具備直觀的報錯信息…

【51單片機】【protues仿真】基于51單片機數控直流穩壓電源系統

目錄 一、主要功能 二、使用步驟 三、硬件資源 四、軟件設計 五、實驗現象 一、主要功能 1、數碼管顯示輸出電壓值 2、滑動電阻調節輸出電壓 3、電壓輸出范圍0-15V&#xff0c;步進值1 二、使用步驟 基于51單片機的數控直流穩壓電源是一種通過數字控制實現電壓調節的智…

xtuoj Rectangle

題目思路將矩形間的相交情況通過投影轉化為x、y兩個方向下的線段是否相交&#xff0c;即前面的題目&#xff0c;判斷兩個區間是否相交&#xff0c;x投影的每個區間的左端點是每個矩形x的min&#xff0c;右端點是每個矩形的x的max&#xff0c;y投影情況同理&#xff0c;只要x軸的…

【深度學習踩坑實錄】從 Checkpoint 報錯到 TrainingArguments 精通:QNLI 任務微調全流程復盤

作為一名深度學習初學者&#xff0c;最近在基于 Hugging Face Transformers 微調 BERT 模型做 QNLI 任務時&#xff0c;被Checkpoint 保存和TrainingArguments 配置這兩個知識點卡了整整兩天。從磁盤爆滿、權重文件加載報錯&#xff0c;到不知道如何控制 Checkpoint 數量&#…

Java面試小冊(3)

21【Q】: 什么是Java的SPI機制&#xff1f;【A】&#xff1a;SPI 是一種插件機制&#xff0c;用于在運行時動態加載服務的實現。它通過定義接口&#xff08;服務接口&#xff09;并提供一種可擴展的方式來讓服務的提供著&#xff08;實現類&#xff09;在運行時注入&#xff0c…

P1150 Peter 的煙

記錄20#include <bits/stdc.h> using namespace std; int main(){int n,k;cin>>n>>k;int cnt0;while(n>k){cntk;nn-k1;}cntn;cout<<cnt;return 0; }突破口每吸完一根煙就把煙蒂保存起來&#xff0c;k&#xff08;k>1&#xff09;個煙蒂可以換一個…

Cursor和Hbuilder用5分鐘開發微信小程序

分享一個5分鐘搞定微信小程序開發的技能&#xff0c;需要用到兩個工具&#xff1a;Cursor和Hbuilder。 第1步、下載HBuilder。Hbuilder可以實現一套代碼直接生成安卓、蘋果、鴻蒙各個平臺APP。訪問Hbuilder的官方網站&#xff0c;HBuilderX-高效極客技巧&#xff0c;選擇適合…

k8s的dashboard

找一個裝有docker的機器&#xff0c;在一個rocky linux的虛擬機里弄拉取一個rancher鏡像建立一個目錄&#xff0c;目的&#xff1a;和里面數據做持久化關聯后臺運行&#xff0c;讓他有權限&#xff0c;8080端口和容器80端口映射&#xff0c;443和443做映射查看一下刪掉&#xf…

橋接模式,打造靈活可擴展的日志系統C++

一、為什么用橋接模式在企業開發中&#xff0c;日志系統幾乎是標配。常見需求&#xff1a;日志有多種類型&#xff08;Info、Warning、Error 等&#xff09;&#xff1b;日志需要支持多種輸出方式&#xff08;控制臺輸出、寫文件、遠程上傳、數據庫存儲等&#xff09;。如果把這…

kafka--基礎知識點--5.3--producer事務

1 事務簡介 Kafka事務是Apache Kafka在流處理場景中實現Exactly-Once語義的核心機制。它允許生產者在跨多個分區和主題的操作中&#xff0c;以原子性&#xff08;Atomicity&#xff09;的方式提交或回滾消息&#xff0c;確保數據處理的最終一致性。例如&#xff0c;在流處理中…

利用DeepSeek實現服務器客戶端模式的DuckDB原型

在網上看到韓國公司開發的一款GooseDB&#xff0c;DuckDB? 的功能擴展分支&#xff0c;具有服務器/客戶端、多會話和并發寫入支持&#xff0c;使用 PostgreSQL 有線協議&#xff0c;但它是Freeware而不是開源&#xff0c;所以讓DeepSeek實現之。 首先把readme頁面發給他翻譯&a…