为什么需要Pod
容器的本质是进程,Pod 的本质是共享网络和存储的一组进程
一般应用有关系比较亲密进程,其实就是共享网络和存储的,所以需要Pod。
通过创建一个infra容器,让Pod中的应用容器加入他的namespace,共享网络和存储
Pod的地位
从图中可看到Pod在整个k8s环境中的地位
Pod操作
busy-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: busy-pod
labels:
owner: chrono
env: demo
region: north
tier: back
spec:
containers:
- image: busybox:latest
name: busy
imagePullPolicy: IfNotPresent
env:
- name: os
value: "ubuntu"
- name: debug
value: "on"
command:
- /bin/echo
args:
- "$(os), $(debug)"
kubectl apply -f busy-pod.yml # 创建pod
kubectl delete -f busy-pod.yml # 删除 pod
kubectl delete pod busy-pod # 通过pod名称删除pod
kubectl logs busy-pod # 查看容器日志
kubectl get pod # 查看pod状态
kubectl describe pod busy-pod # 查看podevent,调试使用
kubectl cp a.txt busy-pod:/tmp # cp内容到pod 类似 docker cp
kubectl exec -it ngx-pod -- sh # 类似docker exec 注意 --