Pod是k8s中的最小调度单元,通过自定义一个pod在里面运行容器,容器需要指定镜像就可以运行具体的服务器,同一个pod共享网络和存储。
官方解释:
在Kubernetes集群中,Pod是所有业务类型的基础,它是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。在Pod中,所有容器都被同一安排和调度,并运行在共享的上下文中。对于具体应用而言,Pod是它们的逻辑主机,Pod包含业务相关的多个应用容器。Kubernetes不只是支持Docker容器,它也支持其他容器。
个人理解:
Pod是容器组的一个抽象,类似于一栋出租楼,出租楼的房间像容器,房间里的水,电充当应用服务。出租屋内的房间门跟容器端口差不多,出租屋大门像pod上的端口,整栋楼大门像service对外暴露的端口。
Pod网络
pod 有具体的IP地址,每一个pod都被分配唯一的地址。pod中的容器共享一个命名空间,pod中的容器可以使用local host相互通信。
Pod存储
创建pod时可以指定存储卷,pod中的所有容器够可以访问共享卷,允许这些容器共享数据。挂载持久化存储卷后,pod重启后还会存在。
使用Pod的原因?
pod是K8s最小的运行,部署单位。用K8s作容器管理,比如Mysql,Redis等服务运行需要创建Pod,才能对外提供服务。
pod创建
kubectl run httpd--image=httpd -n 空间名
查看所有空间上的pod节点
kubectl get pods --all-namespaces
查看指定空间上的pod
kubectlgetpod -n 空间名
查看pod详情
kubectl get pod -o wide -n 空间名 kubectl describe pod name
指定变更pod空间清单脚本
kubectl edit pod pod名 -n 空间名
删除pod
删除某个空间下pod
kubectl delete all--all -n 空间名
删除默认空间 pod
kubectl delete pods name
删除指定空间下pod
kubectl delete pods name -n 空间名