Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
Pod 是一组紧密关联的容器集合,它们共享IPC、Network和UTS namespace,是 Kubernetes 调度的基本单元。Pod 的设计理念是支持多个容器在一个 Pod 中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。
一、Pod的定义
这里还是以我们之前做的webapp为例定义一个Pod,这是一个最简单的Pod定义
apiVersion: v1
kind: Pod
metadata:
name: webapp
labels:
app: webapp
spec:
containers:
- name: webapp
image: 172.16.194.135:5000/webapp:latest
ports:
- containerPort: 5000
关于Pod的定义比较重要的就是kind、spec.containers,kind就是定义资源类型、在spec.containers中主要定义容器所使用的镜像,这里可以定义多个容器。
二、Pod的基本使用
在使用Pod前我们需要注意,在Kubernetes中对于长时间运行的容器的要求是:其主程序需要一直在前台运行。如果主程序运行在后台,则Kubernetes会认为Pod执行结束,将会销毁Pod。以webapp镜像为例,它的Dockerfile如下:
FROM java:8
WORKDIR /opt/soft/
EXPOSE 4567
COPY webapp-1.0-SNAPSHOT.jar /opt/soft/webapp.jar
ENTRYPOINT ["java", "-jar", "/opt/soft/webapp.jar"]
接下来,我们尝试一下Pod中多容器的场景,我们的Pod包含两个容器:webapp和busybox,Pod定义如下:
apiVersion: v1
kind: Pod
metadata:
name: webapp
labels:
app: webapp
spec:
containers:
- name: webapp
image: 172.16.194.135:5000/webapp:1.0
ports:
- containerPort: 5000
- name: busybox
image: busybox
command: ["sh", "-c", "top"]
注意:busybox容器中我们定义了启动命令top,这样做就是为了确