Harbor Operator简介

Stella981
• 阅读 1032

Why an Harbor Operator

Harbor is a very active project, composed on numerous stateful and stateless sub-projects and dependencies. These components may be deployed, updated, healed, backuped or scaled respecting some constraints.

The Harbor Operator extends the usual K8s resources with Harbor-related custom ones. The Kubernetes API can then be used in a declarative way to manage Harbor and ensure its high-availability operation, thanks to the Kubernetes control loop.

The Harbor operator aims to cover both Day1 and Day2 operations of an enterprise-grade Harbor deployment.

The operator was initially developed by OVHcloud and donated to the CNCF as part of the Harbor project in March 2020, becoming the basis of the official Kubernetes Operator.

A modular and agnostic design

OVHcloud uses the operator at scale to operate part of its private registry service, but the project was designed in an agnostic way, to bring value to any company in search of deploying and managing one or multiple Harbor.

Configuration allows tuning both Harbor itself (with or without some optional components) or its dependencies. It is designed to be used on any Kubernetes cluster, in a cloud or on premise context.

Project status

Harbor Operator is still very early stage and currently covers deployment, scale and destruction of Harbor in 1.10 version. Other parts of the life-cycle will be managed in future versions of the operator. As any project in this repository, do not hesitate to raise issues or suggest code improvements.

Features

Harbor components is controlled by a custom Harbor resource. With ConfigMaps and Secrets, it handles almost all configuration combination.

Supported storage configuration

  • filesystem: A storage driver configured to use a directory tree in the a kubernetes volume.
  • s3: A driver storing objects in an Amazon Simple Storage Service (S3) bucket.
  • swift: A driver storing objects in Openstack Swift.
  • azure: A driver storing objects in Microsoft Azure Blob Storage.
  • oss: A driver storing objects in Aliyun OSS.
  • gcs: A driver storing objects in a Google Cloud Storage bucket.

Deploy a new stack

This operator is able to deploy an Harbor stack, fully or partially.

When Creating the Harbor resource, following components are always deployed:

  • Harbor Core
  • Registry
  • Registry Controller
  • Portal
  • Job Service

Following components are optional:

  • ChartMuseum
  • Notary
  • Clair
  • Trivy

Delete the stack

When deleting the Harbor resource, all linked components are deleted. With two Harbor resources, the right components are deleted and components of the other Harbor are not changed.

Adding/Removing a component

It is possible to add and delete ChartMuseum, Notary, Clair and Trivy by editing the Harbor resource.

Future features

  1. Auto-scaling for each component.
  2. Backup/restore data (registry layer, chartmuseum data, databases content).

Installation

See install documentation.

Compatibility

Supported platforms

Harbor version

This Operator currently only supports Harbor version 2.0

Howto's

Configuration

Generate resources using make generate

Development

Now, this project is maintained and developed by the Harbor operator workgroup. If you're willing to join the group and do contributions to operator project, welcome to contact us. Follow the Development guide to start on the project.

Community

Additional documentation

  1. Learn how reconciliation works
  2. Custom Resource Definition

License

See https://github.com/goharbor/harbor-operator/blob/master/LICENSE

点赞
收藏
评论区
推荐文章
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
Vue 轻量级后台管理系统基础模板
项目地址(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fwoai3c%2Fvueadmintemplate)在线预览(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2
Stella981 Stella981
3年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
3年前
Harbor REST API说明
harbor提供restapi,官方文档地址如下:https://github.com/vmware/harbor/edit/master/docs/swagger.yaml(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fvmware%2Fharbor
Stella981 Stella981
3年前
JSP+Structs+JDBC+mysql实现的诚欣电子商城
项目简介项目来源于:https://github.com/SuperiorNature/JavaEnterpriseelectronicmall(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2FSuperiorNature%2FJava
Stella981 Stella981
3年前
Golang注册Eureka的工具包goeureka发布
1.简介提供Go微服务客户端注册到Eureka中心。点击:github地址(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2FSimonWang00%2Fgoeureka),欢迎各位多多star!(已通过测试验证,用于正式生产部署)2.原理
Easter79 Easter79
3年前
The Complete Guide To Rooting Any Android Phone
PhoneWhitsonGordon(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.lifehacker.com.au%2Fauthor%2Fwhitsongordon%2F)7April,20118:00AMShare(https://ww
Stella981 Stella981
3年前
Dear ImGUI 使用指南
文档1)DearIMGui(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Focornut%2Fimgui)2)知乎(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.
Stella981 Stella981
3年前
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法参考文章:(1)Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.codeprj.com%2Fblo
Stella981 Stella981
3年前
Kubernetes的搭建与配置(二):部署 Wayne 用户界面
1、关于Wayne简介GitHub:https://github.com/Qihoo360/wayne(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2FQihoo360%2Fwayne)Wayne是一个Kubernetes