编辑
2025-08-22
K8S(重新复习)
00

目录

一、概念
二、secre使用
‌volume挂载方式‌

一、概念

Kubernetes中的Secret是一种用于存储敏感数据的资源对象,如密码、令牌或密钥。 与ConfigMap类似,但专门设计用于保存需要加密或保护的信息。

二、secre使用

‌volume挂载方式‌

还有用之前的mysql yml文件

yml
# ==================== 命名空间配置 ==================== apiVersion: v1 # Kubernetes核心API版本标识 kind: Namespace # 声明资源类型为命名空间 metadata: # 资源元数据开始 name: ems # 定义命名空间名称为ems(Enterprise Management System) --- # ==================== 有状态应用配置 ==================== apiVersion: apps/v1 # 应用API版本标识 kind: StatefulSet # 声明资源类型为有状态副本集 metadata: # 资源元数据开始 name: mysql # StatefulSet名称 namespace: ems # 归属ems命名空间 labels: # 标签集合开始 app: mysql # 应用标识标签 spec: # 规格定义开始 serviceName: mysql-headless # 关联的无头服务名(用于DNS解析) replicas: 1 # 副本数配置(MySQL单实例部署) template: # Pod模板定义开始 metadata: # Pod元数据开始 labels: # Pod标签集合开始 app: mysql # 应用标识标签(需与selector匹配) spec: # Pod规格定义开始 containers: # 容器定义列表开始 - name: mysql # 容器名称标识 image: mysql/mysql-server:8.0 # 官方MySQL 8.0镜像 ports: # 端口映射列表开始 - containerPort: 3306 # MySQL服务默认端口 env: # 环境变量列表开始 - name: MYSQL_ROOT_PASSWORD # root密码变量名 valueFrom: secretKeyRef: name: mysql-secret # 引用的Secret名称 key: password # Secret中的键名 volumeMounts: # 存储卷挂载列表开始 - name: data # 引用下方PVC模板名称 mountPath: /var/lib/mysql # MySQL数据存储路径 volumeClaimTemplates: # PVC模板列表开始 - metadata: # PVC元数据开始 name: data # PVC资源名称 spec: # PVC规格定义开始 accessModes: [ "ReadWriteMany" ] # 存储访问模式(多节点读写) storageClassName: "mysql-nfs-sc" # 绑定前文定义的存储类 resources: # 资源请求定义开始 requests: # 资源请求参数开始 storage: 2Gi # 存储空间大小请求值 selector: # Pod选择器定义开始 matchLabels: # 标签匹配规则开始 app: mysql # 需匹配的Pod标签键值

创建一个secre对象的yml文件

yml
apiVersion: v1 kind: Secret metadata: name: mysql-secret namespace: ems type: Opaque data: password: cm9vdA== # "root"的base64编码

配置文件都加载后,数据库的密码就会根据mysql-secret名字去找密码了

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document