美文网首页
k8s容器 pod

k8s容器 pod

作者: 缘尤会 | 来源:发表于2021-03-22 20:22 被阅读0次

什么是容器?

容器,是一个视图隔离、资源可限制、独立文件系统的进程集合。

  • 视图隔离 : 如能看见部分进程;独立主机名等等;
  • 控制资源使用率 如CPU、内存
    NODE:容器是单进程模型,它只能管理pid=1的进程。管理容器等于直接管理应用本身
    Pod="进程组",pod是一个逻辑单位,多个容器的组合。

什么是镜像?

运行容器所需要的所有文件集合 -容器镜像


image.png

构建步骤所产生的文件系统的变化 - changeset
类似 disk snapshot
设计成分层、复用、可以提高分发效率,减少磁盘压力。可以帮助我们快速分发一个镜像以及节约系统资源。

pod的配置管理

对于一些可变的配置,不能直接写到镜像里,就需要用一些配置


image.png
  • 可变配置就用 ConfigMap;
  • 敏感信息是用 Secret;
  • 身份认证是用 ServiceAccount 这几个独立的资源来实现的;
  • 资源配置是用 Resources;
  • 安全管控是用 SecurityContext;
  • 前置校验是用 InitContainers 这几个在 spec 里面加的字段,来实现的这些配置管理。

configmap

它其实主要是管理一些可变配置信息,比如说我们应用的一些配置文件,或者说它里面的一些环境变量,或者一些命令行参数。
它的好处在于它可以让一些可变配置和容器镜像进行解耦,这样也保证了容器的可移植性


image.png image.png image.png
  • ConfigMap 注意要点

现在对 ConfigMap 的使用做一个总结,以及它的一些注意点,注意点一共列了以下五条:
ConfigMap 文件的大小。虽然说 ConfigMap 文件没有大小限制,但是在 ETCD 里面,数据的写入是有大小限制的,现在是限制在 1MB 以内;
第二个注意点是 pod 引入 ConfigMap 的时候,必须是相同的 Namespace 中的 ConfigMap,前面其实可以看到,ConfigMap.metadata 里面是有 namespace 字段的;
第三个是 pod 引用的 ConfigMap。假如这个 ConfigMap 不存在,那么这个 pod 是无法创建成功的,其实这也表示在创建 pod 前,必须先把要引用的 ConfigMap 创建好;
第四点就是使用 envFrom 的方式。把 ConfigMap 里面所有的信息导入成环境变量时,如果 ConfigMap 里有些 key 是无效的,比如 key 的名字里面带有数字,那么这个环境变量其实是不会注入容器的,它会被忽略。但是这个 pod 本身是可以创建的。这个和第三点是不一样的方式,是 ConfigMap 文件存在基础上,整体导入成环境变量的一种形式;
最后一点是:什么样的 pod 才能使用 ConfigMap?这里只有通过 K8s api 创建的 pod 才能使用 ConfigMap,比如说通过用命令行 kubectl 来创建的 pod,肯定是可以使用 ConfigMap 的,但其他方式创建的 pod,比如说 kubelet 通过 manifest 创建的 static pod,它是不能使用 ConfigMap 的。

相关文章

  • k8s家族Pod辅助小能手Init容器认知答疑?

    k8s家族Pod辅助小能手Init容器认知答疑? k8s集群Init 容器是一种特殊容器,职责是在Pod的生命周期...

  • k8s的网络发现

    k8s网络场景 容器与容器之间的通信 pod与pod之间的通信 pod到service之间的通信 集群外部与集群内...

  • Kubernetes 0-1 了解Pod

    Pod介绍 Pod,是K8S对象模型中的最小单元,Pod里面包含着一组容器(单个容器或多个紧密耦合的容器),这时候...

  • 创建一个最简单的pod

    pod为k8s内最小的管理资源,每个pod会分配一个系统容器,一个pod内可能存在多个用户容器,所有用户容器通过系...

  • K8S资源对象简介

    一、资源简介 1.1 Pod pod是k8s中的最小单元。 一个pod中可以运行一个容器,也可以运行多个容器。 运...

  • Kubernetes进阶

    1. k8s的网络模型是什么? 容器与容器之间要能相互通信 pod和pod之间要能相互通信 任意pod和任意ser...

  • k8s中pod的相关操作

    k8s 是不能直接运行程序的,k8s集群中最小的调度单元为pod,Pod是容器的封装。因此我们需要使用Pod来运行...

  • 14.Kubernetes——Pod详解

    一、Pod的介绍 Pod是k8s最小部署单元,一个Pod中可以有一个或者多个容器也就是一组容器的集合,Pod又称为...

  • Kubernetes(三)之资源对象POD和JOB

    Kubernetes POD和JOB pod Pod是K8S的最小操作单元,一个Pod可以由一个或多个容器组成;整...

  • K8s 浅谈Pod

    “Pod” 这一词是我们经常听到的一个词语,我们知道Pod 是k8s 最基本的单元对象,Pod里边包含着容器,容器...

网友评论

      本文标题:k8s容器 pod

      本文链接:https://www.haomeiwen.com/subject/syjthltx.html