玩转k8s(一)—— Kubernetes重要概念

文章介绍了Kubernetes的关键组件和概念,包括Cluster的资源集合,Master的调度作用,Node的容器运行,Pod作为最小工作单元,Controller的管理功能,如Deployment和ReplicaSet,以及Service提供对外访问Pod的途径。Namespace则用于资源隔离。
摘要由CSDN通过智能技术生成

1. Cluster

        cluster是计算、存储和网络资源的集合,Kubernetes利用这些资源运行各种基于容器的应用。

2. Master

        Master是Cluster的大脑,它的主要职责是调度,即决定将应用放在哪里运行。 

3. Node

        Node的职责是运行容器应用。Node由Master管理,Node负责监控并汇报容器的状态,同时根据Master的要求管理容器的生命周期。 

4. Pod

        Pod是k8s最小的工作单元。每隔Pod包含一个或多个容器。Pod中的容器会作为一个整体被Master调度到一个Node上运行。 Pod可以运行单一容器也可以运行多个容器。

k8s引入pod的目的:

(1)可管理性

        有些容器天生就是需要紧密联系,一起工作。k8s可以以pod为最小单元进行调度、扩展、共享资源、管理生命周期。

(2)通信和资源共享

        Pod中所有容器使用同一网络namespace,即相同的IP地址和Port空间。它们可以直接用localhost通信。同样的,这些容器可以共享存储。

5.  Controller

        Kubernetes通常不会直接创建Pod,而是通过Controller来管理Pod。Controller中定义了Pod的部署特性,比如由几个副本,在什么样的Node上运行等。k8s提供了多种Controller,包括:Deployment、ReplicaSet、DaemonSet、StatefulSet、Job等。

(1)Deployment是最常用的Controller,Deployment可以管理Pod的多个副本,并确保Pod按照期望的状态运行。 

(2)ReplicaSet实现了Pod的多副本管理,使用Deployment时会自动创建ReplicaSet,也就是说Deployment是通过ReplicaSet来管理Pod的多个副本的,我们通常不需要直接使用ReplicaSet

(3)DeamanSet用于每隔Node最多只运行一个Pod副本的场景。正如其名,DaemonSet通常用于运行daemon。

(4)StatefulSet能够保证Pod的每个副本在整个生命周期中名称是不变的,而其他的Controller不提供这个功能。而且StatefulSet会保证副本按固定顺序启动或删除。

(5)Job用于运行结束就删除的应用,而其他Controller中的pod通常是长期持续运行。

6.  Service

        Deployment可以部署多个副本,每个Pod都有自己的IP,外界如何访问这些副本呢?答案是通过Service。

        Kubernetes Service定义了外界访问一组特定Pod的方式。Service有自己的IP和端口,Service为Pod提供了负载均衡。

        k8s运行容器(Pod)和访问容器(Pod)分别由Controller和Service执行。

7. Namespace

        如果由多个用户或项目组使用同一个k8s Cluster,如何将它们创建的Controller、Pod等资源分开呢?答案是Namespace

        Namespace可以将一个物理的Cluster逻辑上划分成多个虚拟Cluster,每个Cluster就是一个Namespace。不同Namespace里的资源是完全隔离的。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小印z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值