---1.Kubernetes概述
1.最初Google开发了1个叫Borg的系统(现在命名为Omega),来调度近20多亿个容器
从2014年第1个版本发布以来,迅速得到了开源社区的追捧,?前,k8s已经成为了发展最快、市
场占有率最高的容器编排引擎产品。
---2.特点
轻量级,资源消耗小
开源
弹性伸缩
负载均衡 IPVS
---3.重要概念
- Cluster是计算、存储和网络资源的集合,Kubernetes利用这些资源运行各种基于容器的应用。
2.Master是Cluster的大脑,它的主要职责是调度,即:决定将应用放在哪里运行。
Master运行Linux操作系统,可以是物理机或者虚拟机。为了实现高可用,可以运行多个Master。
3.Node的职责是运行容器应用.
Node由Master管理,负责监控并汇报容器的状态,同时根据Master的要求管理容器
的生命周期。
Node运行在Linux操作系统上,可以是物理机或者是虚拟机。
---4.Pod是Kubernetes的最小工作单元。每个Pod包含1个或多个容器。Pod中的容器会作为1个整体被Master调度到1个Node上运行。
Pod的作用:按组管理
.k8s以Pod为最小工作单位进行调度、扩展、共享资源、管理生命周期.
---5.容器Container
k8s通常不会直接创建Pod,而是通过Controller来管理Pod的。Controller中定义了Pod的部署
特征,例如:有几个副本、在什么样的Node上运行等。为了满足不同的业务场景。
k8s提供了4种Controller:
5.1 DaemonSet
5.2 StatefulSet
5.3 DaemonSet
5.4 Job
---6.Service 定义了外界访问?组特定Pod的方式
Service有自己的IP和端口,Service为Pod提供了负载均衡.
Controller ——> k8s 运行容器
Service ——> k8s 访问容器
---7.Namespace
为了解决同1个Cluster中,如何区别分开Controller、Pod等资源的问题.
---8. k8s 访问方式:
访问请求--》service-->kube-proxy(转发&负载均衡)--》pod1,pod2,podx