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启动失败而不断重启
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)