K8s集群如何从私有仓库中拉去镜像?

一、创建密钥

使用 docker repository 的用户信息来生成 secret

kubectl create secret 
\ docker-registry <secret-name> 
\ --docker-server=<host:port> 
\ --docker-username=<docker user> 
\ --docker-password=<docker user psw > 
\ --docker-email=<email>
参数含义:
  1. docker-registry 指定密钥的键名称, 自定义
  2. docker-server: 指定 docker 仓库地址
  3. docker-username: 指定 docker 仓库账号
  4. docker-password: 指定 docker 仓库密码

二、使用imagePullSecrets指定拉取镜像时的身份验证信息

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      imagePullSecrets: 
      - name: <secret-name> # 与第一步生成密钥时一致
      containers:
        - name: nginx
          image: <private-repository-host:port>/nginx # 与第一步生成密钥时一致,私有仓库host和端口号

三、可能遇到的问题:

1. http: server gave HTTP response to HTTPS client
原因:为私服没有开启https
解决方案(Linux):
  1. 编辑/etc/docker/daemon.json文件,在里面加入如下内容:
{"insecure-registries":["仓库ip:port"]}
  1. 重启Docker
systemctl daemon-reload
systemctl restart docker
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i余数

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值