• 修改安装配置文件
  • 访问 Harbor
    • Docker 登录 Harbor
    • 使用 Harbor 镜像仓库
    • 浏览器访问 Harbor
  • KubeSphere 中使用 Harbor
    • KubeSphere 添加 Harbor
      • 第一步:填写基本信息
      • 第二步:填写 Harbor 仓库信息
    • 使用 Harbor 中的镜像
  • 如何单独安装 Harbor

    KubeSphere Installer 集成了 Harbor 版本为 1.7.5,内置的 Harbor 作为可选安装项,用户可以根据团队项目的需求来配置安装,方便用户对项目的镜像管理,仅需 安装前 在配置文件 conf/vars.yml 中简单配置即可。参考以下步骤安装和访问 Harbor。

    注意:

    • 若安装前未选择安装 Harbor,可参考本文末在安装后单独安装 Harbor 组件。
    • Harbor 安装需要额外挂载 5 块硬盘,若 KubeSphere 部署在云平台则需要考虑硬盘数量是否满足配额要求,若硬盘数量或容量配额不够则需要提工单申请提高配额。

    修改安装配置文件

    1、安装 KubeSphere 前,在 Installer 中的 conf/vars.yml 文件中,参考如下配置修改。

    1. # harbor deployment
    2. harbor_enable: true
    3. harbor_domain: harbor.devops.kubesphere.local

    2、修改后保存,然后执行安装脚本,即可通过 Helm Chart 的方式来安装 Harbor。

    访问 Harbor

    Docker 登录 Harbor

    登录 Harbor 镜像仓库。

    1. $ docker login -u admin -p Harbor12345 http://harbor.devops.kubesphere.local:30280
    2. WARNING! Using --password via the CLI is insecure. Use --password-stdin.
    3. WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
    4. Configure a credential helper to remove this warning. See
    5. https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    6. Login Succeeded

    使用 Harbor 镜像仓库

    关于如何制作镜像、打包上传镜像以及 Dockerfile 的使用详情,请参考 Docker 官方文档。

    KubeSphere 安装成功后,本地已经有了 nginx:1.14-alpine 镜像,因此演示如何在本地给示例镜像 nginx 打 tag 后推送到 Harbor 镜像仓库的 library 项目中:

    1、给本地 nginx 镜像打上 1.14-alpine 的 tag。

    1. docker tag nginx:1.14-alpine harbor.devops.kubesphere.local:30280/library/nginx:1.14-alpine

    2、推送至 Harbor 镜像仓库的 library 项目中。

    1. docker push harbor.devops.kubesphere.local:30280/library/nginx:1.14-alpine

    镜像推送成功即可通过浏览器登录 Harbor,验证推送的结果。

    浏览器访问 Harbor

    KubeSphere 安装成功后,即可在浏览器访问 Harbor 镜像仓库。Harbor 服务对外暴露的节点端口 (NodePort) 为 30280,内置的 Harbor 镜像仓库目前仅支持 http 协议,在浏览器中可以通过 {$IP}:{$NodePort}http://139.198.16.160:30280 访问 Harbor 登录页面。

    注意:若需要在外网访问,可能需要绑定公网 EIP 并配置端口转发和防火墙规则,端口转发需要将内网端口 30280 转发到源端口 30280,然后在防火墙开放这个源端口,保证外网流量可以通过该端口,然后才可以通过 http://{$公网 IP}:{$NodePort} 访问。例如在 QingCloud 云平台进行上述操作,则可以参考 云平台配置端口转发和防火墙。 提示:在浏览器中还可通过域名访问 Harbor,在本地 /etc/hosts 添加一行记录 139.198.16.160 harbor.devops.kubesphere.local,即可通过 http://harbor.devops.kubesphere.local:30280 访问。

    1、输入默认的管理员用户名和密码 admin / Harbor12345 登录 Harbor。

    提示:其它用户登录的账号密码与 KubeSphere 的 LDAP 用户账户体系一致。

    Harbor 登录

    2、登录成功后,点击进入 library 项目。

    安装内置 Harbor - 图2

    3、可以看到 library 项目下已有了 nginx 镜像。

    安装内置 Harbor - 图3

    KubeSphere 中使用 Harbor

    KubeSphere 添加 Harbor

    提示:以下需要在企业空间下的项目中添加镜像仓库,若还未创建企业空间和项目,请参考 多租户管理快速入门。

    登录控制台,在已创建的企业空间的项目下,左侧菜单栏选择 配置中心 → 密钥,点击 创建

    第一步:填写基本信息

    填写密钥的基本信息,完成后点击 下一步

    • 名称:起一个简洁明了的名称,填写 harbor
    • 别名:支持中文,帮助您更好的区分资源,比如 内置 Harbor 镜像仓库
    • 描述信息:简单介绍该密钥的功能

    基本信息

    第二步:填写 Harbor 仓库信息

    2.1. 参考如下提示填写 Harbor 仓库的登录信息。

    • 仓库地址:填写内置的 Harbor 镜像仓库域名和节点端口 http://harbor.devops.kubesphere.local:30280
    • 用户名:admin
    • 密码:Harbor12345
    • 邮箱:填写个人邮箱

    安装内置 Harbor - 图5

    2.2. 如果 Harbor 安装配置都正确,并且验证信息都填写无误,即可添加成功。Harbor 镜像仓库添加完成后,可以上传镜像和拉取镜像。

    安装内置 Harbor - 图6

    使用 Harbor 中的镜像

    若需要在 KubeSphere 中使用 Harbor 镜像仓库中的镜像,需要先将相关的镜像构建后上传至 Harbor。

    以创建 Deployment (部署) 为例展示如何使用镜像仓库来拉取仓库中的镜像。比如上述步骤已经将镜像 nginx:1.14-alpine 推送到了 library 项目,因此以下将演示如何创建工作负载并使用 Harbor 中的示例镜像 nginx:1.14-alpine

    1、上述步骤中已将镜像仓库添加到了项目中,因此进入当前项目,选择「工作负载」→「部署」,点击「创建」。

    2、 在弹窗中填写基本信息然后点击「下一步」,在容器组模板中需要先选择镜像仓库,镜像为 harbor.devops.kubesphere.local:30280/library/nginx:1.14-alpine,对应的格式为 镜像仓库地址/项目名称/镜像名称:tag,填写后点击「保存」,然后一直点击下一步直至创建,待创建成功后即可使用该镜像。

    提示:关于如何创建工作负载的详细步骤说明,请参考快速入门系列文档。

    安装内置 Harbor - 图7

    提示:关于 Harbor 的使用详见 Harbor 官方文档。

    如何单独安装 Harbor

    若安装前并未开启安装 Harbor,但在安装完成后想再单独安装 Harbor,应该如何安装?

    1、获取 yml 安装文件。

    1. $ wget https://raw.githubusercontent.com/kubesphere/tutorial/master/tutorial%203%20-%20install-gitlab-harbor/install-gitlab-harbor.yml

    2、将 install-gitlab-harbor.yml 文件放到安装包解压之后的 kubesphere 目录下;

    3、获取安装脚本。

    1. $ wget https://raw.githubusercontent.com/kubesphere/tutorial/master/tutorial%203%20-%20install-gitlab-harbor/gitlab-harbor.sh

    4、将 gitlab-harbor.sh 文件放到安装包解压之后的 scripts 目录下;

    5、在 scripts 目录下给执行脚本添加权限,同时执行安装脚本,输入 1 选择 Harbor 开始安装。

    1. $ chmod +x gitlab-harbor.sh && ./gitlab-harbor.sh
    2. ################################################
    3. gitlab-harbor Installer Menu
    4. ################################################
    5. * 1) Harbor
    6. * 2) Gitlab
    7. * 3) Harbor-Gitlab
    8. ################################################
    9. https://kubesphere.io/ 2019-09-27
    10. ################################################
    11. Please input an option: 1

    安装完成后,Harbor 的访问与使用可参考上述文档。