HCIA20 Docker镜像仓库Harbor

本实验手册指导学生在华为云容器引擎 CCE(Kubernetes 集群)中搭建 Harbor 私有镜像仓库,以便掌握 Harbor 在 Kubernetes 集群中的部署和使用方法,以及 Docker 镜像的推送和管理。学生将学习如何安装 Helm、部署 Harbor,并最终将本地镜像推送到 Harbor 仓库中。
实验目的
通过在华为云容器引擎 CCE(Kubernetes 集群)中搭建 Harbor 私有镜像仓库,掌握 Harbor 在 Kubernetes 集群中的部署和使用方法,以及 Docker 镜像的推送和管理。
目标:
- 掌握 Harbor 在 Kubernetes 集群中的部署和使用方法
- 掌握 Docker 镜像的推送和管理
相关内容:
- 实验手册-15-Docker镜像仓库实践
- 实验手册-16-云容器引擎
- 实验手册-19-Docker镜像仓库 Harbor
准备工作
准备一:停止 Harbor
执行以下命令,停止上节课通过 Docker Compose 搭建的 Harbor
cd /root/harbor-docker/harbor
docker compose down
准备二:创建目录
执行以下命令,创建本节课使用的目录,并进入:
mkdir /root/harbor-k8s
cd /root/harbor-k8s

准备三:创建命名空间
创建一个名为 harbor
的命名空间
kubectl create namespace harbor
实验任务
任务一:安装 Helm
步骤1 将 helm-v3.13.1-linux-amd64.tar.gz
文件上传到服务器中
步骤2 解压文件
tar xvf helm-v3.13.1-linux-amd64.tar.gz
解压后会出现一个名为 linux-amd64
的文件夹

步骤3 安装
cp linux-amd64/helm /usr/bin/helm
步骤4 验证
helm version
出现以下结果代表安装成功:

任务二:部署 Harbor
步骤1 进入目标目录
cd /root/harbor-k8s
步骤2 添加 Harbor 的 Helm Repo
这步操作类似 yum 中修改 /etc/yum.repos.d/xxx.repo 文件
helm repo add harbor https://helm.goharbor.io

可以通过以下命令查看是否添加成功:
helm repo list
出现下图的红框部分代表成功

步骤3 下载 Harbor Chart
helm pull harbor/harbor
下载完成后,会在本地多出一个文件:

步骤4 将下载的压缩包解压
tar xvf harbor-1.13.0.tgz
步骤5 修改配置文件
vim harbor/values.yaml
将104行的注意使用自己的 IP(端口号统一用30002)
将第177行的 enabled: true
修改为 enabled: false
该修改关闭持久化存储,关闭后不再需要提前提供持久卷
将341行中的引号删除
该修改是由于程序 Bug 可能后续更新版本的 Helm 和 Harbor 无需该项修改
步骤6 部署 Harbor
小组内挑一个节点执行!
helm install -n harbor harbor-k8s harbor/
命令注解:
install
安装harbor-k8s
实例名harbor/
存放 Chart 的位置(包名)
安装成功后,会有如下界面,反馈给我们一些 harbor-k8s 的基本信息:

步骤8 验证
kubectl get pods -n harbor
如上图所示,所有 Pods 的状态变为 Running 后,打开浏览器,输入网址:
http://10.0.0.21:30002
注意把 IP 换成你自己的机器(集群内任一节点的 IP 均可)
能看到如下界面代表安装成功:

作业
将本地任一镜像推送到 Harbor 中
该次作业同上节课是一样的,不同的地方在于:本次部署的 Harbor 端口号为 30002
作业指南
注意把 IP 修改为你集群内的 IP (集群内任一节点即可)
docker tag busybox:latest 10.0.0.21:30002/library/xh35:latest
docker push 10.0.0.21:30002/library/xh35:latest
浏览器中打开 Harbor,在学习通中提交如下截图: