最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

containerd2.x配置Harbor私有倉庫實(shí)踐

 更新時間:2026年05月11日 16:16:08   作者:小小的木頭人  
文章主要介紹了兩種配置containerd2.x連接Harbor私有倉庫的方法,推薦使用certs.d方式,無需修改config.toml,更簡潔,同時,對于特定環(huán)境下的HTTPS + 自簽名證書問題,給出了通過hosts.toml配置和修改config.toml配置兩種方案,并強(qiáng)調(diào)了不同環(huán)境下的注意事項(xiàng)和配置驗(yàn)證方法

containerd 2.x 配置 Harbor 私有倉庫,推薦兩種方式:

方式一(推薦):certs.d方式(containerd 1.5+ / 2.x 推薦)

這種方式不用改 config.toml,更干凈。

假設(shè) Harbor 地址:

192.168.30.221

1. 創(chuàng)建目錄

sudo mkdir -p /etc/containerd/certs.d/192.168.30.221

2. 創(chuàng)建hosts.toml

sudo vi /etc/containerd/certs.d/192.168.30.221/hosts.toml

內(nèi)容:

如果是 HTTP(內(nèi)網(wǎng)常用)

server = "http://192.168.30.221"

[host."http://192.168.30.221"]
  capabilities = ["pull", "resolve", "push"]
  skip_verify = true

排錯

出現(xiàn)錯誤

HTTP/1.1 308 Permanent Redirect
Location: https://10.2.2.240:443/v2/

說明 Harbor 強(qiáng)制 HTTP 跳轉(zhuǎn) HTTPS,不是純 HTTP,需要將 hosts.toml 改為

server = "https://192.168.30.221"

[host."https://192.168.30.221"]
  capabilities = ["pull", "resolve", "push"]
  skip_verify = true

最后現(xiàn)象

root@master:/etc/containerd# sudo ctr images pull \
  --hosts-dir /etc/containerd/certs.d \
  --user admin:Aa12345 \
  192.168.30.221/library/mysql:latest
192.168.30.221/library/mysql:latest         	saved	
└──manifest (88b1423f0c31)              	complete   	|++++++++++++++++++++++++++++++++++++++|	
   ├──config (2c5440daffa8)             	complete   	|++++++++++++++++++++++++++++++++++++++|	
   ├──layer (4ea0fa0ace0c)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
   ├──layer (9effc86d91a3)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
   ├──layer (500d7b2546c4)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
   ├──layer (fc5138e88017)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
   ├──layer (b534c7c08c95)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
   ├──layer (5525b1bd2d5d)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
   ├──layer (fc3e1c37f699)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
   ├──layer (a1bcea418c7c)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
   ├──layer (30e3c68e682c)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
   └──layer (50786f9db9d5)              	extracted  	|++++++++++++++++++++++++++++++++++++++|	
application/vnd.docker.distribution.manifest.v2+json sha256:88b1423f0c3138fc488828126472b669fb6e442c2f9080701e18478a3b3a8171
Completed pull from OCI Registry (192.168.30.221/library/mysql:latest)	elapsed: 56.4s	total:  262.8 	(4.7 MiB/s)	
root@master:/etc/containerd# sudo ctr images ls
REF                             TYPE                                                 DIGEST                                                                  SIZE      PLATFORMS   LABELS 
192.168.30.221/library/mysql:latest application/vnd.docker.distribution.manifest.v2+json sha256:88b1423f0c3138fc488828126472b669fb6e442c2f9080701e18478a3b3a8171 262.8 MiB linux/amd64 - 

如果是 HTTPS + 自簽名證書

server = "https://192.168.30.221"

[host."https://192.168.30.221"]
  capabilities = ["pull", "resolve", "push"]
  ca = "/etc/containerd/certs.d/192.168.30.221/ca.crt"
  skip_verify = true

然后把 Harbor CA 放進(jìn)去:

sudo cp ca.crt /etc/containerd/certs.d/192.168.30.221/

3. 重啟 containerd

sudo systemctl restart containerd

4. 拉取測試

sudo ctr images pull \
  --user admin:Aa12345 \
  192.168.30.221/library/mysql:latest

方式二:修改config.toml

先生成默認(rèn)配置(如果沒有):

sudo containerd config default > /etc/containerd/config.toml

編輯:

sudo vi /etc/containerd/config.toml

找到:

[plugins."io.containerd.grpc.v1.cri".registry]

改成:

[plugins."io.containerd.grpc.v1.cri".registry]

  [plugins."io.containerd.grpc.v1.cri".registry.mirrors]

    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.30.221"]
      endpoint = ["http://192.168.30.221"]

保存后:

sudo systemctl restart containerd

驗(yàn)證配置是否生效

查看:

sudo ctr version

測試:

sudo ctr images pull --user admin:Aa12345 192.168.30.221/library/mysql:latest

成功會看到:

unpacking linux/amd64 sha256:...
done

推薦你用哪個?

你的環(huán)境是:

  • Harbor 用 IP:192.168.30.221
  • 證書報 IP SAN 錯誤
  • 內(nèi)網(wǎng)

建議直接用 方式一(certs.d + http)

server = "http://192.168.30.221"

最快,最穩(wěn),不折騰證書。

kubelet

  • ctr:靠 --hosts-dir 成功
  • kubelet:直接走 HTTPS → x509 報錯

在config.toml里加

  • 方案 1(推薦:最簡單
[plugins."io.containerd.grpc.v1.cri".registry]

  [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.30.221".tls]
    insecure_skip_verify = true
  • 方案 2(mirror 方式)
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.30.221"]
  endpoint = ["https://192.168.30.221"]

你這個環(huán)境必須注意: 你 Harbor 是 HTTP -> 308 -> HTTPS 所以 必須走 HTTPS,但跳過證書驗(yàn)證

  • 修改后必須執(zhí)行
sudo systemctl restart containerd
sudo systemctl restart kubelet
  • 驗(yàn)證 kubelet 是否生效
crictl pull 192.168.30.221/library/mysql:latest
# 或者
kubectl run test --image=192.168.30.221/library/mysql:latest

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • k8s admin用戶生成token方式

    k8s admin用戶生成token方式

    用戶使用Kubernetes 1.28創(chuàng)建admin命名空間并部署,通過ClusterRoleBinding為jenkins用戶授權(quán)集群級權(quán)限,生成并獲取其token,最后檢查token是否存在及生效情況
    2025-09-09
  • 理解k8s控制器DaemonSet創(chuàng)建及使用場景

    理解k8s控制器DaemonSet創(chuàng)建及使用場景

    這篇文章主要為大家介紹了k8s控制器DaemonSet創(chuàng)建及使用場景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Kubernetes?Ingress實(shí)現(xiàn)細(xì)粒度IP訪問控制

    Kubernetes?Ingress實(shí)現(xiàn)細(xì)粒度IP訪問控制

    這篇文章主要為大家介紹了Kubernetes?Ingress實(shí)現(xiàn)細(xì)粒度IP訪問控制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Kubernetes調(diào)度管理優(yōu)先級和搶占機(jī)制詳解

    Kubernetes調(diào)度管理優(yōu)先級和搶占機(jī)制詳解

    這篇文章主要為大家介紹了Kubernetes調(diào)度管理優(yōu)先級和搶占機(jī)制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • IoT?邊緣集群Kubernetes?Events告警通知進(jìn)一步配置詳解

    IoT?邊緣集群Kubernetes?Events告警通知進(jìn)一步配置詳解

    這篇文章主要為大家介紹了IoT?邊緣集群Kubernetes?Events告警通知進(jìn)一步配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 最新青龍面板2.10.2搭建+XDD-PLUS的保姆級教程

    最新青龍面板2.10.2搭建+XDD-PLUS的保姆級教程

    這篇文章主要介紹了最新青龍面板2.10.2搭建+XDD-PLUS的保姆級教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • k8s自動化安裝腳本(二進(jìn)制)的操作步驟

    k8s自動化安裝腳本(二進(jìn)制)的操作步驟

    Kubernetes?k8s安裝腳本,非常好用,下面這篇文章主要給大家介紹了關(guān)于k8s自動化安裝腳本(二進(jìn)制)的操作步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Kubernetes?安裝flannel組件的過程(本地?kube-flannel.yml?文件)

    Kubernetes?安裝flannel組件的過程(本地?kube-flannel.yml?文件)

    文章介紹了如何在無法直接訪問raw.githubusercontent.com的情況下,通過科學(xué)上網(wǎng)或下載kube-flannel.yml文件源碼來部署Flannel網(wǎng)絡(luò)插件的方法,感興趣的朋友一起看看吧
    2025-03-03
  • K8S Node異常問題排查過程

    K8S Node異常問題排查過程

    文章介紹了使用kubectl命令行對K8S集群中的Node異常進(jìn)行初步定位的方法,包括查看NotReady發(fā)生時間、異常event、NodeConditions以及kubelet日志,文章還詳細(xì)描述了常見問題的解決方法,如Kubelet停止匯報心跳、PLEG不可用和Node被驅(qū)逐等情況
    2026-01-01
  • Kubernetes安裝Jenkins的思路詳解

    Kubernetes安裝Jenkins的思路詳解

    這篇文章主要介紹了Kubernetes安裝Jenkins,Jenkins插件可以在Kubernetes集群中運(yùn)行動態(tài)jenkins-slave代理,基于Kubernetes的docker,自動化在Kubernetes中運(yùn)行的Jenkins-slave代理的縮放,需要的朋友可以參考下
    2022-06-06

最新評論

利津县| 惠来县| 扬州市| 南阳市| 尼木县| 城市| 民勤县| 凌源市| 大关县| 米易县| 庆城县| 襄樊市| 略阳县| 垣曲县| 上蔡县| 康马县| 维西| 科技| 屯留县| 神木县| 根河市| 哈巴河县| 四平市| 桦甸市| 南充市| 晋江市| 鄯善县| 长子县| 阜新| 黄平县| 永福县| 泰顺县| 唐山市| 黔江区| 郧西县| 太保市| 福州市| 临夏县| 怀仁县| 鄂尔多斯市| 青田县|