k8s使用需认证的私服仓库
本文内容
在K8s中使用需认证的私服仓库需要导入认证信息到集群中,常规导入方式有两种:
- 使用Docker已登录的仓库密文导入
- 使用命令行创建Secret对象导入
本文介绍的就是以上两种方法。
使用Docker已登录的仓库密文导入
1、docker login登录私服仓库,输入账号密码
docker login <私服仓库地址>
2、登录成功后,检查是否生成 docker 认证配置文件(生成在当前登录用户家的.docker目录下)
cat ~/.docker/config.json
3、通过 ~/.docker/config.json
创建Secret对象导入集群
kubectl create secret generic <secret-name> \ --from-file=.dockerconfigjson=~/.docker/config.json \ --type=kubernetes.io/dockerconfigjson
- secret-name:k8s Secret的名称标识字段
还有更复杂的方式,请参考官方文档
使用命令行创建Secret对象导入
替换参数并执行
kubectl create secret docker-registry <secret-name> --docker-server=<your-registry-server> --docker-username=<docker-username> --docker-password=<docker-password> --docker-email=<your-email>
- secret-name:k8s Secret的名称标识字段
- your-registry-server:私服docker仓库地址
- docker-username:docker登录用户
- docker-password:docker密码
- your-email:邮件地址
查看Secret创建情况
kubectl get secret
使用集群中的Secret拉取镜像
以Pod模板举例:
test-private-registry.yaml
apiVersion: v1 kind: Pod metadata: name: test-private-registry spec: containers: - name: private-reg-container image: <your-registry-server>/tomcat:8.5.34-alpine imagePullSecrets: - name: <secret-name>
注意:在spec中指定imagePullSecrets的name为之前Secret的名称即可
kubectl apply -f test-private-registry.yaml
本文作者:东北小狐狸
本文链接:https://www.cnblogs.com/hellxz/p/13470099.html
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步