k8s的pod详解

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 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


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
JSON Kubernetes Shell
【Azure K8S | AKS】在不丢失文件/不影响POD运行的情况下增加PVC的大小
【Azure K8S | AKS】在不丢失文件/不影响POD运行的情况下增加PVC的大小
|
1月前
|
Kubernetes Shell Perl
【Azure K8S|AKS】进入AKS的POD中查看文件,例如PVC Volume Mounts使用情况
【Azure K8S|AKS】进入AKS的POD中查看文件,例如PVC Volume Mounts使用情况
|
1月前
|
Kubernetes Docker Perl
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
|
1月前
|
Kubernetes 安全 Docker
在K8S中,在服务上线的时候Pod起不来怎么进行排查?
在K8S中,在服务上线的时候Pod起不来怎么进行排查?
|
1月前
|
存储 Kubernetes 调度
在K8S中,⼀个pod的不同container能够分开被调动到不同的节点上吗?
在K8S中,⼀个pod的不同container能够分开被调动到不同的节点上吗?
|
1月前
|
消息中间件 Kubernetes 容器
在K8S中,同⼀个Pod的不同容器互相可以访问是怎么做到的?
在K8S中,同⼀个Pod的不同容器互相可以访问是怎么做到的?
|
1月前
|
存储 Kubernetes 数据中心
在K8S中,同⼀个Pod内不同容器哪些资源是共用的,哪些资源是隔离的?
在K8S中,同⼀个Pod内不同容器哪些资源是共用的,哪些资源是隔离的?
|
1月前
|
Kubernetes 负载均衡 网络协议
在K8S中,Pod的探针有哪些及用途?
在K8S中,Pod的探针有哪些及用途?
|
1月前
|
Kubernetes 监控 Perl
在K8S中,Pod⼀直处于Init状态,如何排查?
在K8S中,Pod⼀直处于Init状态,如何排查?
|
1月前
|
Prometheus Kubernetes 监控
在K8S中,Pod处于OOM状态如何排查?
在K8S中,Pod处于OOM状态如何排查?