文档章节

Kubernetes镜像仓库-Harbor的Helm部署

openthings
 openthings
发布于 2018/05/28 09:22
字数 706
阅读 2994
收藏 2

Kubernetes镜像仓库-Harbor的Helm部署

Harbor是Docker Images Registry Service系统,用于管理容器镜像,由VMVare中国团队开发。

Harbor的部署有几种方式:

1、部署Kubernetes和Helm

Kubernetes集群建议使用1.10.x版本,Helm是在Kubernetes上的应用软件包管理工具。具体方法参见:

2、下载Harbor源码

  • 下载helm部署代码并进入harbor helm目录。
git clone https://github.com/vmware/harbor
cd harbor/contrib/helm/harbor
  • 更新helm dependency

harbor的helm部署依赖helm部署的postgresql,在官方的安装文档没有明确说明,直接按照官方文档说明安装,就会缺失postgresql的部署,导致整个服务无法启动。

helm dependency update

3、安装harbor

官方提供了两种方式,Insecure和Secure,我这里选用的是Secure安全的部署方式,让harbor自己生成CA和SSL,简单方便。

  • 执行如下命令安装harbor:
helm install . --debug --name hub --set externalDomain=harbor.my.domain

externalDomain为外部能访问到harbor的域名,到目前为止,你可以在本地/etc/hosts中添加域名解析,从本地访问进行测试,待测试完成后再加入traefik-ingress中,当然你也可以直接在traefik-ingress中添加域名解析。

4、添加traefik-ingress的域名解析

编写traefik配置文件(traefik-harbor.yaml)

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: traefik-default-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: "traefik"
spec:
rules:
<ul><li>host: harbor.my.domain
http:
paths:
<ul><li>path: /
backend:
serviceName: my-release-harbor-ui
servicePort: 80

然后,运行安装:

kubectl create -f traefik-harbor.yml

5、helm harbor自定义配置

参考:

注意:

  • 在生产环境中需要持久化数据存储,否则pod重启或重建会造成数据丢失。
    • 如果有创建好的storageClass可以直接在values.yaml配置,如果没有或暂时不能使用SC的,可以使用nfs,需要修改一些配置。
    • 另外,nfs其实在社区也有storageClass的驱动库,不过使用起来较为繁琐,于是这里仍然修改为使用nfs。
  • 修改templates默认的namespace。
    • 注意需要修改依赖的chart文件夹下的postgresql-0.9-1.tgz压缩文件中的部署yaml模板,否则harbor的ui、register、mysql和postgresql不在一个namespace下,不能正常安装。
  • 注意修改postgresql的持久化数据卷,可参考

© 著作权归作者所有

openthings
粉丝 324
博文 1140
码字总数 689435
作品 1
东城
架构师
私信 提问
Harbor最新进展,将由CNCF管理

Harbor(https://goharbor.io)是一个企业级的容器镜像仓库管理系统,用于为企业级用户建立私有的容器镜像库,一方面可以对内部安装的网络传输加速,另一方面提供自己特有的版本更好地保证可...

openthings
2018/09/19
221
0
Harbor快速部署到Kubernetes集群及登录问题解决

Harbor(https://goharbor.io)是一个功能强大的容器镜像管理和服务系统,用于提供专有容器镜像服务。随着云原生架构的广泛使用,原来由VMWare开发的Harbor也加入了云原生基金会(参考《Har...

openthings
02/23
523
2
Harbor 1.6推出Helm Chart管理、复制过滤等新功能、视频演示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q48S71bCzBeYLOu9T0n/article/details/83005635 题图摄于北京奥林匹克塔:中国樽及CBD楼群 Harbor 开源项目在...

亨利笔记
2018/10/09
0
0
发现之旅:探索托管 Helm Charts 的正确方式

在2018 KubeCon大会上 K8s Helm 可谓是备受瞩目。Helm相对于 Kubernetes而言,就类似Ubuntu上的APT,和CENTOS上的yum命令。Helm把整个的Kubernetes的资源进行打包。好处第一是复用性,第二是...

程序员的那些事_
2018/11/01
0
0
k8s与CICD--利用flux部署应用到kubernetes

前言 一直在思考部署应用到k8s的姿势,之前介绍过helm,个人感觉helm把记录数据放到k8s中不是特别好。最近发现了weave的flux项目(A tool for deploying container images to Kubernetes serv...

店家小二
2018/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

谁说多功能和低价格不能兼得?Aspose系列产品1024购买指南请查收!

你还在为了Word、Excel、PDF、CAD等文档格式转换而发愁吗? 你是否在寻找一款能够在应用程序中文档管理的工具呢? Aspose——支持100多种文件格式创建、编辑、转换和打印! 往下看,找一找哪...

mnrssj
18分钟前
3
0
hbase客户端API

本章介绍用于对HBase表上执行CRUD操作的HBase Java客户端API。 HBase是用Java编写的,并具有Java原生API。因此,它提供了编程访问数据操纵语言(DML)。 HBaseConfiguration类 添加 HBase 的配...

水木星辰
18分钟前
3
0
[插件化开发] 1. 初识OSGI

初识 OSGI 背景 当前product是以solution的方式进行售卖,但是随着公司业务规模的快速夸张,随之而来的是新客户的产品开发,老客户的产品维护,升级以及修改bug,团队的效能明显下降,为了解...

IsaacZhang
18分钟前
4
0
Webstorm 环境使用 nuxt.js 做开发,@ 和 ~ 别名配置

好的IDE + 好的代码提示 = 高效率的开发 webstorm 设置@和~别名,有助于代码查看和跳转. step 0 在项目下创建一个webpack.config.js,内容如下: const path = require('path')module.exp...

皇虫
22分钟前
3
0
Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇

上一期我们介绍了如何基于 Knative Serverless 技术实现天气服务-上篇,首先我们先来回顾一下上篇介绍的内容: 通过高德天气 API 接口,每隔 3 个小时定时发送定时事件,将国内城市未来 3 天...

Mr_zebra
40分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部