k8s的pod详解

简介: k8s的pod详解

 简介

Pod是在Kubernetes中创建和管理的、最小的可部署的计算单元

Pod是一组由单个或多个容器组成,这些容器共享网络和存储资源,以及如何运行这些容器的声明

Pod是多进程设计,运用多个应用程序

每个Pod包含一个或多个紧密相关的用户业务容器


生命周期

Pod遵循预定义的生命周期,起始于 Pending 阶段, 如果至少其中有一个主要容器正常启动,则进入 Running,

之后取决于 Pod 中是否有容器以失败状态结束而进入 Succeeded 或者 Failed 阶段

和docker中的容器一样,Pod 也是相对临时性的实体

Pod 会被创建、赋予一个唯一的 ID(UID),并被调度到节点,并在终止(根据重启策略)或删除之前一直运行在该节点

如果一个节点宕机了,调度到该节点的Pod也被计划在给定超时期限结束后删除


状态

Pending    Pod 已被 K8s 系统接受,但有一个或者多个容器尚未创建亦未运行。此阶段包括等待 Pod 被调度的时间和通过网络下载镜像的时间。

Running    Pod 已经绑定到了某个节点,Pod 中所有的容器都已被创建。至少有一个容器仍在运行,或者正处于启动或重启状态。

Succeeded    Pod 中的所有容器都已成功终止,并且不会再重启。

Failed    Pod 中的所有容器都已终止,并且至少有一个容器是因为失败终止。也就是说,容器以非 0 状态退出或者被系统终止。

Unknown    因为某些原因无法取得 Pod 的状态。这种情况通常是因为与 Pod 所在主机通信失败。


创建Pod

下面的Pod示例由一个运行nginx:1.14.2的容器组成          

vi nginx1.14.2.yaml

image.gif

 

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx1.14.2
    image: nginx:1.14.2
    ports:
    - containerPort: 80

image.gif

 

kubectl apply -f nginx1.14.2.yaml

image.gif

查看pod所有的命名空间

kubectl get pod --all-namespaces

image.gif


查看default命名空间中的pods

kubectl get pods

image.gif

查看命名空间中的pods

kubectl get pods -n 命名空间

image.gif


查看Pod详细状况

kubectl describe pod 名称

image.gif


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1天前
|
Kubernetes API 调度
Kubernetes详解(十五)——Pod对象创建过程
Kubernetes详解(十五)——Pod对象创建过程
14 4
|
1天前
|
Kubernetes API 调度
Kubernetes详解(十四)——Pod对象生命周期
Kubernetes详解(十四)——Pod对象生命周期
10 3
|
1天前
|
Kubernetes Linux 调度
Kubernetes详解(十三)——Pod详解
Kubernetes详解(十三)——Pod详解
13 3
|
2天前
|
运维 Kubernetes Linux
Kubernetes详解(十)——Pod对象高级控制命令
Kubernetes详解(十)——Pod对象高级控制命令
11 0
|
3天前
|
存储 Kubernetes Docker
容器服务Kubernetes版产品使用合集之集群节点和 pod 实现自动扩缩容如何解决
容器服务Kubernetes版,作为阿里云提供的核心服务之一,旨在帮助企业及开发者高效管理和运行Kubernetes集群,实现应用的容器化与微服务化。以下是关于使用这些服务的一些建议和合集,涵盖基本操作、最佳实践、以及一些高级功能的使用方法。
23 2
|
3天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes学习-深入Pod篇(一) 创建Pod,Pod配置文件详解
Kubernetes学习-深入Pod篇(一) 创建Pod,Pod配置文件详解
|
3天前
|
运维 Kubernetes Linux
Kubernetes详解(九)——资源配置清单创建Pod实战
Kubernetes详解(九)——资源配置清单创建Pod实战
19 2
|
3天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes详解(六)——Pod对象部署和应用
在Kubernetes系列中,本文聚焦Pod对象的部署和管理。首先,通过`kubectl run`命令创建Pod,如`kubectl run pod-test --image=nginx:1.12 --port=80 --replicas=1`。接着,使用`kubectl get deployment`或`kubectl get pods`查看Pod信息,添加`-o wide`参数获取详细详情。然后,利用Pod的IP地址进行访问。最后,用`kubectl delete pods [Pod名]`删除Pod,但因Controller控制器,删除后Pod可能自动重建。了解更多细节,请参阅原文链接。
14 5
|
3天前
|
Kubernetes Perl 容器
在 Kubernetes 中重启 pod 的 3 种方法
【4月更文挑战第25天】
66 1
在 Kubernetes 中重启 pod 的 3 种方法
|
3天前
|
Kubernetes 网络协议 调度
kubernetes最小调度单元pod详解(二)
kubernetes最小调度单元pod详解(二)

推荐镜像

更多