关于kubernetes使用私有仓库一点说明

一、概述

  关于kubernetes使用私有docker image  registry的一些说明:

  1、对于自己构建的项目镜像或一些不想暴露到外网的image需要使用自建的私有仓库,一般有两种选择:docker registry v2、harbor

  2、镜像仓都是做安全认证的,kubernetes在使用的时候也需要把认证加上去,采用创建secret的方式使用

  3、关于镜像仓的选择:docker registry v2是官方的,部署简单,不提供原生删除image的功能;harbor功能比较全面,并且自带ui方便使用管理。单纯从使用来看一般docker           registry v2完全满足需求,关于镜像的清理参考:

       https://gist.github.com/cuishuaigit/34439b8946821c7898d1faefbf5bdbb1

       https://www.cnblogs.com/cuishuai/p/9107069.html

 

二、使用

在k8s集群的任意一个node节点上登陆registry,例如registry的地址是https://my-registry.image.com,user=registry,password=admin123

1、登陆

docker  login  https://my-registry.image.com  -u registry -p

然后输入密码(为了安全不要在后面直接写密码,选择交互式输入),此时会在当前登陆的用户目录下面有个.docker/config.json文件,这里面记录了认证信息。

 

2、创建secrete

根据上面生成的config.json创建secrete:

 cat config.json  |base64 -w 0

然后将生成的字串复制到secrete的创建yaml文件里面(确保没有多余的东西被复制):

cat  image-secrete.yaml

apiVersion: v1
kind: Secret
metadata:
  name: registry-secrete
  namespace: default
data:
  .dockerconfigjson: UmVhbGx5IHJlYWxseSByZWVlZWVlZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGx5eXl5eXl5eXl5eXl5eXl5eXl5eSBsbGxsbGxsbGxsbGxsbG9vb29vb29vb29vb29vb29vb29vb29vb29vb25ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cgYXV0aCBrZXlzCg==
type: kubernetes.io/dockerconfigjson

.dockerconfigjson后面的内容就是上面生成的字串

创建secrete

kubectl create -f image-secrete.yaml

 

 

  

posted @ 2019-04-04 17:54  诗码者  阅读(1720)  评论(1编辑  收藏  举报