Kubernetes(简称K8S) 是Google开源的分布式的容器管理平台,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。本文主要介绍Kubernetes(K8s) pod。

1、Kubernetes pod

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

2、创建 pod

pod有两种类型分为单容器pod和多容器pod

1)单容器pod

可以简单地用kubctl run命令创建,在Docker registry 中有一个定义的image,我们将在创建pod时拉取。

$ kubectl run <podname> --image=<imagename>

例如,

$ kubectl run tomcat --image = tomcat:8.0

也可以通过创建yaml文件,然后运行kubectl create命令来完成:

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

创建了上面的yaml文件,则可将以tomcat的名称保存该文件。然后运行create命令运行:

$ kubectl create –f tomcat.yaml

2)多容器pod

使用yaml和容器的定义创建多个容器pod:

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

在上面的代码中,通过yaml文件创建了一个pod,其中包含两个容器,一个用于tomcat,另一个用于MongoDB。

推荐文档