k8s叢集使用私有倉庫透過containerd上傳映象(沒解決...)

rainsc發表於2024-08-26

查閱資料 根據 containerd 中部分文件

https://github.com/containerd/containerd/blob/release/1.5/docs/cri/registry.md

https://github.com/containerd/containerd/blob/release/1.5/docs/hosts.md

https://blog.csdn.net/u010566813/article/details/125990298

最終私有倉庫還是無法pull和push

配置 containerdcrictl

1. 配置 /etc/containerd/config.toml

/etc/containerd/certs.d 是路徑而不是檔案指向

確保在檔案中配置 [plugins."io.containerd.grpc.v1.cri".registry] 部分,以使 crictl 可以正常使用。以下是配置的模板(證書路徑保持為空):
image

2. 配置 crictl

確保 crictl 的配置檔案 /etc/crictl.yaml 連結到 containerd 引擎:

runtime-endpoint: unix:///run/containerd/containerd.sock

3. 配置 ctr

crictlctr 的配置是分開的,修改 registry 部分對 ctr 無效。ctr 的配置檔案位於 /etc/containerd/certs.d/hub.rainsc.com,並且應包含 hosts.toml 檔案。目錄結構如下:

ca可能沒用
image

/etc/containerd/certs.d/hub.rainsc.com/
└── hosts.toml

hosts.toml 檔案內容:

[host."hub.rainsc.com"]
  capabilities = ["pull", "resolve", "push"]
  skip_verify = true

這樣配置可以確保 containerdcrictl 正常工作並能夠與指定的私有映象倉庫 hub.rainsc.com 進行互動。

3. 拉庫演示

image

相關文章