一. Pod原理及用法简要说明
Pod:是K8S中最小的应用单元,可以包含多个容器,多个容器组成一个应用。
Pod其实是一组共享了某些资源的容器。具体的说,Pod里所有容器共享了一个Network Namespaces,并且可以声明共享同一个volume。除此之外,为了更好地处理Pod中容器之间的关系,还使用了一个中间容器,Infra容器。在这个Pod中Infra容器永远是第一个被创建的容器,用户定义的其他容器则通过Join Network Namespace的方式与Infra 容器关联在一起。
如下图所示:
1. 辅助容器
利用Java war包与web应用之间的关系,组合一个Pod.
YAML 配置如下方:
apiVersion: v1
kind: Pod
metadata:
name: javaweb-2
spec:
initContainers:
- image: geektime/sample:v2
name: war
command: ["cp", "/sample.war", "/app"]
volumeMounts:
- mountPath: /app
name: app-volume
containers:
- image: geektime/tomcat:7.0
name: tomcat
command: ["sh","-c","/root/apache-tomcat-7.0.42-v2/bin/start