03.使用 KubeSphere 安装Harbor并为Docker进行相关配置

您所在的位置:网站首页 ansys导入到catia中 03.使用 KubeSphere 安装Harbor并为Docker进行相关配置

03.使用 KubeSphere 安装Harbor并为Docker进行相关配置

2023-12-28 11:46| 来源: 网络整理| 查看: 265

使用 KubeSphere 安装Harbor并为Docker进行相关配置 简介1. KubeSphere安装Harbor1.1 Harbor概述1.1.1 Harbor特性1.1.2 Harbor构成 1.2 Harbor安装1.2.1 启用KubeSphere 应用商店1.2.2 创建企业空间和项目1.2.3 修改Harbor应用设置并安装 2. Docker配置使用Harbor私有仓库2.1 Docker配置2.1.1 添加私有仓库地址 2.2 使用Harbor仓库2.2.1 创建仓库项目

简介

Harbor是构建企业级私有Docker镜像的仓库的开源解决方案,是 Docker Registry的更高级封装,除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,还整合了K8s的插件(Add-ons)仓 库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum 可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】 简单来说,作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率,方便了企业用户对image的管理和服务部署等。 本文章将详细介绍如何使用 KubeSphere 安装Harbor并为Docker进行相关配置。

往期文章参考: 01.使用 KubeKey 在Linux上预配置生产就绪的 Kubernetes 和 KubeSphere 集群 02.Kubernetes 和 KubeSphere 集群安装配置持久化存储(nfs)并通过StatefulSet动态为pod生成pv挂载 版本如下

名称版本CentOS7.6+Kubernetes1.23.8KubeSphere3.3.1Harbor2.5.3主机分配 主机名称IP角色容器运行时容器运行时版本master01192.168.0.3control plane, etcd, workerdocker19.3.8+node01192.168.0.5workerdocker19.3.8+node02192.168.0.7workerdocker19.3.8+node03192.168.0.8workerdocker19.3.8+ 1. KubeSphere安装Harbor 1.1 Harbor概述 1.1.1 Harbor特性

基于角色控制:用户和仓库都是基于项目进行组织的,而用户在项目中可以拥有不同的权限 基于镜像的复制策略:镜像可以在多个 Harbor 实例之间进行复制(同步) 支持 LDAP/AD:Harbor 可以集成企业内部已有的 AD/LDAP(类似数据库的一张表),用于对已经存在的用户认证和管理 审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理 支持 RESTful API:RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易 整合K8s插件仓库:提供存储chart数据的仓库(Helm Charts)

1.1.2 Harbor构成

Proxy: Nginx 前端代理,负责分发前端页面的访问和镜像上传和下载流量 UI:web 管理界面,包括前端页面和后端API,以及存储数据的数据库 Registry:镜像仓库,负责存储镜像文件,当镜像上传完毕后通过 hook 通知 UI 创建 Repository,Registry token 认证也是通过 UI 组件完成 AdminServer:系统的配置管理中心,附带检查存储用量。UI 和 JobService 启动时需要加载 AdminServer 的配置 JobService:与 Registry 通信,负责镜像复制工作,从一个 Registry Pull 镜像,Push 到另一个 Registry,并记录 job_log Log:日志汇总组件,通过 docker 的 log-driver 把日志汇总到一起

1.2 Harbor安装

下面将介绍如何使用 KubeSphere可视化安装 Harbor,也可以使用docker-compose或者helm等其他方式安装。

docker-compose安装Harbor可参考:使用Docker Compose 安装 Harbor

没有安装KubeSphere可在k8s上执行以下命令安装KubeSphere:

# 安装命令: kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/kubesphere-installer.yaml kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/cluster-configuration.yaml # 检查安装日志: kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f # 查看所有 Pod 在 KubeSphere 相关的命名空间是否正常运行: kubectl get svc/ks-console -n kubesphere-system

[官方参考文档]:在 Kubernetes 上安装 KubeSphere。

1.2.1 启用KubeSphere 应用商店 使用 admin 用户登录控制台,点击左上角的平台管理,选择集群管理。点击定制资源定义,在搜索栏中输入 clusterconfiguration,点击结果查看其详细页面。在自定义资源中,点击 ks-installer 右侧的操作图标,选择编辑 YAML。在该 YAML 文件中,搜索 openpitrix,将 enabled 的 false 改为 true。完成后,点击右下角的确定,保存配置。 openpitrix: store: enabled: true # 将“false”更改为“true”。 在 kubectl 中执行以下命令检查安装过程: kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

详细图文参考 [02.Kubernetes 和 KubeSphere 集群安装配置持久化存储(nfs)并通过StatefulSet动态为pod生成pv挂载]中的第三节 KubeSphere存储持久化和其他组件安装

1.2.2 创建企业空间和项目 使用 admin 用户登录控制台,点击左上角的平台管理,选择访问控制。

在这里插入图片描述 在这里插入图片描述

点击企业空间,继续点击左侧 创建按钮,填写自己所需的企业空间信息后,并点击创建按钮。

在这里插入图片描述 在这里插入图片描述

点击列表中刚才创建的企业空间,然后点击 项目 ,继续点击创建按钮,填写要创建的项目信息,并确定。

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

点击列表中刚才创建的 项目。进入后,选择 应用负载 中的 应用 ,点击创建。 选择从应用商店,进入后搜索harbor即可。

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

1.2.3 修改Harbor应用设置并安装 点击 Harbor ,进入后点击安装,选择下一步。

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

如果不想使用ingress网关访问Harbor,则需要进行以下设置,然后点击安装 expose: type: nodePort # 将 type 更改成 nodePort。 tls: enabled: false # 关闭 tls。 certSource: auto auto: commonName: "192.168.0.5" # 将 commonName 更改成您自己的值。 secret: secretName: "" notarySecretName: "" nodePort: # NodePort 服务的名称。 name: harbor ports: http: # 使用 HTTP 服务时,Harbor 监听的服务端口。 port: 80 # 使用 HTTP 服务时,Harbor 监听的节点端口。 nodePort: 30002 https: # 使用 HTTPS 服务时,Harbor 监听的服务端口。 port: 443 # 使用 HTTPS 服务时,Harbor 监听的服务端口。 nodePort: 30003 # 仅在 notary.enabled 设置为 true 时需要此配置。 notary: # Notary 监听的服务端口。 port: 4443 # The node port Notary listens on nodePort: 30004 externalURL: http://192.168.0.5:30002 # 使用您自己的 IP 地址。 # The internal TLS used for harbor components secure communicating. In order to enable https # in each components tls cert files need to provided in advance.

在这里插入图片描述

再次回到刚才新建的企业空间,查看项目下的应用负载,当Harbor的状态为running时就安装成功了。

在这里插入图片描述

2. Docker配置使用Harbor私有仓库 2.1 Docker配置

以下操作需要在集群每个节点执行

2.1.1 添加私有仓库地址 # 修改docker配置文件添加harbor地址 # vim /etc/docker/daemon.json { "insecure-registries": ["192.168.0.5:30002"] } # 集群每台主机需要重新启动docker加载配置 systemctl daemon-reload systemctl restart docker # 集群每台主机登录下仓库 [root@master01 docker]# docker login 192.168.0.5:30002 Authenticating with existing credentials... WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 2.2 使用Harbor仓库

初始账号密码 Account: admin Password: Harbor12345

2.2.1 创建仓库项目

# 给自己要上传的镜像打上仓库项目地址tag,再使用push命令上传 [root@master01 ~]# docker tag basecloud-web 192.168.0.5:30002/test01/basecloud-web:1.0.0 [root@master01 ~]# docker push 192.168.0.5:30002/test01/basecloud-web:1.0.0 The push refers to repository [192.168.0.5:30002/test01/basecloud-web] 6e75cef470bf: Pushed 89961e3ae11e: Pushed 52afd6b950f3: Pushed 9aace8084497: Pushed 101af4ba983b: Pushed d8466e142d87: Pushed 83ba6d8ffb8c: Pushed e161c82b34d2: Pushed 4dc5cd799a08: Pushed 650abce4b096: Pushed 1.0.0: digest: sha256:a33b854837dd1aaac8c2225273cf1fb418372a4e30b9aeb9d57942ee3da6efa2 size: 2406 [root@master01 ~]# 回到项目界面,点击进入,可以看到仓库已有刚才上传的镜像了 [root@master01 ~]# 拉取刚才上传的镜像示例 docker pull 192.168.0.5:30002/test01/basecloud-web:1.0.0

在这里插入图片描述

往期文章参考: 01.使用 KubeKey 在Linux上预配置生产就绪的 Kubernetes 和 KubeSphere 集群 02.Kubernetes 和 KubeSphere 集群安装配置持久化存储(nfs)并通过StatefulSet动态为pod生成pv挂载



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3