我已經使用我的私有 docker 存盤庫創建了一個帶有影像名稱的部署 yaml 檔案。運行命令時:
kubectl get pods
我看到從該部署檔案創建的 pod 的狀態是 ImagePullBackOff。從我讀過的內容來看,這是因為我從沒有 imagePullSecret 的私有注冊表中提取影像。
如何將“imagePullSecret”創建為 yaml 檔案以使用包含來自私有存盤庫的影像的 deployment.yaml 檔案?或者它應該是部署檔案的一部分?
uj5u.com熱心網友回復:
pod 的規范中有一個名為 的欄位imagePullSecrets
,您可以使用部署 yaml 定義該欄位:
imagePullSecrets:
- name: registry-secret
然后您可以將缺少的“imagePullSecret”定義為 yaml 檔案:
apiVersion: v1
kind: Secret
metadata:
name: registry-secret
namespace: xxx-namespace
data:
.dockerconfigjson: UmVhbGx5IHJlYWxseSByZWVlZWVlZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGx5eXl5eXl5eXl5eXl5eXl5eXl5eSBsbGxsbGxsbGxsbGxsbG9vb29vb29vb29vb29vb29vb29vb29vb29vb25ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cgYXV0aCBrZXlzCg==
type: kubernetes.io/dockerconfigjson
.dockerconfigjson
可以從此檔案創建資料欄位。
uj5u.com熱心網友回復:
首先,您從 docker 創建 imagePullSecret
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=<path/to/.docker/config.json> \
--type=kubernetes.io/dockerconfigjson
或者,您可以通過在命令列中提供所需的引數來創建 imagePullSecret
kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
然后在 pod manifest 中使用 imagePullSecret 名稱
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: regcred
參考:
https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/529943.html