当前位置: 首页 > 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.dtcms.com/a/295367.html

相关文章:

  • MySQL深度理解-MySQL事务优化
  • 现代C++的一般编程规范
  • 【CMake】CMake 常用语法总结
  • SSP通过SDK对接流量的原理与实现
  • SSM之表现层数据封装-统一响应格式全局异常处理
  • 主要分布在背侧海马体(dHPC)CA1区域(dCA1)的位置细胞对NLP中的深层语义分析的积极影响和启示
  • 大模型处理私有数据的核心技术
  • 《R 矩阵》
  • 基础NLP | 02 深度学习基本原理
  • Unity 多人游戏框架学习系列九
  • RocketMQ搭建及测试(Windows环境)
  • 基于深度学习的图像分类:使用MobileNet实现高效分类
  • 路径总和Ⅲ(树)C++
  • 网络编程基石:TCP 原理全解析
  • AbMole小课堂 | Nivolumab(BMS-936558):PD-1人源化单抗的作用机制与抗肿瘤应用
  • 给定一个长度为n的数组,和一个长度为w的滑动窗口,w < n, 窗口沿着数组每次滑动一个位置,求出每次滑动后,滑动窗口内的最大值。 C++实现高效代码
  • 数据库底层索引讲解-排序和数据结构
  • Ethereum: 从零到一为DApp开发搭建专属的私有测试网络
  • Compose 适配 - 键鼠模式
  • Ethereum: 从 1e+21 到千枚以太币:解密 Geth 控制台的余额查询
  • Day30| 452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间
  • 风险分级响应管理分析系统
  • 基于 PIC16 系列的多功能电子烟(温控 + 电压控制 + 多模式)方案
  • 亚马逊云科技 EC2 部署 Dify,集成 Amazon Bedrock 构建生成式 AI 应用
  • 【初识数据结构】CS61B 中的归并排序和选择排序
  • python学习xlsx表格导入mysql脚本 + leetcode19删除链表倒N + python与本地mysql连接不上排错
  • 每日算法-两数之和
  • Go基础教程 从零到英雄:30分钟掌握Go语言核心精髓
  • Leetcode—1035. 不相交的线【中等】
  • 独家|百度副总裁尚国斌即将离职,此前统筹百度地图;行业搜索及智能体业务总经理谢天转岗IDG