在 KubeSphere 中部署 Harbor
Harbor 是一个开源仓库,通过各种策略和基于角色的访问控制来保护制品,确保镜像经过扫描且没有漏洞,并对镜像签名使其受信。
本教程演示如何从 KubeSphere 应用商店部署 Harbor。
准备工作
- 请确保已启用 OpenPitrix 系统。
- 您需要创建一个企业空间、一个项目和一个用户帐户 (
project-regular
) 供本教程操作使用。该帐户需要是平台普通用户,并邀请至项目中赋予operator
角色作为项目操作员。本教程中,请以project-regular
身份登录控制台,在企业空间demo-workspace
中的demo-project
项目中进行操作。有关更多信息,请参见创建企业空间、项目、帐户和角色。
动手实验
步骤 1:从应用商店中部署 Harbor
在
demo-project
项目的概览页面,点击左上角的应用商店。找到 Harbor,点击应用信息页面上的部署。
设置名称并选择应用版本。请确保将 Harbor 部署在
demo-project
中,点击下一步。在应用配置页面,编辑 Harbor 的配置文件,请注意以下字段。
type
:访问 Harbor 服务的方式。本示例使用nodePort
。tls
:指定是否启用 HTTPS。多数情况下设置为false
。externalURL
:暴露给租户的 URL。备注
- 请指定
externalURL
,如果您访问 Harbor 有问题,该字段会对解决问题非常有用。 - 请确保在本教程中使用 HTTP 协议和其对应的
nodePort
。有关更多信息,请参见常见问题中的示例配置。
配置编辑完成后,点击部署继续。
- 请指定
稍等片刻待 Harbor 启动并运行。
步骤 2:访问 Harbor
基于配置文件中
expose.type
字段的设置,访问方式可能会不同。本示例使用nodePort
访问 Harbor,按照先前步骤中的设置,访问http://nodeIP:30002
。备注
取决于您的 Kubernetes 集群的部署位置,您可能需要在安全组中放行端口并配置相关的端口转发规则。
使用默认帐户和密码 (
admin/Harbor12345
) 登录 Harbor。密码由配置文件中的harborAdminPassword
字段定义。
常见问题
如何启用 HTTP 登录?
在步骤 1 中将
tls.enabled
设置为false
。externalURL
的协议必须和expose.type.ports
相同。如果您使用 Docker 登录,请在
daemon.json
中将externalURL
设置为insecure-registries
其中之一,然后重新加载 Docker。下面是示例配置文件,供您参考。请注意阅读注解。
## 请注意,192.168.0.9 是示例 IP 地址,您必须使用自己的地址。 expose:type: nodePorttls:enabled: falsesecretName: ""notarySecretName: ""commonName: "192.168.0.9" # 将 commonName 更改成您自己的值。nodePort:# NodePort 服务的名称。name: harborports:http:# 使用 HTTP 服务时,Harbor 监听的服务端口。port: 80# 使用 HTTP 服务时,Harbor 监听的节点端口。nodePort: 30002https:# 使用 HTTPS 服务时,Harbor 监听的服务端口。port: 443# 使用 HTTPS 服务时,Harbor 监听的服务端口。nodePort: 30003# 仅在 notary.enabled 设置为 true 时需要此配置。notary:# Notary 监听的服务端口。port: 4443# Notary 监听的节点端口。nodePort: 30004externalURL: http://192.168.0.9:30002 # 使用您自己的 IP 地址。# Harbor admin 的初始密码。启动 Harbor 后可以通过主页修改。 harborAdminPassword: "Harbor12345" # 用于加密的密钥,必须是包含 16 个字符的字符串。 secretKey: "not-a-secure-key"
如何启用 HTTPS 登录?
a. 使用自签名证书。
- 在步骤 1 中将配置文件中的
tls.enabled
设置为true
,并对应编辑externalURL
。 - 将 Pod
harbor-core
的/etc/core/ca
中存储的自签名证书复制到您的主机。 - 先在您的主机中信任该自签名证书,然后重启 Docker。
b. 使用公共 SSL。
- 将证书添加为密钥 (Secret)。
- 在步骤 1 中将配置文件中的
tls.enabled
设置为true
,并对应编辑externalURL
。 - 编辑
tls.secretName
。
- 在步骤 1 中将配置文件中的
有关更多信息,请参见 Harbor 文档。
原文链接:https://kubesphere.com.cn/docs/application-store/built-in-apps/harbor-app/
在 KubeSphere 中部署 Harbor相关推荐
- KubeSphere中部署Minio服务
假设我们已经创建好了KubeSphere服务,并且已经获取了账号和密码,具有操作某一个企业空间下面某一个子项目的权限,当前我们准备在KubeSphere中部署的服务是Minio.首先使用个人的账号和密 ...
- 在KubeSphere中部署微服务(阡陌)+ DevOps
一.微服务的一般部署顺序 第一步:部署中间件,如 mysql.redis.es.mq 第二步:部署注册中心,如 nacos 第三步:部署除了 getway 以外的后端服务 第四步:部署 getway ...
- 想在 KubeSphere 中进行自定义监控?来瞧瞧这
11月初,KubeSphere 发布了 3.2.0 版本,新版本为项目网关增配了整套监控及管理页面,同时引入了集群网关来提供集群层面全局的 Ingress 网关能力. 为了让用户更了解如何在新版 Ku ...
- Python中fastapi构建的web项目使用.gitlab-ci.yml文件在KubeSphere中进行自动部署
首先需要保证的是我们所创建的Python项目通过Dockerfile文件构建成docker镜像以后,创建并启动容器时项目可以正常跑起来,假设当前这些前置步骤已经完成.由于需要使用.gitlab-ci. ...
- 在 Kubernetes 中部署高可用 Harbor 镜像仓库
该文章随时会有校正更新,公众号无法更新,欢迎订阅博客查看最新内容:https://fuckcloudnative.io 前言 系统环境: kubernetes 版本:1.18.10 Harbor Ch ...
- 关于kubesphere metrics-server部署失败的问题
如果k8s集群中已经部署过metrics-server,那么直接禁掉kubesphere中的即可. metrics_server:enabled: false
- Kubernetes - - k8s - v1.12.3 Helm持久化部署Harbor集成OpenLDAP登录
1,基本概念 前几章部署了harbor和ldap,本节将部署harbor使用openLDAP验证,部署方式与之前相同,只是改了adminserver-cm.yaml的AUTH_MODE: " ...
- 一:部署harbor镜像仓库
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry 也是非常必要的.之前介绍了Docke ...
- 云原生yaml部署harbor
云原生yaml部署harbor 1 .创建自定义证书 安装 Harbor 我们会默认使用 HTTPS 协议,需要 TLS 证书,如果我们没用自己设定自定义证书文件,那么 Harbor 将自动创建证书文 ...
最新文章
- 点击TableView任一行跳转详情页面会跳转两次的解决办法
- Oracle中的系统权限管理
- MVC把表格导出到Excel
- nodeJs的学习之路(1)
- java8新特性(1)--- lambda表达式
- SQL Server数据库迁移最佳实践,可降低风险和停机时间
- 设置返回IOS开发(26)之UITableView的页眉和页脚
- python3.5安装pip_python详细安装pip教程
- SD内存卡禁止写入只读怎么办?另类SPI模式修复坏卡
- 创业十年的感悟,创业者首先要让自己活下去
- 怎么批量提取html文件中的链接,excel怎么批量提取超链接
- 【无标题】微信小程序:强制更新(测试编译)
- Java Word中的文本、图片替换功能
- 中科院计算机信息暑期学校,中国科学院大学首期“电子信息技术”暑期学校正式开幕...
- 帝国cms更新php,帝国CMS自动刷新首页的方法
- oppo手机计算机的隐藏功能介绍,OPPO手机6大隐藏功能,你知道吗
- 使用 Python 读取 json 格式文件并查重
- PCB高速信号布线技巧
- 多模态学习研究进展综述
- 湖仓一体(Lakehouse)是什么?
热门文章
- MySQL 笔记1 -- 安装MySQL及Navicat
- freebsd原理与设计精要(1)-freebsd与unix简介
- 【Python】Python的类和对象(长文系列第⑤篇)
- 【机器学习】详解 BackPropagation 反向传播算法!
- 【机器学习基础】数学推导+纯Python实现机器学习算法26:随机森林
- 【Python入门】Python之shutil模块11个常用函数详解
- 技术实践 | Web 端实现 RTC 视频特效的解决方案
- Flex Basis与Width的区别
- bzoj4563放棋子
- acm之简单博弈 Nim Bash Wythoff