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

k8s把某个secret挂在某命名空间下

在Kubernetes中,Secret是命名空间级别的资源,这意味着它默认只能在其被创建的命名空间内被访问和使用。要将一个Secret挂载到特定命名空间下的Pod,请按照以下步骤操作:

 

#### 创建Secret

1. **在目标命名空间中创建Secret**

    - 使用命令行创建:

      ```bash

      kubectl create secret generic my-secret --from-literal=username='admin' --from-literal=password='password123' -n <目标命名空间>

      ```

    - 通过YAML文件创建:

      ```yaml

      apiVersion: v1

      kind: Secret

      metadata:

        name: my-secret

        namespace: <目标命名空间>

      type: Opaque

      data:

        username: YWRtaW4= # "admin"的base64编码

        password: cGFzc3dvcmQxMjM= # "password123"的base64编码

      ```

2. **验证Secret是否创建成功**

    ```bash

    kubectl get secrets my-secret -n <目标命名空间>

    ```

 

#### 在Pod中挂载Secret

1. **编辑Pod的YAML文件**

    ```yaml

    apiVersion: v1

    kind: Pod

    metadata:

      name: my-app-pod

      namespace: <目标命名空间>

    spec:

      containers:

      - name: my-app-container

        image: my-app-image

        volumeMounts:

        - name: secret-volume

          mountPath: /etc/secrets

          readOnly: true

      volumes:

      - name: secret-volume

        secret:

          secretName: my-secret

    ```

2. **应用Pod配置**

    ```bash

    kubectl apply -f my-app-pod.yaml

    ```

 

#### 验证Secret挂载

1. **进入Pod容器**

    ```bash

    kubectl exec -it my-app-pod -n <目标命名空间> -- /bin/bash

    ```

2. **查看Secret文件**

    ```bash

    cat /etc/secrets/username

    cat /etc/secrets/password

    ```

 

#### 注意事项

- **命名空间隔离**:Secret仅在创建的命名空间内有效,如果Pod和Secret不在同一命名空间,需确保Pod有跨命名空间访问Secret的权限。

- **权限控制**:使用RBAC(基于角色的访问控制)策略,限制对Secret的访问,确保只有授权的Pod可以挂载和使用Secret。

- **安全性**:避免将敏感信息以明文形式存储在代码仓库中,定期更新Secret中的密码或密钥。

 

通过以上步骤,您可以将一个Secret挂载到指定命名空间下的Pod中,确保应用程序安全地访问所需的敏感信息。

http://www.lryc.cn/news/598685.html

相关文章:

  • 【数据结构】二叉树进阶算法题
  • MongoDB常用场景
  • AI总结视频以及谷歌浏览器插件安装步骤
  • 对examples/train_lora/llama3_lora_eval.yaml模型评估配置文件的理解。
  • Vue2文件上传相关
  • 零知识证明
  • vs2019 创建MFC ActiveX的详细步骤
  • Qt WebEngine Widgets的使用
  • 爬虫基础概念
  • 在Ubuntu上使用QEMU学习RISC-V程序(1)起步第一个程序
  • linux C -glib库的基本使用
  • Windows环境下 Go项目迁移至Ubuntu(WSL) 以部署filebeat为例
  • 如何在 Ubuntu 24.04 服务器或桌面版上安装和使用 gedit
  • 深度分析Java内存回收机制
  • 跨境支付入门~国际支付结算(电商篇)
  • unordered_map和unordered_set特性以及解决哈希冲突
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-19,(知识点:PCB布局布线的设计要点)
  • DevOps 完整实现指南:从理论到实践
  • LeetCode 23:合并 K 个升序链表
  • 【已解决】YOLO11模型转wts时报错:PytorchStreamReader failed reading zip archive
  • 医疗AI轻量化部署方案的深度梳理与优化路径判研
  • 基于Qt的仿QQ聊天系统设计
  • Ethereum: 区块链浏览器,我们的“天眼”
  • 力扣 hot100 Day54
  • 【开源】WpfMap:一个基于WPF(Windows Presentation Foundation)技术构建的数据可视化大屏展示页面
  • JS对象键的秘密:数字变字符串?
  • 【Linux基础知识系列】第六十四篇 - 了解Linux的硬件架构
  • 应急响应】Linux 自用应急响应工具发版 v6.0(LinuxGun)
  • redis 源码阅读
  • 完整指南:使用Apache htpasswd为Chronograf配置基础认证及功能详解