手机网站开发库,互联网保险的优势,网站建设策划实训总结,做的好看的统一登录网站目录 1 Container
2 Pod
3 Node
4 Namespace
5 Service
6 Label
7 Annotations
8 Volume 1 Container
Container(容器)是一种便携式、轻量级的操作系统级虚拟化技术。它使用namespace隔离不同的软件运行环境#xff0c;并通过镜像自包含软件的运行环境#xff0c;从而…目录 1 Container
2 Pod
3 Node
4 Namespace
5 Service
6 Label
7 Annotations
8 Volume 1 Container
Container(容器)是一种便携式、轻量级的操作系统级虚拟化技术。它使用namespace隔离不同的软件运行环境并通过镜像自包含软件的运行环境从而使得容器可以很方便的在任何地方运行。
容器体积小且启动快因此可以在每个容器镜像中打包一个应用程序。使用容器不需要与外部的基础架构环境绑定因为每个应用程序都不需要外部依赖更不需要与外部的基础架构环境依赖。完美解决了从开发到生产环境的一致性问题。每个应用程序用容器封装管理容器部署就等同于管理应用程序部署。
2 Pod
Pod用来管理容器每个pod可以包含一个或多个紧密关联的容器。Pod是一组紧密关联的容器集合它们共享PID、IPC、Network和UTS namespace是kubernetes调度的基本单位。Pod内的多个容器共享网络和文件系统可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。 3 Node
Node是Pod真正运行的主机可以是物理机也可以是虚拟机。为了管理Pod每个Node节点上至少要运行container runtime比如docker或者rkt、kubelet和kube-proxy服务。 4 Namespace
Namespace是对一组资源和对象的抽象集合比如可以用来将系统内部的对象划分为不同的项目或用户组。常见的podsservicesreplication controllers和deployments等都是属于某一个namespace的默认是default而nodepersistentVolumes等则不属于任何namespace。
5 Service
Service是应用服务的抽象通过labels为应用提供负载均衡和服务发现。匹配labels的Pod IP和端口列表组成endpoints由kube-proxy负责将服务IP负载均衡到这些endpoints上。
每个Service都会自动分配一个cluster IP仅在集群内部可访问的虚拟地址和DNS名其他容器可以通过该地址或DNS来访问服务而不需要了解后端容器的运行。 6 Label
Label是识别kubernetes对象的标签以key/value的方式附加到对象上key最长不能超过63字节value可以为空也可以是不超过253字节的字符串。
Label不提供唯一性实际上经常是很多对象如pods都使用相同的label来标志具体的应用。
Label定义好后其他对象可以使用Label Selector来选择一组相同label的对象比如ReplicaSet和Service用label来选择一组Pod。
7 Annotations
Annotations是key/value形式附加于对象的注解。用来记录一些附加信息用来辅助应用部署、安全策略以及调度策略等。比如deployment使用annotations来记录rolling update的状态。
8 Volume
Pod的生命周期通常比较短只要出现了异常就会创建一个新的Pod来代替它。那容器产生的数据会随着pod的消亡而自动消失。Volume就是为了持久化容器数据而生。