首页 > 编程语言 >k8s-07-配置应用程序

k8s-07-配置应用程序

时间:2024-07-01 16:14:07浏览次数:18  
标签:容器 存储 07 ConfigMap -- 配置 应用程序 Secret k8s

配置应用程序

  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 用以从私有镜像仓库拉取镜像

标签:容器,存储,07,ConfigMap,--,配置,应用程序,Secret,k8s
From: https://www.cnblogs.com/colasdn/p/18278263

相关文章

  • k8s-09-Deployment
    Deployment微服务化:将一个大规模系统拆分成各个独立运行的组件更新pod:直接删除所有现有的pod,然后创建新的pod。先创建新的pod,并等待它们成功运行之后,再删除旧的pod。按顺序创建新的pod,然后逐渐删除旧的pod。第1种会导致应用程序在一定的时间内不可......
  • k8s-10-StatefulSet
    StatefulSet每个实例有单独存储的多副本手动控制Pod需要手动管理,当有节点故障,需要手动创建一个ReplicaSet对应一个Pod,创建多个RS不方便,不能弹性伸缩每个Pod使用同一数据卷中的不同目录实例间相互合作,正确性很难保证,同时共享存储会成为整个应用的性能瓶颈......
  • k8s-11-Kubernetes原理
    Kubernetes原理控制平面负责控制并使得整个集群正常运行。Etcd分布式持久化存储API服务器调度器控制器管理器工作节点负责容器的运行任务kubeletkube-proxy容器运行时(Docker、rkt等)附加组件DNS服务器仪表盘Ingress控制器Heapster(容器集群监控)容器......
  • 【Docker】Docker安全与最佳实践:保护你的容器化应用程序
    Docker安全与最佳实践:保护你的容器化应用程序一、保持Docker更新*1\.使用容器编排工具2.蓝绿部署3.滚动更新4.就地更新5.监控和回滚二、最小权限原则三、网络隔离四、其他安全措施前言Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到......
  • K8S学习教程(一):使用PetaExpress云服务器安装Minikube 集群
    什么是MinikubeMinikube是一款工具,主要用于在本地运行Kubernetes集群。Kubernetes开源的平台,用于自动化容器化应用的部署、扩展和管理,而Minikube使得开发人员能够在本地机器上轻松创建一个单节点的Kubernetes集群,从而方便开发、测试和学习Kubernetes。我们看下......
  • k8s-01-介绍
    K8S介绍单体应用:由很多个组件组成,这些组件紧密的耦合在一起,由于他们在同一个操作系统进程中运行,所以在开发、部署、管理都必须在同一个实体进行。即使市某个组件中小的更改,都需要重新部署整个应用。组件间缺乏严格的边界定义,相互依赖,日积月累导致系统复杂度提升。微服务:将......
  • k8s-02-开始使用
    开始使用列出集群节点kubectlgetnodes节点的详细信息kubectldescribe[node<NODE-NAME>]配置Tab补全source<(kubectlcompletionbash)运行应用kubectlrunkubia--image=luksa/kubia--port=8080--generator=run/vlreplicationcontroller列出p......
  • k8s-03-Pod
    Podpod是逻辑主机,其行为与非容器世界中的物理主机或虚拟机非常相似。此外,运行在同一个pod中的进程与运行在同一物理机或虚拟机上的进程相似,只是每个进程都封装在一个容器之中。pod定义由这么几个部分组成:首先是YAML中使用的KubemetesAPI版本和YAML描述的资源......
  • K8s摘抄及理解
    摘抄及理解目录摘抄及理解ReplicationController和PodReplicationController和ReplicaSet[1]Kubernetes核心组件创建Pod流程RBAC授权[2]Role和ClusterRoleRoleBinding和ClusterRoleBindingResourceSubject静态PodPodHook(生命周期钩子)健康检查InitContainer(初始化......
  • K8s 问题及解答
    问题及解答kubectlproxy命令及其含义,如何通过proxy访问kubernetes集群?Createsaproxyserverorapplication-levelgatewaybetweenlocalhostandtheKubernetesAPIServer.ItalsoallowsservingstaticcontentoverspecifiedHTTPpath.Allincomingdata......