k8s集群化部署之pod管理
一、pod简介Pod是Kubernetes中一个抽象化概念,由一个或多个容器组合在一起得共享资源。这些资源包括:共享存储,如 Volumes 卷网络,唯一的集群IP地址每个容器运行的信息,例如:容器镜像版本Pod模型是特定应用程序的“逻辑主机”,并且包含紧密耦合的不同应用容器。Pod中的容器共享IP地址和端口。每个Pod将被绑定调度到Node节点上,并一直保持在那里直到被终止(根据配置策略)或删除
一、pod简介
Pod是Kubernetes中一个抽象化概念,由一个或多个容器组合在一起得共享资源。这些资源包括:
共享存储,如 Volumes 卷
网络,唯一的集群IP地址
每个容器运行的信息,例如:容器镜像版本
Pod模型是特定应用程序的“逻辑主机”,并且包含紧密耦合的不同应用容器。Pod中的容器共享IP地址和端口。每个Pod将被绑定调度到Node节点上,并一直保持在那里直到被终止(根据配置策略)或删除。在节点出现故障的情况下,群集中的其他可用节点上将会调度之前相同的Pod。
二、node简介
一个Pod总是在一个(Node)节点上运行,Node是Kubernetes中的工作节点,可以是虚拟机或物理机。每个Node由 Master管理,Node上可以有多个pod,Kubernetes Master会自动处理群集中Node的pod调度,同时Master的自动调度会考虑每个Node上的可用资源。
每个Kubernetes Node上至少运行着:
1、Kubelet,管理Kubernetes Master和Node之间的通信; 管理机器上运行的Pods和containers容器。
2、container runtime(如Docker,rkt)。
三、pod的使用
运行一个简单的pod
格式为:kubectl run pod名称 --image=镜像名称
删除pod:
kubectl delete pod demo
创建一个Kubernetes Deployment
Deployment负责创建和更新应用,创建Deployment后,Kubernetes master 会将Deployment创建好的应用实例调度到集群中的各个节点。应用实例创建完成后,Kubernetes Deployment Controller会持续监视这些实例。如果管理实例的节点被关闭或删除,那么 Deployment Controller将会替换它们,实现自我修复能力。
创建的pod名称为控制器名称+rs名称+容器名称
使用deployment创建的pod的删除:
直接将控制器删掉
创建Deployment时,指定要运行的副本数,可以实现快速的扩容和缩容来应对实际中出现的突发流量
更多推荐
所有评论(0)