文章目录
这里是我自己写的一个 “小白学习 kubernetes” 的一个目录导航!跟我一样的小白可以跟着导航一起进行学习:
kubernetes 学习导航:
【因为我是刚接触k8s,通过查阅资料、看视频等整理的,哪里有误希望大佬多多指点,感谢!】
☆ Pod —— k8s 的最小调度资源
kubernetes 并不直接运行容器,而是使用一个抽象的资源对象来封装容器 —— Pod !
Pod :1)、 由一个或多个容器组成;
2)、是 k8s 的最小调度单元(作为最小的调度单元,它尽量保持很小,所以它通常只包括一个主容器和必要的辅助容器。)
3)、同一 Pod 中的容器共享 network、namespace、storage、,但是彼此之间又在mount、user、pid等(这是三种名称空间) 上进行了隔离!
4)、定义容器运行的方式(command、环境变量等…)
如图所示,这就是一个 Pod:
"Pod" —— 集合了一到多个应用容器、存储资源、专用ip、及一些支撑容器运行的其他组件!
k8s 集群将所有节点上的资源都整合到一个大的虚拟资源池里,然后开放诸如 CPU、mem、i/o 等基本资源来运行集群的基本单元 —— Pod。Pod 中的容器中运行着隔离的任务单元, 它们以 Pod 为原子单位,并根据其资源需求从虚拟资源池中为其动态分配资源。
假如,将整个集群比作一台服务器,那么 Master 好比是 操作系统内核,其主要职责在与抽象资源并调度任务,而 Pod资源对象 就是那些运行于用户空间中的各种进程。
Pod 之间通信:
k8s 的网络模型要求:各 Pod 的 ip地址 处于同一个网段!各 Pod 之间可以直接使用其 IP地址 进行通信,无论他们运行于集群的哪个节点上面!所以,他们相当于同一个局域网的多个主机!!!
Pod 的两种关键共享资源:
①、Network(网络): 每个 Pod对象 都会被分配给一个 集群内专用的IP地址,称之为 “Pod IP”,同一个 Pod 中的 所有 Container 共享 Pod对象 的network和 UTS名称空间(UTS:主机名和域名),还有端口。
Pod内 Container 间的通信: 通过 本地回环接口 lo 即可通信。
Container 与 Pod外 的组件通信: 需要使用 service资源对象 的 ClusterIP 及其相应的 端口 完成。
②、Volume(存储卷): 用户可以为 “Pod对象” 配置一组 “存储卷资源”,这些存储卷资源可以 共享 给 该Pod中的所有Cont