Kubernetes集群调度介绍

一、Kubernetes调度Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 pod 分配到集群的节点上。听起来非常简单,但有很多要考虑的问题: 公平:如何保证每个节点都能被分配资源 资源高效利用:集群所有资源最大化被使用 效率:调度的性能要好,能够尽快地对大批量的 pod 完成调度工作 灵活:允许用户根据自己的需求控制调度的逻辑 Sheduler 是作为单独...

系统运维

Pod 的 init Containers

Pod 我们可以分为两类,一种属于自主式 Pod ,还有一种属于控制器管理的 Pod 。 一、Pod 的 initContainers基本概念: Pod能够具有多个容器,应用运行在容器里面,但是它也可能有一个或多个先于应用容器启动的Init容器,Init容器与普通的容器非常像,除了如下两点: Init容器总是运行到成功完成为止 每个Init容器都必须在下一个Init容器启动之前成功完成 ...

系统运维

PV 与 PVC介绍

一、概念介绍PersistentVolume (PV) 是由管理员设置的存储,它是群集的一部分。就像节点是集群中的资源一样,PV 也是集群中的资源。 PV 是Volume 之类的卷插件,但具有独立于使用 PV 的 Pod 的生命周期。此 API 对象包含存储实现的细节,即 NFS、iSCSI 或特定于云供应商的存储系统。 PersistentVolumeClaim (PVC) 是用户存储的请...

系统运维

Pod 的健康检查-探针

一、Pod 的健康检查-探针1.1、探针基本概念探针是由 kubelet 对容器执行的定期诊断。要执行诊断,kubelet 调用由容器实现的 Handler 有三种类型的处理程序: 1、ExecAction: 在容器内执行指定命令。如果命令退出时返回码为0则认为诊断成功。 2、TCPSocketAction: 对指定端口上的容器的IP地址进行 TCP 检查,如果端口打开则诊断被认为是成功的。...

系统运维

Pod 的 Service 介绍

一、Service 介绍Kubernetes Service 定义了这样一种抽象: 一个 Pod 的逻辑分组,一种可以访问它们的策略,通常称为微服务。 这一组 Pod 能够被 Service 访问到,通常是通过 Label Selector 。 Service能够提供负载均衡的能力,但是在使用上有以下限制: 只提供4层负载均衡能力,而没有7层功能,但有时我们可能需要更多的匹配规则来转发请求...

系统运维

Pod 的存储之Secret

一、Secret 存在意义Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中。Secret 可以以 Volume 或者环境变量的方式使用。 Secret 有三种类型: Service Account : 用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动挂载到 Pod 的/ru...

系统运维

Pod 的存储之Configmap

一、Configmap介绍ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制大对象。 1、使用目录创建 1234567891011121314151617...

系统运维

Pod 的存储之volume

容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的 Volume 抽象就很好的解决了这些问题。 背景 Kubernetes 中的卷有明确的寿命,与封装它...

系统运维

Pod 的 NameSpace

一、Pod 的 NameSpace使用 kubectl 管理命名空间及其包含的资源相当简单。在这一节中,我们将演示一些最常见的命名空间操作,便于你开始有效地分割资源。 在我们进行创建命名空间之前,先说一下 Kubernetes 是如何自动设置它的,在默认情况下,新的集群上有三个命名空间: default: 向集群中添加对象而不提供命名空间,这样它会被放入默认的命名空间中。在创建替代的命名空间...

系统运维

StatefulSet资源控制器

一、statefulset介绍StatefulSet 是为了解决有状态服务的问题而设计的资源控制器。 匹配 Pod name ( 网络标识 ) 的模式为:(statefulset名称)-(序号),比如上面的示例:web-0,web-1,web-2 StatefulSet 为每个 Pod 副本创建了一个 DNS 域名,这个域名的格式为: $(podname).(headless server...

系统运维
14567821