2)Pod资源的共享及通信 Pod的中的应用均使用相同的网络命名空间及端口
标签:
一、Namespace 1)Namespace概述Namespace是对一组资源和东西的抽象调集,好比可以用来将系统内部的东西划分为差此外项目组或用户组。常见的pods, services, replication controllers和deployments等都是属于某一个namespace的(默认是default),而node, persistentVolumes等则不属于任何namespace。
Namespace常用来断绝差此外用户,好比Kubernetes自带的处事一般运行在kube-system namespace中。
Kubernetes中的名称空间与docker中的名称空间差别。K8s中的名称空间只是做了一个逻辑上的断绝。
2)Namespace常用的命令 (1)盘问 [[email protected] ~]# kubectl get namespaces //检察K8s中存在的名称空间 NAME STATUS AGE default Active 6d21h kube-node-lease Active 6d21h kube-public Active 6d21h kube-system Active 6d21h //namespace包罗两种状态”Active”和”Terminating”。在namespace删除过程中,namespace状态被设置成”Terminating”。 [[email protected] ~]# kubectl describe namespaces default //检察default名称空间的详细信息 [[email protected] ~]# kubectl get pod --namespace=default [[email protected] ~]# kubectl get pod -n default //检察default名称空间中的pod资源(两者都可以) [[email protected] ~]# kubectl get pod //如果不指定,则默认也是检察default名称空间中的资源 (2)创建、删除使用命令行创建
[[email protected] ~]# kubectl create namespace beijing //创建一个名称空间,名称为beijing //创建完成后,可以通过“kubectl get namespaces”命令检察到 [[email protected] ~]# kubectl delete namespace beijing //删除新创建的名称空间使用yaml文件创建
[[email protected] ~]# vim namespace.yaml apiVersion: v1 kind: Namespace metadata: name: test [[email protected] ~]# kubectl apply -f namespace.yaml [[email protected] ~]# kubectl delete -f namespace.yaml注意:
(1)删除一个名称空间时会自动删除所有属于该namespace的资源;
(2)default和kube-system名称空间不成以被删除;
(3)namespace资源东西进用于资源东西的断绝,并不能隔绝距离差别名称空间的Pod之间的通信。如果需要断绝Pod之间的通信可以使用网络计谋资源这项成果;
名称空间就先简单介绍这么多,如果以后有需要会更新的!
二、Pod 1)什么是Pod?在Kubernetes中,最小的打点元素不是一个个独立的容器,而是Pod,Pod是最小的,打点,创建,打算的最小单元.
一个Pod就相当于一个共享context的配置组,在同一个context下,应用可能还会有独立的cgroup断绝机制,一个Pod是一个容器环境下的“逻辑主机”,它可能包罗一个或者多个紧密相连的应用,这些应用可能是在同一个物理主机或虚拟机上。
Pod 的context可以理解成多个linux定名空间的联合:
PID 定名空间(同一个Pod中应用可以看到其它进程);
网络 定名空间(同一个Pod的中的应用对不异的IP地点和端口有权限);
IPC 定名空间(同一个Pod中的应用可以通过VPC或者POSIX进行通信);
UTS 定名空间(同一个Pod中的应用共享一个主机名称);
Pod和彼此独立的容器一样,Pod是一种相对短暂的存在,而不是长期存在的,正如我们在Pod的生命周期中提到的,Pod被布置到结点上,并且连结在这个节点上直到被终止(按照重启的设定)或者被删除,当一个节点死失之后,上面的所有Pod均会被删除。特殊的Pod永远不会被转移到的其他的节点,作为替代,他们必需被replace(取代)。
2)Pod资源的共享及通信Pod的中的应用均使用不异的网络定名空间及端口,并且可以通过localhost发明并相同其他应用,每个Pod都有一个扁平化的网络定名空间下IP地点,它是Pod可以和其他的物理机及其他的容器进行无障碍通信。
除了界说了在Pod中运行的应用之外,Pod还界说了一系列的共享的磁盘,磁盘让这些数据在容器重启的时候不回丢掉并且可以将这些数据在Pod中的应用进行共享。
3)Pod的打点Pod通过供给一个高条理抽象而不是底层的接口简化了应用的部署及打点,Pod 作为最小的部署及打点单位,位置打点,拷贝复制,资源共享,依赖关系都是自动措置惩罚惩罚的。
4)为什么不直接在一个容器上运行所有的措施?(1)透明,Pod中的容器对根本设施可见使的根本设施可以给容器供给处事,例如线程打点和资源监控,这为用户供给很多便当
(2)解耦,解除软件依赖关系,独立的容器可以独立的进行重建和从头颁布,Kubernetes 甚至会在将来撑持独立容器的实时更新;
(3)易用,用户不需要运行本身的线程打点器,也不需要关心措施的信号以及异常结束码等;
(4)高效,因为根本设施承载了更多的责任,所以容器可以越发高效;
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31934.html