目录

1 诉家常

2 K8s配置镜像源

2.1 配置docker

2.2 Kubesphere配置镜像源

2.2.1 创建镜像源-基本信息

2.2.2 创建镜像源-密钥设置 

2.3 K8s使用私有镜像仓库

2.3.1 创建工作负载

3 经验


上一篇,已经讲解了如何给harbor镜像仓库推送镜像。这一篇分享下,在k8s里头如何配置和使用harbor私有镜像仓库。

喜讯:这个讲解掉,前面说的k8s部署镜像,拉取慢或者失败的问题就不存在了。

1 诉家常

终于等到这个步骤了,之前我们使用k8s的时候一直不顺利,主要在于镜像选取和下载不行,这个都得归咎于镜像源不行,因为使用的是docker.io的镜像源。

2 K8s配置镜像源

2.1 配置docker

在master节点机器,进入到/etc/docker编辑文件daemon.json。

执行命令:

vi /etc/docker/daemon.json

在json里头增加一个配置:

"insecure-registries":["http://192.168.211.5:80"],

重启docker以生效:

systemctl daemon-reload && systemctl restart docker && systemctl enable docker

2.2 Kubesphere配置镜像源

从如下面板进入创建:

2.2.1 创建镜像源-基本信息

 

2.2.2 创建镜像源-密钥设置 

2.3 K8s使用私有镜像仓库

上面已经配置了私有镜像仓库,下面演示一个如何从私有仓库选取镜像的方法。

注意:目前私有仓库里头只有一个nginx镜像,所以只能演示nginx镜像。

2.3.1 创建工作负载

再回到harbor,我们要拉取的是nginx的镜像,需要从harbor找到两个信息:

第一个镜像名称:

第二个镜像标签(版本)

 

下面的项目名/包名就是镜像的名称。

 

其他的配置都不做修改,默认设置即可。

创建之后,大概1分钟以内吧,nginx负载就部署成功了。这个就是创建私有镜像的好处呀。

3 经验

因此未来在使用k8s部署镜像的时候,如果镜像获取的不是很顺利,那么可以通过先把镜像推送到私有仓库然后再拉取镜像。

这个时候有人会问了,为啥要这么做呢?是因为本地拉取镜像过程使用了阿里云的镜像加速器,本地拉取镜像速度很快,但是k8s上默认拉取镜像的地址为docker.io,这个地址在国内访问巨慢。所以才这样曲线实现。

 至此k8s系列基础部分全部结束。

未来如何该系列还有更新的话,主要是更新基于k8s的应用的实现。

比如nginx在k8s里头怎么用。

比如集群在k8s里头如何共享存储之类的。

更多推荐