如何在 Kubernetes 集群上部署私有 registry

阅读时长 5 分钟读完

介绍

在开发和部署应用程序时,我们通常需要使用 Docker 镜像。如果我们希望在 Kubernetes 集群上部署私有 Docker 镜像,则需要创建一个私有 registry。本文将介绍如何在 Kubernetes 集群上部署私有 registry。

准备工作

为了部署私有 registry,我们需要具备以下条件:

  • 已经创建了 Kubernetes 集群
  • 已经安装了 Kubernetes kubectl 和 Docker

步骤

配置 TLS 证书

为了保护私有 registry,我们需要配置 TLS 证书。

  1. 生成自签名证书和密钥

您可以选择使用任何其他证书颁发机构颁发的证书。

  1. 在 Kubernetes 集群中创建 TLS Secret

编写配置文件

创建名为 registry-deployment.yaml 的 YAML 文件,并将以下内容添加到文件中:

-- -------------------- ---- -------
----------- -------
----- ----------
---------
  ----- --------
  ---------- -----------
-----
  --------- -
  ---------
    ------------
      ---- --------
  ---------
    ---------
      -------
        ---- --------
    -----
      -----------
      - ----- --------
        ------ ----------
        ------
        - ----- --------
          -------------- ----
        -------------
        - ----- -------------
          ---------- -----------------
        ----
        - ----- -----------------------------
          ------ --------------
        - ----- ---------------------
          ------ --------------
        - ----- ---------------------------
          ------ --------------
        - ----- ----------------------------
          ------ --------- ------
      --------
      - ----- -------------
        --------- --
      - ----- ------------
        -------
          ----------- ------------
      - ----- ----
        ----------
          ----- ----

部署 registry

运行以下命令以部署私有 registry:

添加认证

您可以添加认证来保护私有 Docker 镜像。为此,您需要创建一个 HTPasswd 文件。

  1. 安装 htpasswd 工具
  1. 创建 HTPasswd 文件
  1. 创建 ConfigMap

创建名为 auth-configmap.yaml 的 YAML 文件,并将以下内容添加到文件中:

<encrypted_password> 中使用 htpasswd 命令中生成的加密密码替换。

运行以下命令以创建 ConfigMap:

测试 registry

  1. 获取 registry 地址
  1. 将 registry 添加到 Docker 配置文件中

将以下内容添加到 /etc/docker/daemon.json 文件中:

  1. 重新启动 Docker 服务
  1. 创建一个 Docker 镜像,并将其推送到私有 registry

结论

在 Kubernetes 集群上部署私有 registry 是一项非常有用的技能,它使您能够更好地管理私有 Docker 镜像并确保它们是安全的。在本文中,我们介绍了如何在 Kubernetes 集群上部署私有 registry,以及如何为 registry 添加认证来保护您的 Docker 镜像。希望这个指南对你有帮助!

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

纠错
反馈