Kubernetes 安装 Harbor 私有镜像仓库完整教程

阅读时长 5 分钟读完

Kubernetes 安装 Harbor 私有镜像仓库完整教程

在使用Kubernetes(以下简称K8s)进行应用部署时,通常需要使用到Docker镜像。而随着应用数量以及规模的增加,我们需要使用一个私有镜像仓库来管理这些镜像。Harbor是一个开源的私有镜像仓库,可以帮助开发者管理自己的Docker镜像。本文将介绍K8s中使用Harbor进行镜像管理的完整教程。

一、Harbor 简介

Harbor是一个开源的Docker镜像仓库,而且具有企业级别的功能。它允许开发者管理自己的Docker镜像,同时还支持角色控制、LDAP、审计日志、镜像复制、高可用等功能。

二、Kubectl 安装

在使用Kubernetes时,需要使用kubectl进行管理,因此在安装Harbor之前,需要先安装kubectl。

1.从kubectl的下载页中下载相应的版本,下面以v1.15.0为例:

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/linux/amd64/kubectl

2.将kubectl二进制文件移动到/usr/local/bin目录下:

sudo mv kubectl /usr/local/bin/

3.配置kubectl的可执行权限:

sudo chmod +x /usr/local/bin/kubectl

4.验证kubectl是否已安装:

kubectl version

执行该命令后,如果出现版本号,则表示kubectl已经安装成功。

三、Docker 安装

在使用Harbor之前,需要先安装Docker。可以按照下面的步骤进行安装:

1.添加Docker的GPG key:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

2.添加Docker的APT仓库:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

3.更新APT仓库缓存:

sudo apt-get update

4.安装Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io

5.验证Docker是否已安装:

sudo docker version

执行该命令后,如果出现版本号,则表示Docker已经安装成功。

四、Harbor 安装

安装Harbor分为以下几个步骤:

1.下载安装包:

curl -O https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.1.tgz

2.解压安装包:

tar xvfz harbor-online-installer-v1.7.1.tgz

3.修改harbor.cfg文件中的配置项,可以根据需要设置。

4.在解压后的目录中执行以下命令进行安装:

sudo ./install.sh --with-notary --with-clair

执行该命令后,Harbor将会在本地启动。可以在浏览器中访问http://localhost:80来访问Harbor的Web界面。

五、使用 Harbor 进行镜像管理

  1. 登录 Harbor

在浏览器中访问http://localhost,输入管理员用户名和密码进行登录。

  1. 创建项目

进入管理界面后,可以创建一个新的项目。在项目界面中,可以上传、删除、浏览镜像,以及管理项目成员和权限等。

  1. 镜像上传

在项目界面中,可以通过以下步骤上传镜像:

①点击左侧菜单上的“Repositories”选项卡。

②如果还没有镜像库,需要新建一个镜像库。在Repositories页面右上角点击“New Project”按钮,填写项目的名称和描述即可。

③在Repositories页面中,点击“Upload”按钮,选择需要上传的Docker镜像。

  1. K8s中使用 Harbor

在K8s中使用Harbor,需要在K8s中配置imagePullSecrets。在下面的示例中,我们将使用name为harborsecret的secret:

  1. 创建secret

kubectl create secret docker-registry harborsecret --docker-server=http://harbor.example.com --docker-username=admin --docker-password=Harbor12345

其中,--docker-server参数指定Harbor地址,--docker-username和--docker-password参数指定Harbor管理员的用户名和密码。

  1. 使用secret

在使用Harbor中的镜像时,需要在Pod的spec中增加imagePullSecrets字段。例如:

apiVersion: v1 kind: Pod metadata: name: nginx spec: containers:

  • name: nginx image: harbor.example.com/library/nginx:latest imagePullSecrets:
  • name: harborsecret

在上述Pod中,imagePullSecrets指定了需要使用的secret。由于该secret中包含了Harbor的用户名和密码,因此Pod能够通过该secret来拉取Harbor中的镜像。

总结

本文介绍了在K8s中使用Harbor进行镜像管理的完整教程。通过使用Harbor,开发者可以更加方便地管理Docker镜像。通过阅读本文,读者也可以了解到K8s中的镜像管理的一些基本知识,有助于提高应用的可扩展性和可维护性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6482e8f648841e9894245e96

纠错
反馈