Kubernetes之pod介绍

举报
鲲鹏小玩家 发表于 2020/03/31 19:04:38 2020/03/31
【摘要】 Pod是Kubernetes中能够创建和部署的最小单元,是Kubernetes集群中的一个应用实例,总是部署在同一个节点Node上。Pod中包含了一个或多个容器,还包括了存储、网络等各个容器共享的资源。Pod支持多种容器环境,Docker则是最流行的容器环境。 Pod应用方式• 单容器Pod,最常见的应用方式。• 多容器Pod,对于多容器Pod,Kubernetes会...

PodKubernetes中能够创建和部署的最小单元,是Kubernetes集群中的一个应用实例,总是部署在同一个节点Node上。Pod中包含了一个或多个容器,还包括了存储、网络等各个容器共享的资源。Pod支持多种容器环境,Docker则是最流行的容器环境。

 

Pod应用方式

       单容器Pod,最常见的应用方式。

       多容器Pod,对于多容器PodKubernetes会保证所有的容器都在同一台物理主机或虚拟主机中运行。多容器Pod是相对高阶的使用方式,除非应用耦合特别严重,一般不推荐使用这种方式。一个Pod内的容器共享IP地址和端口范围,容器之间可以通过 localhost 互相访问。

 

image.png

 

Pod的生命周期

像单独的容器应用一样,Pod并不是持久运行的。Pod创建后,Kubernetes为其分配一个UID,并且通过Controller调度到Node中运行,然后Pod一直保持运行状态直到运行正常结束或者被删除。在Node发生故障时,Controller负责将其调度到其他的Node中。KubernetesPod定义了几种状态:

状态

描述

Pending

Pod已创建,正在等待容器创建。经常是正在下载镜像,因为这一步骤最耗费时间。

Running

Pod已经绑定到某个Node并且正在运行。或者可能正在进行意外中断后的重启。

Succeeded

表示Pod中的容器已经正常结束并且不需要重启。

Failed

表示Pod中的容器遇到了错误而终止。

Unknown

因为网络或其他原因,无法获取Pod的状态。

 

Pod的相关操作

1、  创建Pod

华为云购买一台鲲鹏服务器(wrkTomcat部署在同一台鲲鹏服务器上,当然也可以部署在不同的服务

 

使用配置文件的方式创建Pod

    $ kubectl create -f first-pod.yml

first-pod.yml编写内容如下:

apiVersion: v1

kind: Pod

metadata:

    name: first-pod

    labels:

        app: bash

        tir: backend

spec:

    containers:

    - name: bash-container

     image: docker.io/busybox

      command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']

 

2、 查看配置。

如果想了解一个正在运行的Pod的配置,可以通过以下命令获取。

    $ kubectl get pod first-pod -o yaml

3、 查看日志。

可以查看命令行标准输出的日志。

    $ kubectl logs first-pod

    Hello Kubernetes!

如果Pod中有多个容器,查看特定容器的日志需要指定容器名称kubectl logs pod-name -c container-name

4、 查看Pod

    $ kubectl get pods

image.png

5、 查看Pod,带标签。

    $ kubectl get pods

image.png

6、 删除Pod

    $ kubectl delete pods first-pod

    $ kubectl get pods --show-labels

显示如下:

image.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。