基于rancher五分钟搭建私有镜像仓库harbor并配置https

用rancher应用商城搭建harbor

在rancher应用商店搜索 harbor ,点击查看详情,进入到配置页面:

可以自建证书也可以直接用kubernetes证书,部署成功可以去work节点下面/etc/docker/certs.d/下面查看会有响应设置的域名证书,按照默认配置,点击启动,这样一个harbor应用就被拉起来了

如果用自建证书(不推荐),步骤如下:

(1)openssl生成私钥

1
openssl genrsa -out harbor.key 1024

(2)openssl生成证书

1
2
3
4
5
6
7
8
9
10
openssl req -new -x509 -days 36500 -key harbor.key -out harbor.crt

-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:GUANGDONG
Locality Name (eg, city) [Default City]:SHENZHEN
Organization Name (eg, company) [Default Company Ltd]:ORBBEC
Organizational Unit Name (eg, section) []:ORBBEC
Common Name (eg, your name or your server's hostname) []:*.harbor.orbbec
Email Address []:cifang@orbbec.com

(3)导入证书

配置hosts

由于搭建的时候采用Ingress的内网域名的形式,我们需要配置hosts或者搭建私有的DNS服务器,这里我们采用默认自己修改域名

修改/etc/hosts

1
[IP地址] 	core.harbor.domain

这里的修改hosts不仅修改客户端环境的,还要修改work节点的hosts

配置好hosts之后,我们还要配置信任证书,这里有两种方法,一种是直接通过/etc/docker/daemon.jsoninsecure-registries:

1
{"insecure-registries": ["core.harbor.orbbec","notary.harbor.orbbec"]}

另一种可以到work节点下的/etc/docker/certs.d拷贝到客户端对应位置

重启客户端docker服务:

1
systemctl restart docker

配置镜像仓库凭证:

测试harbor上传

登陆harbor

1
docker login core.harbor.orbbec

这里的登陆域名是前面配置的core-harbor的域名,输入用户名密码即可。

上传私有镜像
打标签,并上传到library

1
2
3
docker tag [构建的私有仓库] core.harbor.orbbec/library/python:nginx

docker push core.harbor.orbbec/library/python:nginx

上传可以登陆到 harbor 的 library 项目种查看,可以看到项目已经有一个上传成功的镜像了。

构建基于harbor的deployment

构建一个测试deployment,看应用是否正常:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-web-deployment
labels:
app: my-web
spec:
replicas: 4
selector:
matchLabels:
app: my-web
template:
metadata:
labels:
app: my-web
spec:
imagePullSecrets:
- name: core-harbor
containers:
- name: nginx
image: core.harbor.orbbec/library/python:nginx
ports:
- containerPort: 80

这里需要注意要加上imagePullSecrets,这里就是我们之前配置的镜像仓库凭证。

发布deployment:

1
kubectl apply -f test-web-deployment.yaml

通过kubectl get deployment可以看到应用已经正常运行了

shikanon wechat
欢迎您扫一扫,订阅我滴↑↑↑的微信公众号!