登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
K8s新手系列之初识pod
K8s新手系列之初识pod
[ 复制链接 ]
忆雏闲
2025-5-31 23:52:48
Pod的基本概念
Pod是kubernetes集群进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于Pod中。
Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器,这些容器共享网络和存储命名空间。
Pod 的设计是 非持久化 的,可能因节点故障、调度策略或更新操作而被销毁重建。
当Pod中有多个容器时,容器之间的通信是通过pause容器来实现的。
Pod的核心特性
共享网络命名空间
共享同一 IP:Pod 内的所有容器共享一个 IP 地址,容器间通过 localhost 直接通信。
端口分配:容器需避免端口冲突(如主容器监听 80 端口,日志收集容器监听 8080)。
共享存储卷
Volume 挂载:Pod 级别定义的存储卷(如 emptyDir、PersistentVolumeClaim)可被所有容器挂载。
数据共享:适合需要共享文件或目录的场景(如主容器写日志,Sidecar 容器读取日志并上传)。
生命周期一致性
同生共死:Pod 内的容器同时启动,当 Pod 终止时,所有容器一起终止。
独立重启:若某个容器崩溃,Pod 会根据 restartPolicy 决定是否重启整个 Pod 或仅重启该容器。
k8s中pod的管理
使用命令创建pod
通过 kubectl run 快速创建临时 Pod,适合测试和调试场景。
# 创建一个简单的 Pod(默认生成随机名称)
kubectl run <POD_NAME> --image=<IMAGE> --port=<PORT>
# 示例:运行一个名为 nginx-pod 的 Nginx 容器
kubectl run nginx-pod --image=nginx:latest --port=80
复制代码
参数说明:
--image: 指定容器镜像(必填)。
--port: 暴露容器端口。
--env: 设置环境变量(如 --env=KEY=VALUE)。
--command: 覆盖容器默认命令(需结合 -- 分隔符)。
kubectl run debug-pod --image=busybox --command -- sh -c "sleep 3600"
复制代码
--rm: Pod 退出后自动删除(适合临时任务):
kubectl run --rm -it temp-pod --image=busybox -- sh
复制代码
--dry-run=client: 生成模板但不实际创建:
kubectl run nginx-pod --image=nginx --dry-run=client -o yaml > pod.yaml
复制代码
查看pod的信息
# 列出当前命名空间的所有 Pod
kubectl get pods
# 列出所有命名空间的 Pod
kubectl get pods -A
# 显示 Pod 的详细信息(IP、节点、事件等)
kubectl get pods -o wide
# 以yaml格式显示pod的详细信息
kubectl get pods -o yaml
# 查看某个 Pod 的详细描述(状态、事件、容器配置)
kubectl describe pod <pod-name>
复制代码
查看pod的日志
# 查看 Pod 的主容器日志
kubectl logs <pod-name>
# 持续跟踪日志(类似 tail -f)
kubectl logs -f <pod-name>
# 查看 Pod 中指定容器的日志
kubectl logs <pod-name> -c <container-name>
复制代码
进入pod调试
# 进入 Pod 的容器执行命令(默认进入第一个容器)
kubectl exec -it <pod-name> -- /bin/sh
# 进入指定容器
kubectl exec -it <pod-name> -c <container-name> -- /bin/bash
复制代码
删除pod
# 删除指定 Pod
kubectl delete pod <pod-name>
# 强制立即删除(不等待优雅终止)
kubectl delete pod <pod-name> --force --grace-period=0
复制代码
创建第一个pod
命令创建(生产环境不建议使用)
# 创建pod
[root@master01 ~]# kubectl run nginx-pod --image=nginx --port=80
pod/nginx-pod created
[root@master01 ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-pod 1/1 Running 0 9s
复制代码
通过yaml创建第一个pod(强烈建议使用!!!)
通过yaml创建pod,创建pod的yaml文件又叫资源清单(manifests),资源清单是用于描述定义K8S集群资源的配置文件。
下面是一个创建pod的资源清单文件示例:
[root@master01 ~/pod]# cat pod-nginx.yaml
apiVersion: v1
# 资源类型,例如 Pod
kind: Pod
# 元数据
metadata:
# Pod名称
name: nginx-pod
# Pod中容器的详细定义
spec:
# Pod中容器列表
containers:
# 容器名称
- name: nginx-container
# 容器的镜像
image: nginx:latest
# 指定容器的端口
ports:
# 容器端口命名
- name: http
# 容器内部监听的端口号
containerPort: 80
复制代码
创建pod
[root@master01 ~/pod]# kubectl apply -f pod-nginx.yaml
pod/nginx-pod created
复制代码
查看pod
[root@master01 ~/pod]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-pod 1/1 Running 0 25s
复制代码
访问pod
创建的pod默认是无法被外部访问的,这个我们后面会讲
# 查看pod的IP地址
[root@master01 ~/pod]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-pod 1/1 Running 0 10s 100.95.185.203 node02 <none> <none>
# 通过pod的IP进行访问
[root@master01 ~/pod]# curl 100.95.185.203
<!DOCTYPE html>
<html>
##..省略万字内容
</html>
复制代码
删除pod
[root@master01 ~/pod]# kubectl delete -f pod-nginx.yaml
pod "nginx-pod" deleted
[root@master01 ~/pod]# kubectl get pod
No resources found in default namespace.
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
K8s
新手
系列
初识
pod
相关帖子
学信息系统项目管理师第4版系列33_信息化发展
学信息系统项目管理师第4版系列10_变更管理与文档管理
学信息系统项目管理师第4版系列17_干系人管理
学信息系统项目管理师第4版系列30_信息系统管理
学信息系统项目管理师第4版系列29_信息系统治理
学信息系统项目管理师第4版系列28_组织级项目管理和量化项目管理
学信息系统项目管理师第4版系列26_项目绩效域(下)
学信息系统项目管理师第4版系列04_组织通用治理
学信息系统项目管理师第4版系列34_10大管理49过程ITTO
3.Android Compose 基础系列:在 Kotlin 中创建和使用函数
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
学信息系统项目管理师第4版系列33_信息化发展
0
786
汤流婉
2025-10-11
安全
学信息系统项目管理师第4版系列10_变更管理与文档管理
0
354
乱蚣
2025-10-11
安全
学信息系统项目管理师第4版系列17_干系人管理
0
410
烯八
2025-10-11
安全
学信息系统项目管理师第4版系列30_信息系统管理
0
533
崔瑜然
2025-10-11
安全
学信息系统项目管理师第4版系列29_信息系统治理
0
856
坪钗
2025-10-11
安全
学信息系统项目管理师第4版系列28_组织级项目管理和量化项目管理
0
642
鞠彗云
2025-10-11
安全
学信息系统项目管理师第4版系列26_项目绩效域(下)
0
513
剽达崖
2025-10-11
安全
学信息系统项目管理师第4版系列04_组织通用治理
0
743
奄蜊
2025-10-11
安全
学信息系统项目管理师第4版系列34_10大管理49过程ITTO
0
410
矛赓宁
2025-10-11
业界
3.Android Compose 基础系列:在 Kotlin 中创建和使用函数
0
653
郏琼芳
2025-10-11
回复
(1)
村亢
4 天前
回复
使用道具
举报
照妖镜
这个好,看起来很实用
vip免费申请,1年只需15美金$
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
科技
签约作者
程序园优秀签约作者
发帖
忆雏闲
4 天前
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994888
dage888
999994
3934307807
993690
4
富账慕
10007
5
柴古香
9992
6
匝抽
9986
7
孙淼淼
9989
8
筒濂
9977
9
凌彦慧
9985
10
崔瑜然
9984
查看更多