k8s基础概念

Node

node作为集群中的工作节点,可以是物理机或虚拟机,node上管理着k8s的最小单元pod。Node上运行着Kubernetes的Kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁、以及实现软件模式的负载均衡。

查看node信息:

kubectl describe node

PID命名空间:Pod中的不同应用程序可以看到其他应用程序的进程ID;

网络命名空间:Pod中的多个容器能够访问同一个IP和端口范围;

IPC命名空间:Pod中的多个容器能够使用SystemV IPC或POSIX消息队列进行通信;

UTS命名空间:Pod中的多个容器共享一个主机名;

Volumes(共享存储卷):Pod中的各个容器可以访问在Pod级别定义的Volumes;


pod

pod是k8s上最小的操作单元,与我们熟知的docker容器差不多概念。多数情况下,一个pod对应一个docker容器。当然一个pod也可以存在多个容器。每个pod对应一个podIP,pod中的容器可以通过桥接的方式进行网络互连。k8s集群架构图如下:


一个pod中的容器共享资源,共享的资源如下:

PID命名空间:Pod中的不同应用程序可以看到其他应用程序的进程ID;

网络命名空间:Pod中的多个容器能够访问同一个IP和端口范围;

IPC命名空间:Pod中的多个容器能够使用SystemV IPC或POSIX消息队列进行通信;

UTS命名空间:Pod中的多个容器共享一个主机名;

Volumes(共享存储卷):Pod中的各个容器可以访问在Pod级别定义的Volumes;  

pod是通过Replication Controller管理生命周期的,定义模板之后,调度到一个node上运行,容器运行结束,pod就销毁了。



service

上面讲到,k8s中会分配pod一个IP,当pod销毁后,IP地址也会消失。因此,一个pod对应的服务的IP会是动态变化的。

因此,k8s利用一个service作为一组相同服务的pod对外提供的接口。Service作用于哪些Pod是通过Label Selector来定义的。



Label

label一K/V结构附加在资源对象上,,如Pod、Service、RC、Node等,以识别这些对象,管理关联关系等,如Service和Pod的关联关系。



RC(副本控制器)

目标Pod的定义;

目标Pod需要运行的副本数量;

要监控的目标Pod标签(Lable);

Kubernetes通过RC中定义的Lable筛选出对应的Pod实例,并实时监控其状态和数量,如果实例数量少于定义的副本数量(Replicas),则会根据RC中定义的Pod模板来创建一个新的Pod,然后将此Pod调度到合适的Node上启动运行,直到Pod实例数量达到预定目标。

你可能感兴趣的:(k8s基础概念)