【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor

私有仓库Harbor

https://goharbor.io/
内容学习于马士兵云原生课程

Harbor部署

部署docker及docker-compose

获取Harbor安装文件

https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
tar -zxvf harbor-offline-installer-v2.4.1.tgz

在这里插入图片描述

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第1张图片

获取TLS文件

云服务器厂商,即可申请

#-bash: unzip: 未找到命令
yum -y install unzip zip

#解压证书
unzip 6864844_kubemsb.com_nginx.zip 

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第2张图片

#移动证书文件到harbor目录下
mv 68* ./harbor

在这里插入图片描述

修改harbor配置文件

#修改配置文件名
mv harbor.yml.tmpl harbor.yml

#安装vim
yum -y install vim*
#编辑配置文件
#修改证书path
#修改域名

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第3张图片

执行预备脚本

./prepare

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第4张图片

执行安装脚本

./install.sh

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第5张图片

验证运行情况

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第6张图片

测试访问

#用户名密码在,harbor.yml中配置
admin
Harbor12345

配置域名解析,使用域名访问则是安全的
【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第7张图片
【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第8张图片

Docker使用Harbor

修改docker daemon.json配置文件

#增加如下内容
"insecure-registries": ["www.kwzone.cloud"]

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第9张图片

#重启加载daemon配置
systemctl daemon-reload
#重启docker
systemctl restart docker

#重启之后,发现harbor服务只有5个,正常为9个
#重启harbor服务
#停止并删除容器
docker-compose down
#后台启动
docker-compose up -d

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第10张图片

镜像推送拉取

#镜像打标记
docker tag centos:latest www.kwzone.cloud/library/centos:v1

在这里插入图片描述

#登录harbor仓库
#不加域名,默认是登录到docker hub
docker login www.kwzone.cloud

#推送镜像到harbor容器仓库
docker push www.kwzone.cloud/library/centos:v1

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第11张图片
在这里插入图片描述
查看harbor
【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第12张图片
拉取镜像

docker pull www.kwzone.cloud/library/centos@sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
#或者直接
docker pull www.kwzone.cloud/library/centos:v1

KubeSphere使用Harbor

测试Harbor是否可用

#在k8s宿主机,测试harbor服务是否可用
docker pull www.kwzone.cloud/library/centos:v1

配置镜像仓库密钥

这里使用的是免费证书 ,直接可以验证成功;

如果使用的是自建证书,则不会校验成功,需要先挂载自建证书到ks-apiserver
参考:https://mp.weixin.qq.com/s/Y8eCArLuiHEEZCSk-frSFw

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第13张图片

创建工作负载-使用Harbor

虽然验证成功,但是搜索镜像报错
在这里插入图片描述

Get "https://www.kwzone.cloud/v2/library/centos/manifests/v2": dial tcp: lookup www.kwzone.cloud on 10.96.0.10:53: no such host

因为是使用的非公网域名,所以k8s集群内部Pod无法识别这个域名.

解决方法:需要配置域名解析

#kubectl edit cm -n kube-system coredns
#192.168.8.88为harbor服务所在主机

#增加如下配置
hosts {
  192.168.8.88 www.kwzone.cloud
  fallthrough
}

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第14张图片
测试成功
【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor_第15张图片

你可能感兴趣的:(#,Kubernetes,#,Docker,kubernetes,容器,云原生)