k8s使用私有鏡像倉庫
假設已經搭建了私有的鏡像倉庫,域名是habor.xxx.com
1、docker登錄鏡像倉庫
docker login -u xxx -p xxx habor.xxx.com
2、拿到base64編碼配置文件
docker登錄之后,會把密鑰存到一個配置文件中
cat ~/.docker/config.json | base64
3、用base64編碼寫一個secret配置文件
demo-key.yaml
apiVersion: v1 kind: Secret metadata: name: demo-key namespace: default type: kubernetes.io/dockerconfigjson data: .dockerconfigjson:xxxxxxxxxxxxx
其中xxxxx為第二步生成的base64編碼。
注意命名空間。
4、導入k8s
kubectl create -f demo-key.yaml
5、修改chart
修改values.yaml
找到repository字段,兩種情況:
同級別字段沒有registry字段的:改為 域名/目錄/鏡像名這種,例如docker.io/bitnami/etcd 改為 habor.xxx.com/myproject/etcd
同級別字段有registry字段的:registry和repository分別替換,registry里放域名,repository放目錄和鏡像名。另外在image下(一般是與repository同級別),添加字段。
例如:
registry: harbor.xxx.com repository: myproject/etcd
pullSecrets:
- demo-key
注意 不需要帶https前綴。
chart里有依賴chart的,遞歸進去修改。