1.Pod基本概念
Pod 存在的意义:pod为亲密性应用而存在
两个容器之间发生文件交互的容器,
两个应用需要通过127.0.0.1或者socket通信(共享网络)
两个应用需要频繁发生调用
最小的部署单元:以Pod为最小原子调度
一组容器的集合:一个pod可以运行多个容器
实验一:验证pod共享网络
cat 123.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
app: my-pod
name: my-pod
namespace: default
spec:
containers:
- image: nginx
name: nginx #创建容器一
image: nginx
- image: java-demo
name: java #创建容器二
image: zhangfan5391621/java-demo:latest
创建pod
kubectl apply -f 123.yaml
kubectl exec -it my-pod -c java bash #进入容器查看网络
kubectl exec -it my-pod -c nginx bash #进入第二个容器
会发现 两个容器都是同一个ip,说明一个pod下所有的容器都是共享网络,个pod中的容器共享网络命名空间
实验二:验证pod共享数据存储
cat aaa.yaml
apiVersion: v1
kind: Pod
metadata:
name: my-pod-vs
spec:
containers:
- name: write
image: centos:7
command: ["bash","-c","for i in {1..100};do echo $i >> /data/hello;sleep 1;done"]
volumeMounts:
- name: data
mountPath: /data
- name: read
image: centos:7
command: ["bash","-c","tail -f /data/hello"]
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
emptyDir: {}
kubectl exec -it my-pod-vs -c write bash
kubectl logs -f my-pod-vs -c read
可以看到一个容器在写数据一个容器在度数据,pod之间的数据实时共享
生命周期是短暂的