K8S最小调度单位Pod

云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes

云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_02

我们不直接操作容器container
一个 pod 里可包含一或多个container,共享一个 namespace(用户,网络,存储等),其中的进程之间通过 localhost 本地通信

  • 创建一个 yml 文件,并创建
kubectl create -f pod_nginx.yml

云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_03

kubectl get pods

第一次运行状态字段为 pull,因为要先拉取 nginx 的 image,ready
云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_04

  • 查看 docker 面板,已经成功拉取下来 nginx 镜像,再次查看云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_05
  • ready 为 1,说明已启动云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_06
    pod 里面现在运行了一个 nginx 的 container,查看详情
kubectl get pods -o wide

云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_07

如果想进入容器咋办呢?查看他的 imageid云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_08

  • 直接点击 cli 工具进入
    云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_09
    但是我们必须通过 dockercli 才能访问里面的 nginx,无法在本地命令行直接通信云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_10
    云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_11
    云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_12

那如何才能映射一个可访问的 ip,让我们在本地也能与 nginx 通信呢?
云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_13

云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_14
但这样如果把该命令停止,就会无法访问了。

删除 pod
kubectl delete -f pod_nginx.yml

云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_15
云原生容器实战(二)-Kubernetes调度单位Pod_Docker && Kubernetes_16