k8s全称**Kubernetes**
他是干啥的,自己去网上查。文章目的是快速上手。
控制它的客户端命令叫做kubectl
如果你是运维或者半个运维(大数据),下面的命令需要背下来
查询pod
pod指的是一个最小的容器。容器就是docker中的一个镜像环境,含服务或者含环境,比如你写了个网站,网站需要前端后端还有系统,你把这些全部封装到一个容器里,然后对外暴露一个端口。这个容器就是pod,为什么用这个,pod很方便,到哪里都可以一键使用,不需要在去部署他的环境。
kubectl get pod -A列出所有pod
第一列是namespace,它的命名空间,可以理解是对pod的分组。
第二列是podname,他的名称
状态学习
1. Pending
- 定义 :当 Pod 被调度到集群中,但由于某些原因(例如,资源不足、调度失败等),它还没有在节点上启动时,Pod 会处于
Pending
状态。 - 原因:Pod 正在等待调度,或者缺少必要的资源(比如 CPU、内存等),导致 Pod 无法启动。
- 不表示失败 :
Pending
不是一个失败状态,只是表明 Pod 还没有开始运行。
2. Running
- 定义:Pod 已经调度到节点并正在运行。
- 健康检查 :如果容器健康检查失败(比如
livenessProbe
失败),Kubernetes 会尝试重启容器。容器本身可能处于Running
状态,但因为失败的健康检查,可能会导致 Pod 中的容器重启。
3. CrashLoopBackOff
- 定义 :当一个容器在启动后立即崩溃,并且 Kubernetes 发现容器反复崩溃时,会将容器的状态设置为
CrashLoopBackOff
。 - 原因:容器反复崩溃并且无法成功启动,通常是因为容器内的应用程序启动失败、配置错误或者依赖缺失等。
- 表示失败:这是一个明确的失败状态,表示容器不断失败,并且 Kubernetes 正在等待一段时间后再次尝试启动。
4. Error
- 定义 :容器启动时发生错误并退出,且退出码非零。
Error
状态通常表示容器的运行失败。 - 原因:应用程序在运行过程中遇到了错误,容器退出,未能正常启动或完成预定工作。
5. Succeeded
- 定义:容器成功执行并退出,通常用于短暂的任务(例如 Batch 作业)。
- 失败 :如果容器在执行任务时遇到错误并失败,那么状态通常是
Error
而不是Succeeded
。
6. Failed
- 定义 :Pod 中的所有容器都停止运行,且退出状态码为非零时,Pod 的状态会变成
Failed
。 - 原因:容器在运行过程中出现严重错误,无法继续执行。
- 表示失败:这表示 Pod 和其容器的执行失败。
7. Terminating
- 定义 :Pod 正在被删除时,状态变为
Terminating
。 - 原因:这并不表示失败,而是 Pod 正在被清理和删除的过程中。