Kubernetes 家族容器小管家 Pod 在线答疑❓
不晓得学习 k8s 的小伙伴们有没有跟我一样的疑难?
k8s 为什么不是间接运行容器,而是让 Pod 染指?
Pod 又是什么?为什么在利用容器化如此广泛的状况下 k8s 要推出 Pod 概念?
小葵花 Pod 课堂开课啦
本文次要了解的一个外围点,什么是 Pod?咱们先不关注 Pod 怎么应用,怎么调度,如何实现最佳实际。这些问题后续持续探讨,在不懂为什么 k8s 要有 Pod 的状况下,去先深究最佳实际没有实际意义。
囧么肥事 -k8s 专场
Pod 官网定义
Pod 是能够在 Kubernetes 中创立和治理的、最小的可部署的计算单元。
Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器
这些容器共享存储、网络、以及怎么运行这些容器的申明。
Pod 中的内容总是并置(colocated)的并且一起调度,在共享的上下文中运行。
Pod 所建模的是特定于利用的“逻辑主机”,
其中蕴含一个或多个利用容器,
这些容器是绝对严密的耦合在一起的。
Linux 命名空间、cgroups
*namespace*
Linux namespace 提供了一种 内核级别隔离系统资源 的办法,通过将零碎的 全局资源 放在 不同的 namespace中来实现资源隔离的目标.Linux 中 六类系统资源的隔离机制:
● Mount: 隔离 文件系统挂载点
● UTS: 隔离 主机名和域名信息
● IPC: 隔离 过程间通信
● PID: 隔离 过程的 ID
● NetWork: 隔离 网络资源
● User: 隔离 用户和用户组的 ID
cgroups
cgroups 限度一个过程组 可能应用的资源下限,包含 CPU
, 内存, 磁盘, 网络带宽等,同时能够设置过程优先级, 以及将过程挂起和复原等。
docker 角度了解 Pod
Pod 的共享上下文包含一组 Linux 名字空间、控制组(cgroup)和可能一些其余的隔离 方面,即用来隔离 Docker 容器的技术。在 Pod 的上下文中,每个独立的利用可能会进一步施行隔离。
就 Docker 概念的术语而言,Pod 相似于共享名字空间和文件系统卷的一组 Docker 容器。
Pod 中多个容器如何协调?
Pod 被设计成反对造成 内聚服务单元的多个合作过程(模式为容器)。
Pod 中的容器被主动安顿到集群中的 同一物理机或虚拟机上 ,并能够 一起进行调度。
容器之间能够 共享资源和依赖、彼此通信、协调何时以及何种形式终止本身。
例如,你可能有一个容器,为共享卷中的文件提供 Web 服务器反对,以及一个独自的“sidecar(挂斗)”容器负责从远端更新这些文件,如下图所示:
如何了解 Pod 共享上下文?
一个 Pod 的共享上下文是Linux 命名空间、cgroups 和其它潜在隔离内容的汇合。在 Pod 中,容器共享一个 IP 地址和端口空间,它们能够通过 localhost 发现彼此。
在 同一个 Pod中的容器,能够应用 System V 或 POSIX 信号 进行规范的 过程间通信和共享内存。
在 不同 Pod中的容器,领有 不同的 IP 地址 ,因而不可能间接在过程间进行通信。容器间通常 应用 Pod IP 地址进行通信。
Pod 的上下文能够了解成多个 linux 命名空间的联结:
● PID 命名空间(同一个 Pod 中利用能够看到其它过程)
● 网络 命名空间(同一个 Pod 的中的利用对雷同的 IP 地址和端口有权限)
● IPC 命名空间(同一个 Pod 中的利用能够通过 VPC 或者 POSIX 进行通信)
● UTS 命名空间(同一个 Pod 中的利用共享一个主机名称)
《Kubernetes- 企业级容器利用托管》- 继续胡言乱语
第一段:举荐浏览:【云原生新时代弄潮儿 k8s 凭什么在容器化方面自成一家?】
第二段:举荐浏览:【趁着共事玩游戏偷偷意识 k8s 一家子补补课】
第三段:举荐浏览:【Kubernetes 家族容器小管家 Pod 在线答疑❓】
第四段:举荐浏览:【共事提出个我从未想过的问题,为什么 Kubernetes 要 ” 多此一举 ” 推出动态 Pod 概念?】
第五段:举荐浏览:【探针配置失误,线上容器利用异样死锁后,kubernetes 集群未及时响应自愈重启容器?】
第六段:举荐浏览:【kubernetes 集群之 Pod 说能不能让我体面的沦亡呀?】
第七段:举荐浏览:【k8s 家族 Pod 辅助小能手 Init 容器认知答疑?】
第八段:待更新?举荐休闲浏览:【囧么肥事】