kubernetes(K8s)
1、应用程序: 单体------------分层-------------微服务(服务与服务调用为非静态)
2、动态服务发现
服务注册与服务发现的典型应用形式:不同服务的调用不是通过配置文件进行查询,而是通过服务总线(高可用),在总线中查询到需要服务信息后,调用对应服务,若对应服务访问有问题,超时,则服务将再次查询总线,看是否存在相同功能的服务节点,进行访问
3、服务编排系统(规划部署问题):一组主机(集群),主机上运行一个服务编排系统,需要运行主机时候,这个系统会自己根据自己所检测到主机中最适合运行服务的节点,自动部署上去并运行起来

4、容器:解决底层系统环境是否满足应用程序所需运行环境,一次打包,多次运行
5、容器编排系统:容器仅提供托管运行应用底层逻辑;容器编排才真正产生生产价值;容器生命周期的管理;自动扩缩容;容器应用的自动布局,协同,管理
6、扩容:后端被调度的realserver节点不够了,就需要扩容
7、k8s集群节点:多个Master为了备用

8、k8s的运行单元:pod
9、结构:k8s的组成部分,中间mater跟node,在Node上运行容器
管理客户端(向k8s创建容器) k8s 仓库

10、mater由多个组件组成,每个组件都要运行一个守护进程,etcd:保存应用配置信息的守护进程

11、k8s的mater提供声明式API,只需声明结果即可;接受声明后,controller真正负责执行并监控,核心组件,由controller loop控制循环确保每个客户端创建的资源是正常状态,死循环;scheduler调度器;API server 整个k8s唯一接受客户端请求的接口;
12、k8s资源两种不同状态:(1)用户期望的状态,保存在etcd中(2)当前实际状态,具体执行结果状态,输出
13、etcd是支持任何格式的k/v数据,但API server对etcd存储数据的能力进行进一步规范化,使得用户能够存进 api server只能是符合api server所支持的资源属性的数据
14、调度器将某个容器分配给某个node,并将结果存到etcd但调度器不直接调度node,node上有个组件kubelet自动watch API server上资源变动,便可知晓是否由自己运行该容器,此时,调度node 的docker,docker寻找镜像,启动容器,k8s标准支持docker

15、pod(本身是一组件,原子单元)是容器的多一层外壳,一个pod可有多个容器,k8s运行的核心基本单元
16、容器是利用内核中6种控件技术来实现运行环境的隔离:PID、Network,mount,IPC,USER,UTS
网络模型:closed,bridge,joined,host
17、同个pod的不同容器共享IPC,Network,UTS,同时也共享同个网卡,每个pod有个基础容器,基础架构容器(infra)
infra可使用存储卷,不同容器加入infra后可以共享存储卷(挂载后可用)
18、docker容器可以使用存储卷(系统外的存储空间)
19、存储卷的使用方式:(1)绑定挂载卷(人为) (2)docker管理卷(docker)
20、
21、对象式编程语言:以数据为中心,代码服务于数据
数据:对象
代码:方法
class
22、k8s API:REST API(http/https)
resource(相当于对象式编程的class)(抽象化属性) -> object
method:get ,post,delete,patch....(对对象的增删改查,方法的限制)
23、k8s常用的资源类型:pod,Service,Namespace(名称空间),Volume(存储卷)
控制器对象(建立在基础对象之上):ReplicaSET,Deployment,DaemonSet,StatefulSet, Job
24、pod controller(用户直接操作)
25、service:pod的Ip为动态分配,客户端访问service,由service(调度器)反代给pod,service也有Ip 叫service IP
service IP一般不发生改变,除非被删除后重建

26、label(label selector):标签,service关联pod,使用标签,新建pod的ip会改变,标签不会改变,service筛选后获取ip
27、K8S另外一个重要副件:DNS(动态,service被重建时,service的名称跟IP会被动态注册到DNS)
28、service查询的服务端(pod1访问pd2,Pod1在service查询pod2的IP,pod1直接访问pod2)
三大网络: service 网络,pod网络,节点网络

29、k8s部署:


30、部署方式一:运行为守护进程

部署方式二:运行为容器
容器的镜像保存在gcr.io:即为 谷歌镜像仓库

31、控制平面三大组件:
(1)API SERVER(创建pod):默认监听master主机节点地址的6443端口;用户认证,双向认证
(2)Scheduler
(3)Controller:
浙公网安备 33010602011771号