摘要:
一、什么是有状态负载(Statufulset)? StatefulSet 主要用于管理有状态的应用,它创建的Pod有持久型的标识符,即便Pod被调度的集群中不同的node节点或销毁重启后,标识符任然会保留,另外,支持Pod实例有序的部署和删除,它有如下特点: 1、Pod一致性:PodName、Hos 阅读全文
摘要:
一、背景介绍 通常情况下,Pod中的容器可以无限制的使用节点上的CPU和内存资源,在共享资源和资源有限的情况下,若不加以限制,某个集群或命名空间的资源可能会消耗殆尽,导致其节点上优先级低的Pod发生驱逐、重新调度、重启等问题,因此针对资源限额需要有针对命名空间级别的使用限制,以及针对Pod和容器级别 阅读全文
摘要:
一、为什么需要Helm? Kubernetes目前已成为容器编排的事实标准,随着传统架构向微服务容器化架构的转变,从一个巨大的单体的应用切分为多个微服务,每个微服务可独立部署和扩展,实现了敏捷开发和快速部署,但是由于从大一个应用变成了多个微服务,导致服务数大幅增加,对于Kubernetes来说,针对 阅读全文
摘要:
一、什么是Cgroup,使用场景? 容器本质上是进程,既然是进程就会消耗掉系统资源,比如:CPU、内存、磁盘、网络带宽等,如果不加以限制,容器在某些情况下就会无限制地吃掉宿主机的系统资源,显然这不是我们期望发生的,另外当我们的环境中运行了很多容器,且系统资源一定的情况下,我们有优先保证主要容器应用的 阅读全文
摘要:
一、先谈谈进程 在正式介绍Namespace之前,先介绍下进程,因为容器本质上是进程,但是在介绍进程之前,先理清下“程序”和“进程”的关系,这是IT从业人员在日常工作中经常碰到的两个词汇,举个通俗点的例子帮助大家理解,“程序”可以看成是一张机械图,图上的内容都是手工画上去的,相当于是计算机的输入,在 阅读全文
摘要:
一、什么是ConfigMap ConfigMap翻译过来即为“配置字典”,在实际的生产环境中,应用程序配置经常需要且又较为复杂,参数、config文件、变量等如果直接打包到镜像中,将会降低镜像的可移植性,因此期望有一种方式可以将配置从应用程序中解耦出来,ConfigMap正是在此背景下诞生的,它用于 阅读全文
摘要:
一、问题背景 容器默认的时区采用的是世界时钟即UTC时区,但是宿主机默认采用的是CST,两者时区相差8小时,如下所示,前者为容器的时间,后者为宿主机时间,容器的时间比宿主机的时间早8小时 [root@k8s-master zhanglei]# kubectl exec -ti myapp-state 阅读全文
摘要:
一、什么是Job? Job负责批量处理短暂的一次性任务,完成任务后,容器就会退出,即只执行一次任务,保证批量处理任务中的1个或多个Pod成功结束。 二、Job的使用场景 Job适用于执行完一次性工作任务就不再执行,非持续性工作的使用场景,如:AI模型训练、批量计算、数据分析等场景。 三、Job的实践 阅读全文
摘要:
一、什么是subPath 为了支持单一个pod多次使用同一个volume而设计,subpath翻译过来是子路径的意思,如果是数据卷挂载在容器,指的是存储卷目录的子路径,如果是配置项configMap/Secret,则指的是挂载在容器的子路径。 二、subPath的使用场景 1、 1个pod中可以拉起 阅读全文
摘要:
详细深入介绍Kubernetes-不同类型Service的原理和使用 阅读全文