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编码

```

  1. **验证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

```

  1. **应用Pod配置**

```bash

kubectl apply -f my-app-pod.yaml

```

验证Secret挂载

  1. **进入Pod容器**

```bash

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

```

  1. **查看Secret文件**

```bash

cat /etc/secrets/username

cat /etc/secrets/password

```

注意事项

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

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

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

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

相关推荐
不老刘14 小时前
【Java入门】Java服务部署方式全景对比:从java -jar到K8s
java·kubernetes·jar
mit6.82417 小时前
AKS--Azure Managed Kubernetes
kubernetes·flask·azure
爱莉希雅&&&18 小时前
K8s NFS+StorageClass+PV/PVC+Deployment 实战笔记
笔记·容器·kubernetes
维核科技21 小时前
大模型私有化部署:Docker与Kubernetes实战避坑
docker·容器·kubernetes
SLD_Allen1 天前
Kubernetes + Ray + Volcano:云原生AI训练调度体系
人工智能·云原生·kubernetes
A-刘晨阳1 天前
Kubernetes 非共享存储详解:emptyDir 与 hostPath 从入门到实践
运维·云原生·容器·kubernetes·hostpath·emptydir
2401_834636991 天前
K8s 控制器全解:Deployment/DaemonSet/Job/CronJob+Service 服务发现实战宝典
容器·kubernetes·服务发现
风曦Kisaki1 天前
# Kubernetes(K8s)笔记Day15:K8s网络工作原理【Pod 网络模型,CNI 网络插件,Calico 工作模式详解,BGP协议,路由反射器】
运维·网络·nginx·云原生·容器·kubernetes
明王明王1 天前
从零搭建一个单节点 K8S 可观测实验室(七):从一次 Pod 创建过程,看懂 Kubernetes 核心原理
云原生·容器·kubernetes
云川之下2 天前
【k8s】NAD(NetworkAttachmentDefinition)与SR‑IOV‑Operator 关系
云原生·容器·kubernetes