《Kubernetes部署篇:基于麒麟V10+ARM64架構部署harbor v2.4.0鏡像倉庫》

總結:整理不易,如果對你有幫助,可否點贊關注一下?

更多詳細內容請參考:企業級K8s集群運維實戰


一、環境信息

K8S版本 操作系統 CPU架構 服務版本
1.26.15 Kylin Linux Advanced Server V10 ARM64 harbor v2.4.0

二、部署操作

2.1、資源包下載

說明:如果你從別處找來的鏡像,redis提示報錯ignore-warnings ARM64-COW-BUG,可以重新編譯redis鏡像。當前資源已經是重新編譯過了,可以正常使用的鏡像。
在這里插入圖片描述


2.2、生成https證書

1、配置hosts

192.168.1.188 server.harbor.com

2、生成CA證書私鑰和CA證書

openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 \-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=server.harbor.com" \-key ca.key \-out ca.crt

說明:通過 ca.key 文件生成一個 crt 文件,CA 證書后面用來簽署服務器證書。


3、生成服務器證書私鑰

openssl genrsa -out server.harbor.com.key 4096

4、生成簽名請求文件

openssl req -sha512 -new \-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=server.harbor.com" \-key server.harbor.com.key \-out server.harbor.com.csr

說明:通過 server.harbor.com生成簽名請求文件 CSR。


5、生成x509 v3擴展文件

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names[alt_names]
DNS.1=server.harbor.com
DNS.2=192.168.1.188
EOF

6、生成服務器證書

openssl x509 -req -sha512 -days 3650 \-extfile v3.ext \-CA ca.crt -CAkey ca.key -CAcreateserial \-in server.harbor.com.csr \-out server.harbor.com.crt

2.3、配置Docker證書

說明:配置Docker客戶端以便它能夠安全地與使用了自簽名證書的Harbor倉庫進行通信。默認情況下,Docker客戶端在嘗試與倉庫通信時,會檢查倉庫的SSL證書是否由一個受信任的證書頒發機構(CA)簽發。如果證書是自簽名的(如Harbor的默認設置),Docker客戶端將拒絕連接,因為它不信任該證書。

1、將server.harbor.com.crt轉換為server.harbor.com.cert,供 Docker 使用

說明:Docker守護程序將 .crt 文件解釋為CA證書,并將 .cert 文件解釋為客戶端證書。

openssl x509 -inform PEM -in server.harbor.com.crt -out server.harbor.com.cert

2、復制證書到指定位置

說明:將服務器證書、服務器私鑰和CA文件復制到Harbor主機上的Docker證書文件夾中。必須首先創建適當的文件夾。

# 創建目錄
mkdir -p /etc/docker/certs.d/server.harbor.com
# 如果不是使用443端口,則需要在后面指定使用的具體端口,例如8001
mkdir -p /etc/docker/certs.d/server.harbor.com:9443cp server.harbor.com.cert /etc/docker/certs.d/server.harbor.com:9443/
cp server.harbor.com.key /etc/docker/certs.d/server.harbor.com:9443
cp ca.crt /etc/docker/certs.d/server.harbor.com:9443

如下圖所示:
在這里插入圖片描述


3、重啟docker

systemctl restart docker

2.4、部署harbor

1、解壓harbor安裝包

tar axf harbor-offline-installer-v2.4.0-arm64.tgz
cd harbor

2、導入鏡像

docker load -i harbor.v2.4.0.tar.gz

3、編輯harbor.yml文件

cp harbor.yml.tmpl harbor.yml
vim harbor.yml

如下所示:

hostname: server.harbor.com
http:port: 9800
https:port: 9443certificate: /data/pkgs/harbor/server.harbor.com.crtprivate_key: /data/pkgs/harbor/server.harbor.com.key
harbor_admin_password: Harbor12345
database:password: n714aSP3RT
data_volume: /data/basic-data/harbor/harbor-data
log:local:location:/data/basic-data/harbor/harbor-log

4、執行安裝腳本

./install.sh

執行完成后,如下所示:
在這里插入圖片描述

瀏覽器登陸https://192.168.1.188:9443,如下所示:
在這里插入圖片描述


2.5、containerd接入harbor

說明:以下操作在所有containerd主機上執行。

1、配置hosts

192.168.1.188 server.harbor.com

2、編輯配置文件/etc/containerd/config.toml

    [plugins."io.containerd.grpc.v1.cri".registry]config_path = ""[plugins."io.containerd.grpc.v1.cri".registry.auths][plugins."io.containerd.grpc.v1.cri".registry.configs][plugins."io.containerd.grpc.v1.cri".registry.configs."server.harbor.com:9443".tls]insecure_skip_verify = true[plugins."io.containerd.grpc.v1.cri".registry.configs."server.harbor.com:9443".auth]username = "admin"password = "Harbor12345"[plugins."io.containerd.grpc.v1.cri".registry.headers][plugins."io.containerd.grpc.v1.cri".registry.mirrors][plugins."io.containerd.grpc.v1.cri".registry.mirrors."server.harbor.com:9443"]endpoint = ["https://server.harbor.com:9443"][plugins."io.containerd.grpc.v1.cri".x509_key_pair_streaming]tls_cert_file = ""tls_key_file = ""

如下圖所示:
在這里插入圖片描述


3、重啟containerd服務

systemctl daemon-reload && systemctl restart containerd.service  

2.6、推送和拉取私有鏡像

2.6.1、推送私有鏡像

1、使用docker login命令進行登錄

echo Harbor12345 | docker login -u admin --password-stdin https://server.harbor.com:9443

docker login會在當前用戶家目錄下生成~/.docker/config.json,可以根據該文件制作鏡像拉取憑證如下所示:

[root@arm-2 ~]# cat ~/.docker/config.json
{"auths": {"server.harbor.com:9443": {"auth": "YWRtaW46SGFyYm9yMTIzNDU="}}

2、使用docker服務的doker push命令上傳鏡像

docker pull docker.io/library/nginx:1.25.4
docker tag docker.io/library/nginx:1.25.4 server.harbor.com:9443/library/nginx:1.25.4
docker push server.harbor.com:9443/library/nginx:1.25.4

如下圖所示,則表示push成功
在這里插入圖片描述


2.6.2、拉取私有鏡像

ctr image pull --user "admin:Harbor12345" --skip-verify server.harbor.com:9443/library/nginx:1.25.4

如下圖所示:
在這里插入圖片描述


總結:整理不易,如果對你有幫助,可否點贊關注一下?

更多詳細內容請參考:企業級K8s集群運維實戰

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

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

相關文章

chrome谷歌瀏覽器開啟Gemini Nano模型

前提 確保您的操作系統語言設置為英語(美國) 可能還需要將 Chrome 瀏覽器的語言更改為英語(美國)。 下載dev或Canary版本Chrome Chrome Canary Chrome Dev 注意:確認您的版本高于 127.0.6512.0。 其中一個Chrome版本不行就切換另外一個版本 繞過性能檢查 Tab輸入: …

中國美業元宇宙-探索美容行業的未來

隨著科技的不斷進步和數字化轉型的深入&#xff0c;元宇宙作為一種全新的虛擬現實交互平臺&#xff0c;正逐漸成為推動多個行業革新的重要力量。在這種背景下&#xff0c;中國美業也在積極擁抱元宇宙&#xff0c;希望通過這一新興技術為傳統美容行業帶來創新與發展。 #### 中國…

結構體相關習題的補充

結構體相關習題的補充 題目1&#xff1a; 如有以下代碼&#xff1a; struct student {int num;char name[32];float score; }stu;則下面的敘述不正確的是&#xff1a;( ) A.struct 是結構體類型的關鍵字 B.struct student 是用戶定義的結構體類型 C.num, score 都是結構體…

正邦科技(day4)

燒錄 一、燒錄固件二、 通訊模塊升級1&#xff1a;USB的方式升級固件2&#xff1a;通過mqtt的方式升級固件3&#xff1a;切換環境 三、 燒錄WiFi1&#xff1a;短接2&#xff1a;燒錄腳本 設備注意事項&#xff1a; 第一種方式&#xff1a;通信模組和MCU都可以統一燒錄BoodLoade…

Oracle Hint /*+APPEND*/插入性能總結

oracle append用法 Oracle中的APPEND用法主要用于提高數據插入的效率。 基本用法&#xff1a;在使用了APPEND選項后&#xff0c;插入數據會直接加到表的最后面&#xff0c;而不會在表的空閑塊中插入數據。這種做法不需要尋找freelist中的free block&#xff0c;從而避免了在…

【計算機畢設】基于Spring Boot的課程作業管理系統 - 源碼免費(私信領取)

免費領取源碼 &#xff5c; 項目完整可運行 &#xff5c; v&#xff1a;chengn7890 誠招源碼校園代理&#xff01; 1. 研究目的 課程作業管理系統旨在為教師和學生提供一個便捷的平臺&#xff0c;用于發布、提交和評定課程作業。本系統旨在提高作業管理的效率&#xff0c;促進教…

Golang反射

文章目錄 基本介紹reflect包reflect.Typereflect.Valuereflect.Kind具體類型、空接口與reflect.Value的相互轉換 反射應用場景修改變量的值訪問結構體的字段信息調用變量所綁定的方法實現函數適配器創建任意類型的變量 基本介紹 基本介紹 在Go中&#xff0c;反射&#xff08;re…

錯誤 0x80070570:文件或目錄損壞且無法讀取/無法訪問[拒絕訪問]-解決方法

1.起因&#xff1a;在挪動&#xff35;盤文件時&#xff0c;出現無法移動的報錯提示&#xff1a; and無法訪問[拒絕訪問]: 2.原因&#xff3b;大多是胡亂拔出&#xff35;盤&#xff3d; &#xff3b;來自0x80070570 文件或目錄損壞且無法讀取 CHKDSK 修復方法-CSDN博客&#…

iOS AVFoundation 音視頻源碼分享

引言 在現代移動開發中&#xff0c;音視頻處理是一個不可忽視的重要領域。iOS 提供了強大的 AVFoundation 框架&#xff0c;使開發者能夠輕松實現音視頻錄制、播放、編輯等功能。無論是創建高效的視頻播放器&#xff0c;還是實現復雜的音頻處理&#xff0c;AVFoundation 都能提…

Leecode---買賣股票最大利潤問題

121—題目&#xff08;只能買賣一次&#xff09;&#xff1a; 給定一個數組 prices &#xff0c;它的第 i 個元素 prices[i] 表示一支給定股票第 i 天的價格。 你只能選擇 某一天 買入這只股票&#xff0c;并選擇在 未來的某一個不同的日子 賣出該股票。設計一個算法來計算你所…

python-pytorch編寫transformer模型實現問答0.5.00--訓練和預測

python-pytorch編寫transformer模型實現問答0.5.00--訓練和預測 背景代碼訓練預測效果背景 代碼寫不了這么長,接上一篇 https://blog.csdn.net/m0_60688978/article/details/139360270 代碼 # 定義解碼器類 n_layers = 6 # 設置 Decoder 的層數 class Decoder(nn.Module)…

【JavaEE進階】——帶你詳細了解Spring日志以及配置日志

目錄 &#x1f6a9;Spring日志的認識 &#x1f6a9;Spring日志的作用 &#x1f6a9;觀察日志 &#x1f6a9;使用日志 &#x1f388;在程序中得到日志對象 &#x1f388;使??志對象輸出要打印的內容 &#x1f6a9;日志框架的介紹 &#x1f388;門面模式(外觀模式&…

Unity實現簡單的第一人稱控制

先看效果 實現方式 1.首先創建一個腳本 2.編輯腳本內容 付上腳本代碼 private float RotationX 0;public float speed 2f;//移動速度// Use this for initializationvoid Start(){Cursor.lockState CursorLockMode.Locked;//鎖定鼠標到中心點Cursor.visible false;//隱藏鼠…

(CPU/GPU)粒子繼承貼圖顏色發射

GetRandomInfo節點(復制貼進scratch pad Scripts) Begin Object Class/Script/NiagaraEditor.NiagaraClipboardContent Name"NiagaraClipboardContent_22" ExportPath/Script/NiagaraEditor.NiagaraClipboardContent"/Engine/Transient.NiagaraClipboardConten…

uni-app+php 生成微信二維碼 分銷海報

主要代碼如下&#xff0c;可直接復制調試參數&#xff1a; //查詢當前用戶是否有分銷海報public function user_poster(){$this->checkAuth();//查詢會員信息$user $this->getUserInfoById($this->user_id);if(!empty($user[distribution_img])){$result[data] $use…

深入解析力扣170題:兩數之和 III - 數據結構設計(哈希表與雙指針法詳解及模擬面試問答)

在本篇文章中&#xff0c;我們將詳細解讀力扣第170題“兩數之和 III - 數據結構設計”。通過學習本篇文章&#xff0c;讀者將掌握如何設計一個數據結構來支持兩種操作&#xff0c;并了解相關的復雜度分析和模擬面試問答。每種方法都將配以詳細的解釋和ASCII圖解&#xff0c;以便…

頭歌數據結構與算法課程設計易 - 青蛙跳臺階

從前有一只青蛙想跳臺階去等峰&#xff0c;若該青蛙一次可以跳上1級臺階、也可以跳上2級、還可以跳3級。那么改青蛙從第0級臺階出發&#xff0c;在跳上第n級臺階且在第m級臺階停留過時有多少種跳法。 輸入描述&#xff1a; 第一行兩個正整數&#xff0c;n和m m<n 輸出描述&a…

kubernetes鏡像下載頁,離線安裝k8s的資源

kubernetes-apt-pool安裝包下載_開源鏡像站-阿里云 (aliyun.com) 【Kubernetes】Kubernetes各大版本的最新版本下載地址_kubet軟件下載-CSDN博客

單位職員尤其女性,若你有文才那將前途無量!

單位職員尤其女性&#xff0c;若你有文才那將前途無量&#xff01; 公司職員尤其女性&#xff0c;若文才出眾&#xff0c;恭喜你&#xff1a;提拔重用你是早晚的事&#xff01;不信看我給你分析-- 再說機關、企事業單位的職員&#xff0c;尤其是體制內職工&#xff0c;你若會寫…

C# List

C# List 創建 List:添加元素:使用 AddRange 方法添加多個元素&#xff1a;插入元素:訪問元素:移除元素:使用 Remove 方法移除一個元素&#xff1a;使用 RemoveAt 方法移除指定索引的元素&#xff1a;使用 RemoveAll 方法移除滿足條件的所有元素&#xff1a; 查找元素:使用 Cont…