Kubernetes Pod


Pod 是容器及其存储在 Kubernetes 集群节点内的集合,可以创建一个包含多个容器的 pod。例如,将数据库容器和数据容器保存在同一个 Pod 中。

Pod 的类型


有两种类型的 Pod:

  • 单容器 Pod

  • 多容器 Pod

单容器 Pod

它们可以简单地使用 kubctl run 命令创建,在 Docker 注册表中定义了一个镜像,将在创建 pod 时提取该镜像。

$ kubectl run <name of pod> --image=<name of the image from registry>

例子: 使用 Docker hub 上提供的 tomcat 镜像创建一个 pod:

$ kubectl run tomcat --image = tomcat:8.0

也可以通过创建yaml文件然后运行kubectl命令创建:

apiVersion: v1
kind: Pod
metadata:
    name: Tomcat
spec:
    containers:
    - name: Tomcat
    image: tomcat: 8.0
    ports:
containerPort: 7500
    imagePullPolicy: Always

一旦上述yaml文件创建完毕,将以tomcat.yml的名字保存该文件,并运行创建命令来运行该文件。

$ kubectl create –f tomcat.yml

它将创建一个名字为tomcat的pod,我们可以使用describe和kubectl来描述这个pod。

多容器 Pod

多容器 Pod 是使用yaml mail创建的,其中有容器的定义。

apiVersion: v1
kind: Pod
metadata:
    name: Tomcat
spec:
    containers:
    - name: Tomcat
    image: tomcat: 8.0
    ports:
containerPort: 7500
    imagePullPolicy: Always
    -name: Database
    Image: mongoDB
    Ports:
containerPort: 7501
    imagePullPolicy: Always

上面的代码创建了一个 pod,里面有两个容器,一个用于 tomcat,另一个用于 MongoDB。