K8S中常用资源组件介绍

最近在研究K8S的使用,小有心得,特将自己这几天的学习心得写下。
K8S的MASTER和NODE的组件构成就不说了,都可以查到。这里主要介绍在K8S里面我们常用的几个资源组件的介绍和基本的原理。
第一个资源组件pod,pod是K8S里的最小管理单元,pod可以由几个容器组成,也可以由多个容器组成,但是最少由一个容器,其中还有一个pause容器(主要用于给pod内的容器提供对外的地址)

第二个资源组件就是deployment,这个组件简单说就是用于保证pod的数量的,创建deployment的时候同时也会创建pod,所以不需要单独创建pod。这里面主要就是要注意在定义metadata和spec属性时,metadata里的selector标签筛选器筛选的标签要和sepc里定义的容器的标签一致,同时在spec中需要添加容器的端口以及对外暴露的端口信息。

第三个资源组件就是statefulset,这个资源组件和deployment的作用对象不一样,deployment是针对无状态服务的,statefulset是针对有状态服务的(该服务有这些特点,StatefulSet除了要与PV卷捆绑使用以存储Pod的状态数据,还要与Headless  Service配合使用,即在每个StatefulSet定义中都要声明它属于哪个Headless Service。Headless Service与普通Service的关键区别在于,它没有Cluster IP,如果解析Headless Service的DNS域名,则返回的是该service对应的全部Pod的Endpoint列表。)

第四个资源组件就是service,这里service主要分为两种,一种是关联deployment的,一种是关联statefulset的,后一种需要设置clusterIP=none,同时关联statefulset里的service name参数。

第五个资源组件就是ingress,如果service是基于4层负载均衡的,那么ingress就是基于7层负载均衡的。

第六个资源组件就是hpa,如果说deployment实现了手动控制pod数量,那么hpa则是实现了动态的pod管理维护。

以上6个资源组件就组成了K8S管理集群的核心。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker在Kubernetes起到了非常重要的作用,它被用作容器化应用程序的构建和打包工具。Kubernetes可以使用Docker创建和管理多个容器化的应用程序,而且Docker提供了一个轻量级的容器化解决方案,可以在不同的环境快速、可靠地运行应用程序。 Docker并不是Kubernetes唯一的容器化解决方案,但它是最受欢迎和广泛使用的一种。Kubernetes支持多种容器化技术,包括Docker、rkt和CRI-O等,但由于Docker的普及程度和易用性,它仍然是Kubernetes常用容器化解决方案之一。 ### 回答2: DockerK8S(Kubernetes)起到了关键的作用,主要有以下几点: 1. 容器化应用:Docker使得将应用程序及其依赖、配置等打包成可移植的容器成为可能。在K8SDocker可以用来创建和管理应用容器,使得应用程序能够以独立、可重复的方式运行。 2. 高效的资源利用:K8S是一个容器编排和管理的平台,可以同时运行来自多个应用的多个Docker容器。由于Docker容器可以共享操作系统内核,相比传统虚拟机,K8S使用Docker可以更加高效地利用计算资源。 3. 弹性和可伸缩性:K8S可以根据应用负载的变化自动调整容器的数量,以实现弹性和可伸缩性。通过DockerK8S可以方便地创建、启动、停止和销毁容器,从而快速适应应用的需求变化。 4. 跨平台和环境一致性:Docker容器提供了跨平台和环境一致性的特性。在K8S使用Docker可以确保应用在不同环境的一致性,无论是在开发、测试还是生产环境,开发人员可以将Docker容器打包并运行在任何平台上。 5. 自动化部署和管理:K8S提供了丰富的自动化部署和管理功能,可以通过配置文件、命令行或API等方式来定义和管理Docker容器的部署、升级、弹性伸缩等操作。这样可以简化应用的部署和管理过程,提高开发和运维的效率。 总结来说,DockerK8S具有重要的作用,包括容器化应用、高效的资源利用、弹性和可伸缩性、跨平台和环境一致性以及自动化部署和管理等。虽然DockerK8S是一个重要的组件,但K8S可以与其他容器技术一起使用,因此Docker并不是K8S唯一的容器化解决方案。 ### 回答3: Docker在Kubernetes(简称K8S起到了关键的作用,但并不是唯一的技术。Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序。而Docker是一种流行的容器化技术,可以打包、分发和运行应用程序及其依赖的工具。 DockerK8S起到了容器化应用程序的封装和隔离作用。通过Docker,可以将应用程序及其依赖打包成一个称为容器的可移植单元。Kubernetes则负责管理这些容器,并自动在集群分布、调度和运行这些应用程序。Docker为Kubernetes提供了各种功能,例如易于部署、扩展、迁移和管理应用程序。它还提供了图像仓库来存储和共享Docker镜像,这对于集群的多个节点来说非常有用。 尽管Docker在Kubernetes起着重要作用,但Kubernetes并不依赖于Docker。Kubernetes还支持其他容器化技术,如容器d、rkt等。这意味着在Kubernetes可以使用不同的容器引擎来运行应用程序,并且可以根据需要灵活地选择最适合的技术。 总结起来,Docker在Kubernetes起到了关键的作用,它为Kubernetes提供了容器化应用程序的重要功能,但并不是唯一的技术。Kubernetes还可以与其他容器引擎集成,以满足不同需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值