Kubernetes 中如何进行 Secret 的管理

阅读时长 4 分钟读完

在 Kubernetes 中,Secret 是一种用于存储敏感数据的对象,如密码、API 密钥等。Secret 对象可以被挂载到容器中,以便容器可以访问这些敏感数据。本文将介绍 Kubernetes 中如何进行 Secret 的管理。

Secret 的类型

Kubernetes 中有两种类型的 Secret:

  1. Opaque:用于存储任意类型的数据,如密码、证书等。
  2. TLS:用于存储 TLS 证书和私钥。

创建 Secret

可以使用 kubectl 命令行工具或 YAML 文件创建 Secret。

使用 kubectl

使用 kubectl 命令行工具创建 Opaque 类型的 Secret:

使用 kubectl 命令行工具创建 TLS 类型的 Secret:

使用 YAML 文件

创建 Opaque 类型的 Secret 的 YAML 文件示例:

其中,username 和 password 都是经过 base64 编码的字符串。

创建 TLS 类型的 Secret 的 YAML 文件示例:

访问 Secret

可以将 Secret 挂载到 Pod 中的容器中,以便容器可以访问这些敏感数据。

挂载 Secret

在 Pod 中的容器中挂载 Secret 的 YAML 文件示例:

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

在上述 YAML 文件中,我们定义了一个名为 my-secret 的 Volume,并将其挂载到了容器的 /etc/my-secret 目录下。注意,这个 Volume 是通过 secret 类型指定的。

使用 Secret

在容器中使用 Secret 的示例代码:

在上述代码中,我们通过读取 /etc/my-secret 目录下的文件来获取敏感数据。

总结

在 Kubernetes 中,Secret 是一种用于存储敏感数据的对象,可以被挂载到容器中,以便容器可以访问这些敏感数据。本文介绍了如何创建 Secret、如何将 Secret 挂载到容器中,并提供了使用 Secret 的示例代码。希望本文对您了解 Kubernetes 中的 Secret 有所帮助。

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

纠错
反馈