k8s使用secret從私有倉庫拉取映象
使用docker從私有倉庫拉取經銷,可以使用docker login [私有倉庫地址] 然後輸入使用者名稱和密碼登入後就可以拉取映象了,但如果使用k8s時,node 節點過多,難道需要跑到每個node節點去執行一次登入麼?當然不是.這裡就牽扯到k8s中的一個secret的東西.
Secret 有三種型別:
- Service Account :用來訪問 Kubernetes API,由 Kubernetes 自動建立,並且會自動掛載到 Pod 的/run/secrets/kubernetes.io/serviceaccount 目錄中
- Opaque :base64編碼格式的Secret,用來儲存密碼、金鑰等
- kubernetes.io/dockerconfigjson :用來儲存私有 docker registry 的認證資訊
這裡主要介紹第三種kubernetes.io/dockerconfigjson 如何使用.當使用k8s命令啟動pod時,出現了
rpc error: code = Unknown desc = Error response from daemon: pull access denied for 222.212.85.199:12375/gzlt/gzlt, repository does not exist or may require 'docker login'
rpc error: code = Unknown desc = Error response from daemon: pull access denied for 222.212.85.199:12375/gzlt/gzlt, repository does not exist or may require 'docker login'
這樣的錯誤提示,一般就是沒有通過身份驗證.,這時,就需要設定驗證資訊,來告訴docker,然後通過驗證後拉取映象.
首先通過kubectl 命令建立secret
kubectl create secret docker-registry [secret名稱] --docker-server=[私有倉庫ip:埠] --docker-username=[使用者名稱] --docker-password=[密碼] --namespace=[k8s名稱空間]
這裡選擇docker-registry型別建立secret
需要注意的是: --namespace 引數和後面使用此secret 的pod 有密切的關係.如果他們不在同一個名稱空間,也是不會驗證成功的.
然後就是在建立pod的yaml檔案中新增secret
apiVersion: v1
kind : ReplicationController
metadata:
name :
namespace:
spec:
replicas: 2
selector :
app :
template:
metadata:
labels :
app :
spec:
containers:
- name :
image :
imagePullPolicy: IfNotPresent
ports :
- name: webservice
containerPort: 8088
- name:
containerPort: 9081
imagePullSecrets:
- name: [secret名稱] --這裡就配置你剛才建立的secret 的名稱即可
然後再次建立pod 就可以了.
ps: 網上還有很多建立secret 的方法,這裡就不說了,畢竟也沒有使用過.感興趣的可以自己再去多瞭解一下.
相關文章
- K8S 拉取私有倉庫映象K8S
- 配置pod拉取harbor容器映象倉庫私有映象:secret儲存賬號密碼密碼
- 配置kuernetes叢集pod拉取私有映象倉庫中的映象
- k8s 使用 containerd 作為容器執行時拉取 http 的 harbor 私有倉庫映象K8SAIHTTP
- containerd 配置使用私有映象倉庫 harborAI
- Docker倉庫之Registry私有映象倉庫的搭建與使用Docker
- 微服務探索之路03篇-docker私有倉庫Harbor搭建+Kubernetes(k8s)部署私有倉庫的映象微服務DockerK8S
- 容器映象拉取不了,不防試試這個公益映象倉庫
- k8s叢集使用私有倉庫透過containerd上傳映象(沒解決...)K8SAI
- Jenkins打Docker映象推送到私有倉庫JenkinsDocker
- 用Docker搭建cnpm私有倉庫以及私有倉庫的使用DockerNPM
- CentOS7下 讓Docker pull命令使用squid做http代理拉取目標映象倉庫的映象CentOSDockerUIHTTP
- 搭建私有YUM倉庫與內網映象站內網
- 容器技術之Docker私有映象倉庫harborDocker
- Harbor-私有映象倉庫的安裝部署
- K8s 從懵圈到熟練 – 映象拉取這件小事K8S
- Kunbernetes-基於Nexus構建私有映象倉庫
- 用 Docker 部署前端?你有私有映象倉庫嗎Docker前端
- kubernetes實踐之二十八:使用Harbor作為私有映象倉庫
- 使用CocoaPods打造元件私有倉庫元件
- 使用verdaccio 搭建npm私有倉庫NPM
- 使用 SVN 搭建 Composer 私有倉庫
- 使用verdaccio搭建私有npm倉庫NPM
- 如何在K8S中優雅的使用私有映象庫 (Docker版)K8SDocker
- 容器技術之Docker私有映象倉庫docker-distributionDocker
- docker使用代理拉取映象的配置Docker
- docker使用容器搭建本地私有倉庫Docker
- 如何使用GitHub建立Maven私有倉庫GithubMaven
- 使用 docker + verdaccio 搭建npm私有倉庫DockerNPM
- 私有Docker倉庫Docker
- 搭建npm私有映象倉庫,天下苦於npm build久矣NPMUI
- docker-registry 私有倉庫映象 之 檢視與刪除Docker
- windows系統用docker構造映象上傳私有倉庫WindowsDocker
- 從模組化到NPM私有倉庫搭建NPM
- 加速 Kubernetes 映象拉取
- Docker拉取映象太慢Docker
- 私有化輕量級持續整合部署方案--06-私有映象倉庫-Harbor
- 使用 Satis 搭建私有的 Composer 包倉庫