k8s-07-配置应用程序

配置应用程序

  1. ConfigMap:将配置数据置于 Kubernetes 的顶级资源对象中,并可与其他资源定义存入同一 Git 仓库或者基于文件的存储系统中。

  2. 配置应用程序:

    • 向容器传递命令行参数
    • 为每个容器设置自定义环境变量
    • 通过特殊类型的卷将配置文件挂载到容器中
  3. 在每个容器中,Kubemetes 会自动暴露相同命名空间下每个 service 对应的环境变量。这些环境变量基本上可以被看作自动注入的配置。

  4. 创建configMap

    kubectl create configmap <configmap-name> --from-literal=[key]=[value] --from-literal=[key]=[value] --from-literal=[key]=[value]
    kubectl create configmap <configmap-name> --from-file=[/path/file-name]
    
  5. 一次性传递 ConfigMap 的所有条目:envFrom

  6. Secret 只会存储在节点的内存中, 永不写入物理存储

  7. 采用ConfigMap 存储非敏感的文本配置数据。采用 Secret 存储天生敏感的数据, 通过键来引用。如果一个配置文件同时包含敏感与非敏感数据, 该文件应该被存储在 Secret 中。

  8. 小结

    • 在 pod 定义中覆盖容器镜像定义的默认命令
    • 传递命令行参数给容器主进程
    • 为容器设置环境变量
    • 将配置从 pod 定义中分离并放入ConfigMap
    • 通过 Secret 存储敏感数据并安全分发至容器
    • 创建 docker-registry Secret 用以从私有镜像仓库拉取镜像
posted @ 2024-07-01 16:02  行者·无疆  阅读(4)  评论(0编辑  收藏  举报