当前位置: 首页 > article >正文

在K8S中挂载 Secret 到 Pod

在 Kubernetes 里,把 Secret 挂载到 Pod 中有两种主要方式:作为卷挂载和作为环境变量挂载。下面为你提供相应的代码示例。

作为卷挂载 Secret

将 Secret 作为卷挂载到 Pod 时,Secret 的每个键会成为挂载目录下的一个文件,文件内容就是键对应的值。

以下是一个示例 YAML 文件,展示了如何把 Secret 作为卷挂载到 Pod 中:

apiVersion: v1
kind: Pod
metadata:
  name: secret-volume-pod
spec:
  containers:
    - name: my-container
      image: nginx
      volumeMounts:
        - name: secret-volume
          mountPath: "/etc/secret"
          readOnly: true
  volumes:
    - name: secret-volume
      secret:
        secretName: my-secret    
代码解释
  • volumeMounts:定义了容器内的挂载点,这里是 /etc/secret 目录,并且设置为只读。
  • volumes:定义了要挂载的卷,secretName 指定了要使用的 Secret 的名称。

作为环境变量挂载 Secret

把 Secret 作为环境变量挂载到 Pod 时,Secret 的键值对会成为容器的环境变量。

以下是一个示例 YAML 文件,展示了如何将 Secret 作为环境变量挂载到 Pod 中:

apiVersion: v1
kind: Pod
metadata:
  name: secret-env-pod
spec:
  containers:
    - name: my-container
      image: nginx
      env:
        - name: SECRET_USERNAME
          valueFrom:
            secretKeyRef:
              name: my-secret
              key: username
        - name: SECRET_PASSWORD
          valueFrom:
            secretKeyRef:
              name: my-secret
              key: password    
代码解释
  • env:定义了容器的环境变量。
  • valueFrom:指定了环境变量的值来源,secretKeyRef 用于引用 Secret 中的键值对。

前提条件

在使用上述配置之前,你需要确保 my-secret 这个 Secret 已经存在于相应的命名空间中。可以使用以下命令创建一个简单的 Secret:

kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=password123

创建好 Secret 后,使用 kubectl apply -f <filename>.yaml 命令来创建 Pod。


http://www.kler.cn/a/594678.html

相关文章:

  • Android14 Log.isLoggable判断的分析
  • 《线程池最终版:使用可变参模板和future优化重构设计》
  • 【Azure 架构师学习笔记】- Azure Networking(1) -- Service Endpoint 和 Private Endpoint
  • JVM逃逸分析作用和原理
  • 大语言模型的训练数据清洗策略
  • Spring MVC 接口数据
  • 绿盟科技春招面试
  • 解决 FFmpeg 处理 H.264 视频时因分辨率对齐导致的崩溃问题
  • 20250320在荣品的PRO-RK3566开发板的buildroot系统下使用J27口的OTG0口接鼠标
  • AI+视频赋能智慧农业:EasyCVR打造全域可视化农场监管平台
  • Xcode16.1使用MonkeyDev运行Tiktok报错分析
  • Git(12)GitLab持续集成(CICD)
  • 在Qt中保存QComboBox变化前的值
  • 持续集成(CI)/持续部署(CD)
  • 【Unity Bug 随记】使用Rider debug功能时Unity Reload Domain卡死问题
  • sql-DDL
  • UDP协议原理
  • 【css酷炫效果】css酷炫效果100篇合集
  • MATLAB 调用arduino uno
  • 掌握些许 IPv6 要点,windows 远程桌面安全便利两相宜!