構建Harbor私有鏡像庫

軟硬件環境清單

環境搭建

部署Euler22.0系統,連接xshell:

關閉防火墻和selinux,設置主機名:

systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config

hostnamectl set-hostname harbor
reboot

修改靜態IP:

查看IP:

ip a

vi  /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens33
UUID=f57e17a1-16b0-4bbe-aac3-87b544a801fb
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.12.136
PREFIX=24
GATEWAY=192.168.12.2
DNS1=223.5.5.5

重啟網絡服務:

systemctl restart network 

【注意:

若重啟失敗

請按照以下步驟進行:

安裝?network-scripts:

dnf install network-scripts -y  # openEuler 基于 RHEL 8+/CentOS 8+,默認可能不安裝
systemctl enable --now network  # 啟用并啟動服務
systemctl restart network       # 再次嘗試重啟

安裝并升級所需軟件:

yum install vim  tree tar net-tools -y
yum  update  -y

【注意:

若更新不成功,請進行以下操作

再次檢查靜態IP是否正確:

vi  /etc/sysconfig/network-scripts/ifcfg-ens33

查看當前路由表:

ip route show

缺少靜態路由:

ip route add default via 192.168.12.2 dev ens33

最后測試:

yum  update  -y

拍攝快照!!!

【注意:

拍攝完快照后,如果IP地址消失,請進行以下操作:

方案一:

sudo dhclient ens33

方案二:

在靜態IP文檔里面直接寫入命令,要求每次打開時網卡自動開啟

ONBOOT=yes  

方案三:

手動啟動網卡:

ip link set ens33 up  # 啟用網卡

最后記得重啟網絡服務:

# 如果使用傳統 network 服務
systemctl restart network

安裝docker

【華為的OpenEurer沒有docker源需要從官方下載】

添加docker-ce 源信息:

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

修改docker-ce源:

sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo   # 更換為阿里開源鏡像站源
sed -i 's/$releasever/7/g' /etc/yum.repos.d/docker-ce.repo
# 由于阿里開源中沒有Euler系統版本,但其源自Centos則改為7即可

更新源:

yum  makecache

安裝docker-ce:默認安裝docker-ce是最新版本

yum install docker-ce  -y

啟動服務,查看信息:

systemctl enable --now docker

查看狀態:

systemctl status docker 

查看版本詳細信息:

docker  version  

配置鏡像加速器:

登錄華為云:共建智能世界云底座-華為云

華為云--->控制臺--->登錄[注冊]--->登錄容器鏡像服務控制臺--->在左側導航欄選擇“鏡像資源 > 鏡像中心”--->鏡像加速器

vim /etc/docker/daemon.json

{"registry-mirrors": [ "https://8cdf32a387b744b2940801aa00322980.mirror.swr.myhuaweicloud.com" ,"https://docker.1ms.run","https://docker.1panel.live/"]
}
~           
systemctl daemon-reload
systemctl restart docker
docker info 

部署Harbor服務

下載Harbor
wget  https://github.com/goharbor/harbor/releases/download/v2.12.2/harbor-offline-installer-v2.12.2.tgz
tar -xvf harbor-offline-installer-v2.12.2.tgz 

配置HarBor:

cd harbor

安裝編排工具
yum  install docker-compose  -y

修改配置文件:

將示例文件修改為正常文件:

mv harbor.yml.tmpl harbor.yml

vim harbor.yml 

# Configuration file of Harbor# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 192.168.88.100              # 修改本機IP,若改為主機名需要做映射# http related config
http:# port for http, default is 80. If https enabled, this port will redirect to https portport: 1021                         # 改為其它端口,防止80端口占用# https related config               # https的內容全部注釋掉
# https:# https port for harbor, default is 443# port: 443# The path of cert and key files for nginx# certificate: /your/certificate/path# private_key: /your/private/key/path# enable strong ssl ciphers (default: false)# strong_ssl_ciphers: false
……………………………………
# The initial password of Harbor admin
# It only works in first time to install harbor
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: 123         # 登錄密碼
安裝Harbor

安裝并啟動:

./install.sh  

查看進程:

docker ps  

測試
  • windows瀏覽器中輸入服務端IP:192.168.12.136:1021 來訪問管理頁面

    • 用戶面:admin

    • 密碼:123

  • 如下圖:

實戰

將k8s集群所需的鏡像上傳到Harbor倉庫中:

鏡像處理

導入k8s:

cd /
mkdir  /imagescd  /images

導入命令:

docker load -i cni.tar
docker load -i coredns.tar
docker load -i etcd.tar
docker load -i kube-apiserver.tar
docker load -i kube-controller-manager.tar
docker load -i kube-controllers.tar
docker load -i kube-proxy.tar
docker load -i kube-scheduler.tar
docker load -i kuboard.tar
docker load -i node.tar
docker load -i pause.tar

查看導入的:

docker images

鏡像重新打標簽:

docker tag eipwork/kuboard:v3  192.168.12.136:1021/k8s/kuboard:v3
docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.28.0  192.168.12.136:1021/k8s/kube-apiserver:v1.28.0
docker tag registry.aliyuncs.com/google_containers/kube-controller-manager:v1.28.0  192.168.12.136:1021/k8s/kube-controller-manager:v1.28.0
docker tag registry.aliyuncs.com/google_containers/kube-scheduler:v1.28.0  192.168.12.136:1021/k8s/kube-scheduler:v1.28.0
docker tag registry.aliyuncs.com/google_containers/kube-proxy:v1.28.0  192.168.12.136:1021/k8s/kube-proxy:v1.28.0
docker tag registry.aliyuncs.com/google_containers/etcd:3.5.9-0  192.168.12.136:1021/k8s/etcd:3.5.9-0
docker tag registry.aliyuncs.com/google_containers/coredns:v1.10.1  192.168.12.136:1021/k8s/coredns:v1.10.1
docker tag calico/kube-controllers:v3.25.0  192.168.12.136:1021/k8s/calico/kube-controllers:v3.25.0
docker tag calico/cni:v3.25.0  192.168.12.136:1021/k8s/calico/cni:v3.25.0
docker tag calico/node:v3.25.0  192.168.12.136:1021/k8s/calico/node:v3.25.0
docker tag registry.aliyuncs.com/google_containers/pause:3.9  192.168.12.136:1021/k8s/pause:3.9

docker images

設置私有鏡像庫
vim  /etc/docker/daemon.json
"insecure-registries": ["http://192.168.12.136:1021"]

重啟docker服務:

systemctl restart docker

【注意:這里出現了問題沒有成功啟動,查看原因:

systemctl stop  docker

少了逗號:

vim  /etc/docker/daemon.json
{"registry-mirrors": [ "https://8cdf32a387b744b2940801aa00322980.mirror.swr.myhuaweicloud.com" ,"https://docker.1ms.run","https://docker.1panel.live/"] ,"insecure-registries": ["http://192.168.12.136:1021"]}
~                           

修改后,順利啟動docker:

管理服務

重啟HarBor:

cd  /harbor
docker compose restart

登錄Harbor:

docker login 192.168.12.136:1021

推送鏡像到Harbor:

docker  push  192.168.12.136:1021/k8s/kuboard:v3
docker  push  192.168.12.136:1021/k8s/kube-apiserver:v1.28.0
docker  push  192.168.12.136:1021/k8s/kube-controller-manager:v1.28.0
docker  push  192.168.12.136:1021/k8s/kube-scheduler:v1.28.0
docker  push  192.168.12.136:1021/k8s/kube-proxy:v1.28.0
docker  push  192.168.12.136:1021/k8s/etcd:3.5.9-0
docker  push  192.168.12.136:1021/k8s/coredns:v1.10.1
docker  push  192.168.12.136:1021/k8s/calico/kube-controllers:v3.25.0
docker  push  192.168.12.136:1021/k8s/calico/cni:v3.25.0 
docker  push  192.168.12.136:1021/k8s/calico/node:v3.25.0
docker  push  192.168.12.136:1021/k8s/pause:3.9

查看推好的k8s:

機器重啟后需要執行下列操作,harbor才會就緒:

cd  /harbor

重啟docker:

systemc	restart docker

重啟HarBor:

docker compose restart

記得拍攝快照!!!

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

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

相關文章

分布式緩存:緩存設計中的 7 大經典問題_緩存失效、緩存穿透、緩存雪崩

文章目錄 緩存全景圖Pre緩存設計中的 7 大經典問題一、緩存失效1. 問題描述2. 原因分析3. 業務場景4. 解決方案 二、緩存穿透1. 問題描述2. 原因分析3. 業務場景4. 解決方案緩存空結果BloomFilter 過濾BloomFilter 原理簡述 三、緩存雪崩1. 問題描述2. 原因分析3. 業務場景4. 解…

Mysql差異備份與恢復

1.練習差異備份 差異備份:備份完全備份后,新產生的數據。 在192.168.88.50主機完成差異備份 步驟一:練習差異備份//周一完全備份 mysql> select * from test.one; --------------------- | name | age | sex | ------------------…

【Fargo】razor框架調用mediasoup的發送和接收能力

功能進行拆分,創建獨立的發送和接收線程,并實現跨線程的數據傳遞。創建一個簡化的主函數,展示如何使用這些新的接口線程隔離是通過包隊列實現的,實際上可以用webrtc的post 跨線程機制? 需求 主要有兩個需求:啟動接收線程接收數據的接口 啟動發送線程,但是數據來自于sim_…

C++——volatile

Cvolatile關鍵字 volatile是C中的一個關鍵字,用于修飾變量,表示該變量的值可能會在程序的控制之外被改變。它主要告訴編譯器不要對這個變量進行優化,確保每次訪問變量時都從實際存儲位置讀取最新值,而不是依賴寄存器中的緩存值。…

搭建自己的語音對話系統:開源 S2S 流水線深度解析與實戰

網羅開發 (小紅書、快手、視頻號同名) 大家好,我是 展菲,目前在上市企業從事人工智能項目研發管理工作,平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術,包括iOS、前端、Harmony OS、Java、Python等…

qt瀏覽文件支持慣性

#include <QApplication> #include <QListWidget> #include <QScroller> #include <QScrollerProperties>int main(int argc, char *argv[]) {QApplication app(argc, argv);// 創建列表控件并添加示例項QListWidget listWidget;for (int i 0; i <…

路徑規劃算法BFS/Astar/HybridAstar簡單實現

借鑒本文所述代碼簡單實現一下BFS&#xff0c;Astar和HybridAstar路徑規劃算法&#xff0c;用于輔助理解算法原理。 代碼在這里&#xff0c;畫圖用到了matplotlibcpp庫&#xff0c;需要先裝一下&#xff0c;然后直接在文件目錄下執行如下代碼即可運行&#xff1a; mkdir build…

get_the_category() 和 get_the_terms() 的區別

get_the_category() 和 get_the_terms() 是WordPress中用于獲取文章分類的兩個函數&#xff0c;但它們之間存在一些關鍵差異&#xff1a; get_the_category() 特定于分類&#xff1a;get_the_category() 函數專門用于獲取文章的分類(category)。它返回一個包含所有分類對象的…

RocketMq的消息類型及代碼案例

RocketMQ 提供了多種消息類型&#xff0c;以滿足不同業務場景對 順序性、事務性、時效性 的要求。其核心設計思想是通過解耦 “消息傳遞模式” 與 “業務邏輯”&#xff0c;實現高性能、高可靠的分布式通信。 一、主要類型包括 普通消息&#xff08;基礎類型&#xff09;順序…

maxkey單點登錄系統

github地址 https://github.com/MaxKeyTop/MaxKey/blob/master/README_zh.md 1、官方鏡像 https://hub.docker.com/u/maxkeytop 2、MaxKey:Docker快速部署 參考地址&#xff1a; Docker部署 | MaxKey單點登錄認證系統 拉取docker腳本MaxKey: Dromara &#x1f5dd;?MaxK…

基于AI生成測試用例的處理過程

基于AI生成測試用例的處理過程是一個結合機器學習、自然語言處理&#xff08;NLP&#xff09;和領域知識的系統性流程。以下是其核心步驟和關鍵技術細節&#xff0c;以幫助理解如何利用AI自動化生成高效、覆蓋全面的測試用例。 1. 輸入分析與需求建模 目標 將用戶需求、系統文…

《Java vs Go vs C++ vs C:四門編程語言的深度對比》

引言?? 從底層硬件操作到云端分布式系統&#xff0c;Java、Go、C 和 C 四門語言各自占據不同生態位。本文從??設計哲學??、??語法范式??、??性能特性??、??應用場景??等維度進行對比&#xff0c;為開發者提供技術選型參考。 一、??設計哲學與歷史定位??…

無損提速黑科技:YOLOv8+OREPA卷積優化方案解析(原理推導/代碼實現/調參技巧三合一)

文章目錄 一、OREPA核心思想與創新突破1.1 傳統重參數化的局限性1.2 OREPA的核心創新二、OREPA實現原理與數學推導2.1 卷積核分解策略2.2 動態融合公式三、YOLOv8集成實戰(完整代碼實現)3.1 OREPA卷積模塊定義3.2 YOLOv8模型集成3.3 訓練與推理配置四、性能對比與實驗分析4.1…

RestTemplate 發送的字段第二個大寫字母變成小寫的問題探究

在使用RestTemplate 發送http 請求的時候&#xff0c;發現nDecisonVar 轉換成了ndecisonVar ,但是打印日志用fastjson 打印的沒有問題&#xff0c;換成jackson 打印就有問題。因為RestTemplate 默認使用的jackson 作為json 序列化方式&#xff0c;導致的問題&#xff0c;但是為…

C#核心概念解析:析構函數、readonly與this關鍵字

&#x1f50d; 析構函數&#xff1a;資源清理的最后防線 核心作用 析構函數&#xff08;~ClassName&#xff09;在對象銷毀前執行&#xff0c;專用于釋放非托管資源&#xff08;如文件句柄、非托管內存&#xff09;。托管資源&#xff08;如.NET對象&#xff09;由GC自動回收…

FFmpeg中使用Android Content協議打開文件設備

引言 隨著Android 10引入的Scoped Storage&#xff08;分區存儲&#xff09;機制&#xff0c;傳統的文件訪問方式發生了重大變化。FFmpeg作為強大的多媒體處理工具&#xff0c;也在不斷適應Android平臺的演進。本文將介紹如何在FFmpeg 7.0版本中使用Android content協議直接訪…

vue——v-pre的使用

&#x1f530; 基礎理解 ? 什么是 v-pre&#xff1f; v-pre 是一個跳過編譯的 Vue 指令。 它告訴 Vue&#xff1a;“這個元素和其子元素中的內容不要被編譯處理&#xff0c;按原樣輸出。” ? 使用場景&#xff1a; 展示原始的 Mustache 插值語法&#xff08;{{ xxx }}&a…

PyTorch中TensorBoardX模塊與torch.utils.tensorboard模塊的對比分析

文章目錄 說明1. 模塊起源與開發背景2. 功能特性對比3. 安裝與依賴關系4. 性能與使用體驗5. 遷移與兼容性策略6. 最佳實踐與建議7. 未來展望8. 結論實際相關信息推薦資源 說明 TensorBoard&#xff1a;獨立工具&#xff0c;只需安裝tensorboard。TensorFlow&#xff1a;非必需…

單片機中斷系統工作原理及定時器中斷應用

文件目錄 main.c #include <REGX52.H> #include "TIMER0.H" #include "KEY.H" #include "DELAY.H"//void Timer0_Init() { // TMOD 0x01; // TL0 64536 % 256; // TH0 64536 / 256; // ET0 1; // EA 1; // TR0 1; //}unsigned char…

Python爬蟲實戰:研究Portia框架相關技術

1. 引言 1.1 研究背景與意義 在大數據時代,網絡數據已成為企業決策、學術研究和社會分析的重要資源。據 Statista 統計,2025 年全球數據總量將達到 175ZB,其中 80% 以上來自非結構化網絡內容。如何高效獲取并結構化這些數據,成為數據科學領域的關鍵挑戰。 傳統爬蟲開發需…