kubernetes是什么和其他的前置概念
感觉 kubernetes 东西很多,有些概念我并不能理解,所以开始学习记录这些东西。
当我凭借感觉写完后会让AI过滤一遍,以便看看有那些误解的地方。(那怎么证明AI是对的呢?算了,反正AI比我知识量多)
▶ kubernetes 是什么
从角色上看kubernetes是 ①支持应用运行的集群 ②支持云原生微服务应用的编排器。
我们将运行在容器里面的应用称为容器化运用。
kubertnetes 就是一个开源的容器编排器集群,主要是对容器化的云原生微服务应用进行编排。
微服务应用是由多个专门的服务组件共同组合而成,每一个组件都是一个单独的服务,由于组件的独立性所以组件自身可以进行升级扩容等操作,这种组件方式也是云原生应用的特点。
Google 为了编排和管理这些应用开发了一套专门的系统,基于这些经验开发出了后来的 kubernetes 此后该应用软件就成为了重要的云原生技术。
kubernetes 实现了真正意义上的混合云,使用户跨越不同的共有云或者私有云实现对负载均衡的无缝迁移和均衡,由于kubernetes对整合了底层的资源所以可以看作是对底层的抽象,这和操作系统对硬件的抽象一样,所以kubernetes也被称为是云上的操作系统。
▶ 容器运行时 是什么
容器运行时是启动容器的底层组件,相当于是核心的引擎,负责创建和管理容器,是支撑容器化应用运行的基础组件。
与容器运行时(如 containerd + runc)相比,Docker 引擎(Docker Engine)是一个更上层的完整容器化平台提供了更多了功能如:镜像的拉取、跨容器网络、数据卷管理、多容器编排等更专业的功能。
▶ kubernetes 和 容器运行时
早期k8s使用docker为容器运行时,从运行架构上来看docker是一个偏向底层的技术负责容器的具体行为(停止、启动),k8s 是一个偏向上层的技术注重的是集群范围的管理(选择什么节点来运行容器、选择什么时机进行扩容、选择什么时机进行容器化应用的升级等)。
现在k8s已经不将docker作为容器运行时,但可以支持docker创建的镜像,这是因为docker和k8s都符合容器镜像的开放容器倡议即OCI标准,k8s通过支持OCI的容器运行时管理容器,docekr使用OCI来创建镜像,所以docker创建的镜像与kubernetes的容器运行时是百分百兼容。
Containerd 是现在k8s中最普遍使用的容器运行时,这实际上是Docker的精简版本,只保留了kubernetes需要的部分。
Containerd 是一个行业标准的容器运行时,专注于容器的生命周期管理(创建、启动、停止、销毁),属于容器技术栈中的核心底层组件。它由 Docker 公司开发并捐赠给 CNCF(云原生计算基金会),现已成为 Kubernetes 等平台的默认容器运行时之一。

浙公网安备 33010602011771号