k8s 核心Api Pod

75 阅读1分钟

为什么需要Pod

容器的本质是进程,Pod 的本质是共享网络和存储的一组进程

一般应用有关系比较亲密进程,其实就是共享网络和存储的,所以需要Pod。

通过创建一个infra容器,让Pod中的应用容器加入他的namespace,共享网络和存储

Pod的地位

image.png

从图中可看到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 注意 --