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

Kubernetes配置管理

以下是对提供的Kubernetes配置文件的详细解析,涵盖核心配置管理特性:


1. ConfigMap挂载方式
  • 基础挂载 (dapi-test1-pod.yaml)

    volumes:- name: config-volumeconfigMap:name: spec-config02  # 整个ConfigMap挂载到/etc/conf
    • 所有键值对作为文件挂载到目录,文件名=键名

  • 指定键挂载 (dapi-test2-pod.yaml

    items:- key: app1.confpath: app1.cfg  # 重命名文件- key: app2.confpath: app2.cfg
    • 选择性挂载特定键并自定义文件名

  • 权限控制 (dapi-test3-pod.yaml)

    items:- key: app1.confpath: app1.cfgmode: 0644  # 文件权限
    defaultMode: 0666  # 卷默认权限
  • 单文件挂载 (dapi-test4-pod.yaml)

    volumeMounts:- name: nginx-configmountPath: /etc/nginx/nginx.confsubPath: nginx.conf  # 关键:避免覆盖目录

2. Secret管理
  • Secret定义 (db-user-secret.yaml)

    data:username: YWRtaW4=         # admin (base64)password: bXlwYXNzd29yZA== # mypassword
  • Secret挂载 (secret-pod.yaml)

    volumes:- name: foosecret:secretName: mysecret  # 自动生成username/password文件

3. 环境变量注入
  • 批量注入 (env-envfrom.yaml)

    envFrom:- configMapRef:name: spec-config-2  # 整个ConfigMap转为环境变量
  • 选择性注入 (env-valuefrom.yaml)

    env:- name: my-name01valueFrom:configMapKeyRef:key: name1  # 仅注入特定键name: spec-config-2

4. 高级应用示例 (zabbix-mysql.yaml)

核心组件:

  1. 命名空间隔离

    apiVersion: v1
    kind: Namespace
    metadata:name: zabbix
  2. ConfigMap配置

    configMap:name: mysql-config  # MySQL配置挂载
  3. 存储管理

    persistentVolumeClaim:claimName: mysql-pvc  # 持久化存储
  4. 健康检查

    livenessProbe:exec:command: ["mysqladmin", "-uroot", "-p${MYSQL_ROOT_PASSWORD}", "ping"]
  5. 服务暴露

    ports:- nodePort: 30336  # NodePort访问

5. 辅助脚本
  • 镜像导出 (exp_docker_img.sh)

    docker save $IMAGE -o ${DIR}/${SAVE_NAME}.tar
    • 将镜像转换为<仓库>_<标签>.tar格式

  • 镜像导入 (imp_docker_img.sh)

    docker load -i ${IMAGE_DIR}/${IMAGE}

关键配置技巧总结

  1. ConfigMap/Secret挂载

    • 使用 subPath 避免覆盖目录

    • 通过 items 精细化控制文件生成

    • 设置 mode 控制文件权限

  2. 环境变量注入

    • envFrom 批量注入整个配置集

    • valueFrom 按需注入特定配置项

  3. 生产级部署要素

    • 命名空间隔离环境

    • ConfigMap管理服务配置

    • PersistentVolume持久化数据

    • Liveness/Readiness探针保障可用性

    • Secret管理敏感凭证

  4. 镜像迁移

    • 使用脚本批量导出/导入镜像

    • 适应离线环境部署需求

http://www.dtcms.com/a/270310.html

相关文章:

  • Vue3组合式API应用:状态共享与逻辑复用最佳实践
  • 说说SpringBoot常用的注解?
  • [Datawhale AI夏令营]大模型技术-基于带货视频评论的用户洞察挑战赛上分分享
  • React Native 一些API详解
  • 【ElasticSearch实用篇-02】基本增删改查
  • LoRaWAN 有几种入网方式?
  • 4. 那在详细说一下 http 2.0 的特点
  • WinUI3入门16:Order自定义排序
  • ACE-Step:AI音乐生成基础模型
  • 代码详细注释:基于log.h的自定义日志库实现
  • 探索下一代云存储技术:对象存储、文件存储与块存储的区别与选择
  • Splunk练习 Boss of the SOC V1
  • 短视频矩阵系统的崛起:批量发布功能与多平台矩阵的未来
  • LeetCode 21. 合并两个有序链表
  • C#Halcon从零开发_Day18_OCR识别
  • 4. isaac sim4.2 教程-Core API-Hello robot
  • 【计算机组成原理】-CPU章节学习篇—笔记随笔
  • Linux 第一个系统程序 - 进度条
  • (C++)list列表相关基础用法(C++教程)(STL库基础教程)
  • 跨越NLP的三重曲线:从词法到叙事的进化之路
  • 使用python的 FastApi框架开发图书管理系统-前后端分离项目分享
  • huggingface笔记:文本生成Text generation
  • EXCEL(带图)转html
  • 基于LiteOS与SLE的多任务无线控制器项目实战
  • 深圳凭物联网软件开发构建智慧‘城市大脑‘
  • 什么是 3D 文件?
  • UE material advance 学习笔记
  • 【时时三省】(C语言基础)怎样引用指针变量
  • 免安装图片修改软件,一键批量处理
  • 16018.UE4+Airsim仿真环境搭建