k8s 安装 docker镜像仓库

在 Kubernetes (k8s) 集群中,我们通常需要一个可靠的 Docker 镜像仓库来存储和管理镜像。本文将介绍如何在 k8s 集群中安装和配置 Docker 镜像仓库。

准备工作

在开始之前,需要确保以下几个条件已满足:

  1. 已经安装并配置好 k8s 集群。
  2. 已经安装好 Docker,并配置好 Docker 镜像加速器(可选)。

安装 Docker 镜像仓库

首先,我们需要选择一个适合的 Docker 镜像仓库。在本文中,我们将使用 [Harbor](

  1. 下载 Harbor 的安装包:
$ wget 
  1. 解压安装包并切换到解压后的目录:
$ tar xvf harbor-offline-installer-v2.1.2.tgz
$ cd harbor
  1. 编辑 harbor.yml 文件,配置 Harbor 的相关信息。这里我们需要设置 hostnamehttphttps 等参数。示例配置如下:
$ vim harbor.yml
hostname: your-harbor-hostname # 设置你的 Harbor 主机名
http:
  port: 80
https:
  port: 443
harbor_admin_password: your-harbor-admin-password # 设置你的 Harbor 管理员密码
  1. 执行安装脚本,并等待安装完成:
$ ./install.sh

配置 k8s 使用 Harbor

安装完成 Harbor 后,我们需要将 k8s 集群配置为使用 Harbor 作为默认的 Docker 镜像仓库。

  1. 创建一个新的 Secret 对象,用于存储 Harbor 的登录凭证:
$ kubectl create secret docker-registry harbor-credentials --docker-server=your-harbor-hostname --docker-username=admin --docker-password=your-harbor-admin-password --docker-email=admin@example.com
  1. 创建一个新的 ImagePullSecrets 对象,用于让 k8s 节点能够使用 Harbor 的镜像仓库:
$ kubectl create secret generic harbor-pull-secret --from-file=.dockerconfigjson=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson
  1. 在 Deployment 或 Pod 的配置文件中,将 imagePullSecrets 字段设置为刚创建的 ImagePullSecrets 对象的名称。示例:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app
          image: your-harbor-hostname/library/my-app:latest # 设置使用 Harbor 的镜像,格式为 your-harbor-hostname/namespace/image:tag
      imagePullSecrets:
        - name: harbor-pull-secret # 设置使用的 ImagePullSecrets 对象的名称

流程图

下面是安装和配置 Docker 镜像仓库的流程图:

graph LR
A[下载 Harbor 安装包] --> B[解压 Harbor 安装包]
B --> C[编辑 harbor.yml]
C --> D[执行安装脚本]
D --> E[创建 Harbor 登录凭证的 Secret]
D --> F[创建 k8s 使用 Harbor 的 ImagePullSecrets]

总结

通过本文,我们学习了如何在 k8s 集群中安装和配置 Docker 镜像仓库。首先,我们选择并下载了 Harbor 的安装包,并解压和编辑配置文件。然后,我们通过安装脚本安装了 Harbor,并创建了 k8s 使用 Harbor 的登录凭证和 ImagePullSecrets。最后,我们通过流程图总结了整个安装和配置过程。

希望本文能帮助你快速掌握在 k8s 集群中安装 Docker 镜像仓库的方法。如果你有任何问题或困惑,请随