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的,递归进去修改。

原文地址:https://www.cnblogs.com/oceanking/p/15129365.html