harbor安装_Harbor简单安装部署,镜像仓库存储使用阿里云OSS
使用docker-compose创建,此方法简单,问题是无法做到高可用。
环境准备:
Harbor使用最新版本的harbor-offline-installer-v2.0.2.tgz
下载链接:
https://github.com/goharbor/harbor/releases/download/v2.0.2/harbor-offline-installer-v2.0.2.tgz
软件要求:
docker 17.06.0-ce+ and docker-compose 1.18.0+
服务器硬件要求:
服务器最低要求2核4G内存,40G磁盘
搭建步骤:
1.安装docker,yum添加docker.repo
[docker]baseurl = https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stableenabled = 1gpgcheck = 1gpgkey = https://mirrors.aliyun.com/docker-ce/linux/centos/gpgname = Docker CE Stable - $basearch
sudo yum install docker-ce -y
sudo systemctl enable docker && sudo systemctl start docker
2.安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose
3.解压harbor文件到/usr/local/
sudo tar xvf harbor-offline-installer-v2.0.2.tgz -C /usr/local/
4.编辑harbor.yml
cd /usr/local/harbor
cp harbor.yml.tmpl harbor.yml
修改harbor.yml
# Configuration file of Harbor# The IP address or hostname to access admin UI and registry service.# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.#hostname: reg.mydomain.comhostname: registry.test.com# http related confighttp: # port for http, default is 80. If https enabled, this port will redirect to https port port: 80# https related config#https: # https port for harbor, default is 443# port: 443 # The path of cert and key files for nginx# certificate: /your/certificate/path# private_key: /your/private/key/path# # Uncomment following will enable tls communication between all harbor components# internal_tls:# # set enabled to true means internal tls is enabled# enabled: true# # put your cert and key files on dir# dir: /etc/harbor/tls/internal# Uncomment external_url if you want to enable external proxy# And when it enabled the hostname will no longer used# external_url: https://reg.mydomain.com:8433# The initial password of Harbor admin# It only works in first time to install harbor# Remember Change the admin password from UI after launching Harbor.harbor_admin_password: xxxxxxx# Harbor DB configurationdatabase: # The password for the root user of Harbor DB. Change this before any production use. password: root123 # The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained. max_idle_conns: 50 # The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections. # Note: the default number of connections is 100 for postgres. max_open_conns: 100# The default data volumedata_volume: /data#data_volume:# Harbor Storage settings by default is using /data dir on local filesystem# Uncomment storage_service setting If you want to using external storage# # ca_bundle is the path to the custom root ca certificate, which will be injected into the truststore# # of registry's and chart repository's containers. This is usually needed when the user hosts a internal storage with self signed certificate.# ca_bundle:storage_service:# ca_bundle: oss: accesskeyid: xxxxxx accesskeysecret: xxxxxxx region: oss-cn-xxxxx-internal.aliyuncs.com endpoint: harbor-aliyun.oss-cn-xxxxx-internal.aliyuncs.com# internal: true bucket: harbor-aliyun# redirect:# disable: false# # storage backend, default is filesystem, options include filesystem, azure, gcs, s3, swift and oss# # for more info about this configuration please refer https://docs.docker.com/registry/configuration/# filesystem:# maxthreads: 100# # set disable to true when you want to disable registry redirect# redirect:# disabled: false# Clair configurationclair: # The interval of clair updaters, the unit is hour, set to 0 to disable the updaters. updaters_interval: 12# Trivy configurationtrivy: # ignoreUnfixed The flag to display only fixed vulnerabilities ignore_unfixed: false # skipUpdate The flag to enable or disable Trivy DB downloads from GitHub # # You might want to enable this flag in test or CI/CD environments to avoid GitHub rate limiting issues. # If the flag is enabled you have to manually download the `trivy.db` file and mount it in the # /home/scanner/.cache/trivy/db/trivy.db path. skip_update: false # # insecure The flag to skip verifying registry certificate insecure: false # github_token The GitHub access token to download Trivy DB # # Trivy DB contains vulnerability information from NVD, Red Hat, and many other upstream vulnerability databases. # It is downloaded by Trivy from the GitHub release page https://github.com/aquasecurity/trivy-db/releases and cached # in the local file system (/home/scanner/.cache/trivy/db/trivy.db). In addition, the database contains the update # timestamp so Trivy can detect whether it should download a newer version from the Internet or use the cached one. # Currently, the database is updated every 12 hours and published as a new release to GitHub. # # Anonymous downloads from GitHub are subject to the limit of 60 requests per hour. Normally such rate limit is enough # for production operations. If, for any reason, it's not enough, you could increase the rate limit to 5000 # requests per hour by specifying the GitHub access token. For more details on GitHub rate limiting please consult # https://developer.github.com/v3/#rate-limiting # # You can create a GitHub token by following the instuctions in # https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line # # github_token: xxxjobservice: # Maximum number of job workers in job service max_job_workers: 10notification: # Maximum retry count for webhook job webhook_job_max_retry: 10chart: # Change the value of absolute_url to enabled can enable absolute url in chart absolute_url: disabled# Log configurationslog: # options are debug, info, warning, error, fatal level: info # configs for logs in local storage local: # Log files are rotated log_rotate_count times before being removed. If count is 0, old versions are removed rather than rotated. rotate_count: 50 # Log files are rotated only if they grow bigger than log_rotate_size bytes. If size is followed by k, the size is assumed to be in kilobytes. # If the M is used, the size is in megabytes, and if G is used, the size is in gigabytes. So size 100, size 100k, size 100M and size 100G # are all valid. rotate_size: 200M # The directory on your host that store log location: /var/log/harbor # Uncomment following lines to enable external syslog endpoint. # external_endpoint: # # protocol used to transmit log to external endpoint, options is tcp or udp # protocol: tcp # # The host of external endpoint # host: localhost # # Port of external endpoint # port: 5140#This attribute is for migrator to detect the version of the .cfg file, DO NOT MODIFY!_version: 2.0.0# Uncomment external_database if using external database.# external_database:# harbor:# host: harbor_db_host# port: harbor_db_port# db_name: harbor_db_name# username: harbor_db_username# password: harbor_db_password# ssl_mode: disable# max_idle_conns: 2# max_open_conns: 0# clair:# host: clair_db_host# port: clair_db_port# db_name: clair_db_name# username: clair_db_username# password: clair_db_password# ssl_mode: disable# notary_signer:# host: notary_signer_db_host# port: notary_signer_db_port# db_name: notary_signer_db_name# username: notary_signer_db_username# password: notary_signer_db_password# ssl_mode: disable# notary_server:# host: notary_server_db_host# port: notary_server_db_port# db_name: notary_server_db_name# username: notary_server_db_username# password: notary_server_db_password# ssl_mode: disable# Uncomment external_redis if using external Redis server# external_redis:# host: redis# port: 6379# password:# # db_index 0 is for core, it's unchangeable# registry_db_index: 1# jobservice_db_index: 2# chartmuseum_db_index: 3# clair_db_index: 4# trivy_db_index: 5# idle_timeout_seconds: 30# Uncomment uaa for trusting the certificate of uaa instance that is hosted via self-signed cert.# uaa:# ca_file: /path/to/ca# Global proxy# Config http proxy for components, e.g. http://my.proxy.com:3128# Components doesn't need to connect to each others via http proxy.# Remove component from `components` array if want disable proxy# for it. If you want use proxy for replication, MUST enable proxy# for core and jobservice, and set `http_proxy` and `https_proxy`.# Add domain to the `no_proxy` field, when you want disable proxy# for some special registry.proxy: http_proxy: https_proxy: no_proxy: components: - core - jobservice - clair - trivy
核心配置是
hostname: registry.test.com
harbor_admin_password: xxxxxxxx
下面是添加oss作为仓库的存储后端:
storage_service:# ca_bundle:oss:accesskeyid: xxxxxxaccesskeysecret: xxxxxxxregion: oss-cn-xxxxx-internal.aliyuncs.comendpoint: harbor-aliyun.oss-cn-xxxxx-internal.aliyuncs.com# internal: truebucket: harbor-aliyun
以上配置的值可以在阿里云OSS控制台上查找获取。
5.生产docker-compose文件,并启用镜像漏洞扫描trivy以及helm的chart仓库支持
./prepare --with-clair --with-trivy --with-chartmuseum
6. 启动harbor
docker-compose up -d
harbor安装_Harbor简单安装部署,镜像仓库存储使用阿里云OSS相关推荐
- Typora简单传图(Typora+PicGo-Core+SMMS/阿里云OSS 实现图床)
这绝对是一件令人开心的事,以至于迫不及待要记录一下.Typora终于可以愉快的上传图片了,自动图床,设置超级简单,以后写带图片的博客,Typora产出的markdown文件就可以直接导入网页啦! 升级 ...
- Docker镜像仓库(包括阿里云,harbor,和本地镜像的导出和导入)
Docker镜像仓库 什么是镜像仓库 存放着很多镜像的仓库 为什么要使用镜像仓库 1. 起到备份的作用 2. 方便其他机器下载使用 镜像仓库的种类 公共镜像仓库 官方: http://hub.dock ...
- 容器化技术与微服务结合---结合springcloud微服务框架进行部署(含切换成阿里云docker仓库)(五)
目录 系列 更换成阿里云仓库 开通阿里云镜像服务 创建仓库 本地k8s切换成阿里云的镜像仓库 测试阿里云镜像 准备简单的微服务 eureka 应用配置 k8s配置: demo-a 应用配置 k8s配置 ...
- 阿里云OSS域名配置及简单上传
目前开发系统,附件文件一般都会使用第三方的存储空间来保存,一方面是为了开发者提供便利,另一方可以减轻系统的访问压力,下面介绍一下阿里云的OSS的一些简单配置和使用. 一.阿里云OSS配置 前提:你需要 ...
- dockerfile构建一个(python+flask+html)镜像 + 上传到阿里云私有仓库 + 部署到k8s---全过程
前言 因为之前根据一些网上的教程一个个部分实践过整个部署流程,但都是根据现有的程序/ymal文件等进行创建部署,未能根据自己特定的项目进行部署.因此,这篇博文,打算完整部署一个自己编写的python+ ...
- docker脚本安装 阿里云_让运行在 Docker 中的 Ghost 支持阿里云 OSS
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载.或重新修改使用,但需要注明来源. 署名 4.0 国际 (CC BY 4.0) 本文作者: 苏洋 创建时间: 2020年03月1 ...
- 安装es怎么在后台运行_ES备份索引数据到阿里云OSS
ES的快照备份当前是存放在NAS下,考虑成本问题现在打算把快照备份到阿里云OSS下. https://github.com/aliyun/elasticsearch-repository-oss,此插 ...
- 将本地docker镜像推送到阿里云仓库
1. 进入到个人的阿里云容器镜像服务阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台,创建命名空间 2. 创建仓库 选择本地仓库 创建成功后会生成一个操作指南 3. 将本地镜像推送到阿里云仓 ...
- linux下通过yum安装svn及实现SVN与WEB同步解决方案[阿里云]
linux安装svn及实现SVN与WEB同步解决方案[阿里云] 1.环境 Linux AY1305140905015863a2Z 2.6.32-279.el6.x86_64 #1 SMP Fri Ju ...
最新文章
- Cortex-M0微处理器异常入口流程的细节
- 罗斯霍曼理工学院计算机毕业生,全美最强STEM大学,了解一下?
- 【USACO 2.1】The Castle
- Spring3 MVC+Spring+Spring Jdbc实现的权限管理系统,可以控制到增删改查
- sql 占比计算_数据库索引的优化及SQL处理过程(建议收藏)
- oracle数据库监听问题,分享一个有意思的Oracle19c数据库监听异常
- 服务器维修解锁,云服务器解锁
- arcgis engine设置数据源路径_不用ArcGIS做前期分析,你是不是想被辞!
- python找出数组中第2大的数字
- maplesoft maple 2020
- 如何Python写一个安卓APP
- Java开源框架集(全)
- python实现ftp_python实现ftp(客户端)
- 有向加权图 最大弱连通分支_指数基金介绍专栏:指数基金的加权方式,你都知道哪些?...
- 2019314输入一个日期,输出星期几
- 【历史上的今天】7 月 12 日:世界上第一台商用数字计算机;Python 之父卸任 BDFL;Wacom 成立
- 在通用计算机内 PC是指,计算机模拟考试题答案
- Integer对象的大小比较
- NBA常规赛总三分排行榜(数据截止至11年4月14日)
- 五节课从零起步(无需数学和Python基础)编码实现AI人工智能框架电子书V1
热门文章
- Kotlin学习笔记 第四章Kotlin调用Java
- 机器学习的MLE和MAP:最大似然估计和最大后验估计
- 【图像处理基础知识(python+openCV)】——目标检测
- 如何使用IntelliJ IDEA搭建spark开发环境(上)
- 设计模式--缺省适配模式
- Node.js抓取网页信息并展示(cheerio网络爬虫)
- ListView练习_购物商城
- 无损链接分解_一点都不能少!伯克利研究人员提出深度学习锻造无损数据压缩新方法...
- centos7全盘备份到本地_CentOS7 系统盘迁移案例【大硬盘迁移到小硬盘,新思路】...
- 机器人与目标匹配问题及解决 虚拟动力学 纳什平衡 Q-Learning