k8s-Pod详解

Pod的概念

Pod是k8s可执行的最小工作单元,是对docker容器的进一步封装
Pod中的容器会作为一个整体被master调度到node上运行

k8s引入Pod的目的:
(1)有些容器天生联系比较紧密,Pod作为一个部署单元,提供最小单位的调度,扩展,共享资源和统一的生命周期
(2)每个Pod都会有一个Pod的网络地址和资源,这个地址被Pod内容器共享使用,如果Pod挂载一个volume,意味着volume被挂载到Pod中的每一个容器


Pod的两种使用方式

1.单一容器Pod

最常见的使用方式

2.多容器Pod

如果容器之间联系非常紧密,而且需要共享资源,则使用多容器Pod


Pod相关操作

# 获取当前命名空间下的所有Pod
kubectl get pods
# 获取所有命名空间下的Pod
kubectl get pod -A
# 查看一个pod的信息(执行流程和故障码等)
kubectl describe pod <pod的name> -n 命名空间名称
# 删除pod
kubectl delete pod <pod 的 NAME>
# 查看pod的日志信息
kubectl logs <podName>
# 查看pod的IP节点等详细信息等(pod的地址信息  pod所处的节点名称等)
kubectl get pod -owide

创建Pod的两种方式

# 命令创建
kubectl run pod <podName>  --image=<镜像名称>

# yaml文件创建 
apiVersion: v1  #当前配置格式的版本
kind: Pod       #资源类型
metadata:       #创建资源的元数据
  labels:
    run: mynginx
  name: mynginx
namespace: default
spec:          #资源的规格说明
  containers:
  - image: nginx
    name: mynginx


# 执行命令
kubectl apply -f <yaml文件名称>

ps:同一个Pod如果多个容器占用一个端口会造成Pod启动失败而不断重启

posted @   zhang790  阅读(252)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示