k8s查看pod的yaml文件_Kubernetes Pod操作篇

前言

在上文Kubernetes入门篇中对kubernetes有一个初步的介绍,本文继续介绍kubernetes的核心组件Pod,当然还是以实际操作为主;另外说明一点的是本系列是本人的学习笔记。

Pod介绍

Pod是Kubernetes中最为重要的核心概念,代表了Kubernetes中的基本构建模块;一个Pod可以包含一个容器或者多个容器,Pod本身是轻量级的,所以经常会创建很多Pod,紧密相关的容器进程经常放到同一个Pod中;一个Pod中的容器运行于相同的Network命名空间中,因此它们共享相同的IP地址和端口空间;Kubernetes集群中的所有Pod都在同一个共享网络地址空间中,每个Pod都可以通过其他Pod的IP地址来实现相互访问,就像局域网上的计算机一样。

1.创建Pod

Pod和其他Kubernetes资源通常是通过向Kubernetes REST API提供JSON或YAML描述文件来创建的,当然还有如kubectl run类似的简单命令,只不过配置属性有限;

1.1 查询Pod描述文件

[d:\k8s]$ kubectl get po kubia-dms8n -o yaml

apiVersion: v1

kind: Pod

metadata:

......

spec:

......

status:

......

-o指定具体的格式,可以是yaml或者json格式;描述文件主要包括apiVersion,kind,metadata,spec以及status这几块:

apiVersion:Kubernetes API版本;

kind:Kubernetes对象资源类型;

metadata:包括名称、命名空间、标签和关于该容器的其他信息;

spec:包含pod内容的实际说明,例如pod的容器、卷和其他数据;

status:包含运行中的pod的当前信息,例如pod所处的条件、每个容器的描述和状态,以及内部IP和其他基本信息;

1.2 创建YAML描述文件

apiVersion: v1

kind: Pod

metadata:

name: kubia-manual

spec:

containers:

- image: ksfzhaohui/kubia

name: kubia

ports:

- containerPort: 8080

protocol: TCP

kubia-manual为指定的pod的名称,ksfzhaohui/kubia使用的镜像,kubia为容器的名称,8080为应用监听的端口;这里的端口纯粹是展示性的,最终以容器中应用绑定的端口为准;

1.3 创建pod

D:\k8s>kubectl create -f kubia-manual.yaml

pod/kubia-manual created

以上创建了一个名称为kubia-manual的pod,可以查询当前的pod列表:

D:\k8s>kubectl get pods

NAME READY STATUS RESTARTS AGE

kubia-dms8n 1/1 Running 0 25h

kubia-manual 1/1 Running 0 2m8s

kubia-manual已经准备就绪,当然也可以查询指定pod的描述文件(同1.1);

1.4 查看应用日志

D:\k8s>kubectl logs kubia-manual -c kubia

kubia server is starting...

以上表示查询Pod为kubia-manual中

你可能感兴趣的:(k8s查看pod的yaml文件)