首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >基于rancher五分钟搭建私有镜像仓库harbor并配置https

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

作者头像
机械视角
发布2019-11-12 19:45:20
发布2019-11-12 19:45:20
5.3K0
举报
文章被收录于专栏:TensorbytesTensorbytes

用rancher应用商城搭建harbor

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

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

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

(1)openssl生成私钥

代码语言:javascript
复制
openssl genrsa -out harbor.key 1024

(2)openssl生成证书

代码语言:javascript
复制
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

代码语言:javascript
复制
[IP地址] 	core.harbor.domain

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

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

代码语言:javascript
复制
{"insecure-registries": ["core.harbor.orbbec","notary.harbor.orbbec"]}

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

重启客户端docker服务:

代码语言:javascript
复制
systemctl restart docker

配置镜像仓库凭证:

测试harbor上传

登陆harbor

代码语言:javascript
复制
docker login core.harbor.orbbec

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

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

代码语言:javascript
复制
docker tag [构建的私有仓库] core.harbor.orbbec/library/python:nginx

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

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

构建基于harbor的deployment

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

代码语言:javascript
复制
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:

代码语言:javascript
复制
kubectl apply -f test-web-deployment.yaml

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用rancher应用商城搭建harbor
  • 配置hosts
  • 测试harbor上传
  • 构建基于harbor的deployment
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档