我正在嘗試在 ubuntu20.04 上使用 minikube 運行我的 kuberntes 應用程式,并應用了一個秘密來從 docker hub 拉取私有 docker 映像,但它似乎無法正常作業。
無法提取影像“xxx/node-graphql:latest”:rpc 錯誤:代碼 = 未知 desc = 來自守護行程的錯誤回應:xxx/node-graphql 的拉取訪問被拒絕,存盤庫不存在或可能需要“docker login”:被拒絕: 請求的資源訪問被拒絕
這是由
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=<pathtofile>.docker/config.json \
--type=kubernetes.io/dockerconfigjson
這是我創建的秘密 yaml 檔案
apiVersion: v1
data:
.dockerconfigjson: xxx9tRXpNakZCSTBBaFFRPT0iCgkJfQoJfQp9
kind: Secret
metadata:
name: node-graphql-secret
uid: xxx-2e18-44eb-9719-xxx
type: kubernetes.io/dockerconfigjson
有沒有人嘗試使用秘密將私有 docker 映像拉入 Kubernetes?任何形式的幫助將不勝感激。謝謝!
uj5u.com熱心網友回復:
我設法在以下步驟中添加了秘密配置。
首先,您需要使用以下命令登錄 docker hub:
docker login
接下來,您創建一個運行的 k8s 密鑰:
kubectl create secret generic <your-secret-name>\\n --from-file=.dockerconfigjson=<pathtoyourdockerconfigfile>.docker/config.json \\n --type=kubernetes.io/dockerconfigjson
然后獲取yaml格式的秘密
kubectl get secret -o yaml
它應該如下所示:
apiVersion: v1
items:
- apiVersion: v1
data:
.dockerconfigjson: xxxewoJImF1dGhzIjogewoJCSJodHRwczovL2luZGV4LmRvY2tl
kind: Secret
metadata:
creationTimestamp: "2022-10-27T23:06:01Z"
name: <your-secret-name>
namespace: default
resourceVersion: "513"
uid: xxxx-0f12-4beb-be41-xxx
type: kubernetes.io/dockerconfigjson
kind: List
metadata:
resourceVersion: ""
我已經在秘密 yaml 檔案中復制了秘密的內容:
apiVersion: v1
data:
.dockerconfigjson: xxxewoJImF1dGhzIjogewoJCSJodHRwczovL2luZGV4LmRvY2tlci
kind: Secret
metadata:
creationTimestamp: "2022-10-27T23:06:01Z"
name: <your-secret-name>
namespace: default
resourceVersion: "513"
uid: xxx-0f12-4beb-be41-xxx
type: kubernetes.io/dockerconfigjson
有用!這是一種Secret用于為 K8s 拉取私有 docker 鏡像的簡單方法。
作為旁注,要應用秘密,請運行kubectl apply -f secret.yml
希望能幫助到你
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/523599.html
標籤:Kuberneteskubectl迷你库贝码头工人Kubernetes-秘密
