基本概念
容器的本质
- 一个视图被隔离、资源受限的进程
- 容器里
PID=1的进程就是应用本身 - 管理虚拟机=管理基础设施
- 管理容器=直接管理应用本身
- 容器里
什么是
kubernetes
- 云时代的操作系统
- 以此类推,容器镜像->操作系统的软件安装包
- 容器 -> 系统进程
Pod-> 线程组(一个pod可以包含多个容器)
pod
为什么需要
pod?
首先容器是单进程模型,容器的PID=1的进程应为应用本身进程
其次同一容器内启动多个进程,难以管理进程生命周期,也起不到隔离作用(ns,cgroup)
尽可能遵循: 一个容器只做一件事
同一
pod网络共享
通过infra容器实现:
同一pod内的容器挂载infra容器(k8s.gcr.io/pause)的网络命名空间,实现网络共享
同一pod内的容器通信地址为localhost
同一pod内的容器共享同一ip地址,端口不可重复