k8s各个服务和执行流程介绍
Master节点部署的都是kubernetes的核心模块
APIServer
提供资源操作的唯一入口,并且提供认证/授权/kubernets的访问控制
可以通过kubectl和自己开发的客户端,通过http的请求通过restapi的形式来访问apiserver,从而实现对整个集群的控制
ControllerManager
负责维护整个集群的状态,如,故障检测/扩缩容/滚动更新等
Scheduler
负责资源的调度,按照预定的调度策略,把pod调度到相应的node节点
K8s有丰富的调度策略
Etcd
主要用于一致性存储,保存pod/service和集群的状态等信息
相当于k8s集群需要持久化的数据都会存储在etcd
Kube-dns
负责整个集群的dns服务,但并不是必须的,若不需要通过名字来访问,可以不安装kube-dns,但通常会安装,因为通过名字访问是一个比较重要的功能
Node节点的服务
Kubelet
维护当前节点的容器的生命周期,维护当前节点的volume/网络等的管理
Kube-proxy
每个node都会运行一个kube-proxy,提供内部的服务发现和负载均衡,为service的概念提供一个落地的方法
Kube-dns
负责整个集群的dns服务,但并不是必须的,若不需要通过名字来访问,可以不安装kube-dns,但通常会安装,因为通过名字访问是一个比较重要的功能
Dashboard
提供一个集群相关数据展示和操作的ui界面
整体访问流程
用户执行kubectl/userClient向apiserver发起一个命令,经过认证授权后,经过scheduler的各种策略,得到一个目标node,然后告诉apiserver,apiserver 会请求相关node的kubelet,通过kubelet把pod运行起来,apiserver还会将pod的信息保存在etcd;pod运行起来后,controllermanager就会负责管理pod的状态,如,若pod挂了,controllermanager就会重新创建一个一样的pod,或者像扩缩容等;pod有一个独立的ip地址,但pod的IP是易变的,如异常重启,或服务升级的时候,IP都会变,这就有了service;完成service工作的具体模块是kube-proxy;在每个node上都会有一个kube-proxy,在任何一个节点上访问一个service的虚拟ip,都可以访问到pod;service的IP可以在集群内部访问到,在集群外呢?service可以把服务端口暴露在当前的node上,外面的请求直接访问到node上的端口就可以访问到service了;
k8s各个服务和执行流程介绍的更多相关文章
- ASP.NET MVC 执行流程介绍
Routing 组件 Controller Controller中可用的ActionResult MVC-View(使用的抽象工厂模式的视图引擎) 视图模型
- {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证
Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...
- springmvc执行流程详细介绍
1.什么是MVC MVC是Model View Controller的缩写,它是一个设计模式 2.springmvc执行流程详细介绍 第一步:发起请求到前端控制器(DispatcherServlet) ...
- MyBatis执行流程的各阶段介绍
目录 一.mybatis极简示例 1.1 创建mybatis配置文件 1.2 创建数据库表 1.3 创建javabean 1.4 创建mapper映射文件 1.5 运行测试 二.mybatis的几大“ ...
- drf-day3——drf整体流程、APIView执行流程及源码分析、Request对象源码分析、序列化器介绍和使用、反序列化的使用、反序列化的校验
目录 一.drf 整体内容 二.APIView执行流程--源码分析(难,了解) 2.1 基于APIView+JsonResponse编写接口 2.2 基于APIView+Response 写接口 2. ...
- Netty执行流程分析与重要组件介绍
一.环境搭建 创建工程,引入Netty依赖 二.基于Netty的请求响应Demo 1.TestHttpServerHandle 处理器.读取客户端发送过来的请求,并且向客户端返回hello worl ...
- 追源索骥:透过源码看懂Flink核心框架的执行流程
li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt, ...
- 透过源码看懂Flink核心框架的执行流程
前言 Flink是大数据处理领域最近很火的一个开源的分布式.高性能的流式处理框架,其对数据的处理可以达到毫秒级别.本文以一个来自官网的WordCount例子为引,全面阐述flink的核心架构及执行流程 ...
- kbengine Unity3d demo 代码执行流程(4)
当服务端成功启动,客户端链接服务端后进入demo中的游戏界面,demo中的功能包括注册.登录.角色管理.战斗.场景等等. 对于新接触kbengine的人,看见客户端的代码后会觉得很迷茫,有些无从下手. ...
- Hibernate执行流程和关系映射
一.Hibernate的执行流程 hibernate作为一个ORM框架,它封装了大量数据库底层的sql语句操作的方法,这样在执行hibernate的过程中理解hibernate的执行流程很有必要. 由 ...
随机推荐
- linux移植问题记录
问题一 ~/linux/linux-5.2.8$ make s3c2410_defconfig HOSTCC scripts/basic/fixdep/bin/sh: 1: scripts/bas ...
- Django框架大全
Django框架大全 django数据模型models中on_delete, db_constraint的使用 第一篇:Django简介 第二篇:Django之路由层 第三篇:Django之视图层 第 ...
- jenkins配置自动化
1.自定义jenkins自定义工作空间 --从SVN获取的项目会更新到对应空间 2.安装svn插件,填写项目地址 3.构建定时触发器,每天23点执行 4.执行调用用例脚本,解决测试报告样式展示问题 5 ...
- sort使用
用sort对结构体进行排序步骤如下 1.先写c++头文件 # include<iostream># include<algorithm> //这个是sort的头文件 using ...
- Telerik GridView ----Pdf
ExportToPDF exporter = new ExportToPDF(this.radGridView1); exporter.FileExtension = "pdf"; ...
- ssr 学习总结
自己构建ssr 前提:了解 koa, koa-router, koa-static, webpack 文件结构 ssr 中的router store 都是 一个工厂函数 在服务器端渲染(SSR) ...
- apollo兼容mysql的时候报错Table 'apolloportaldb.hibernate_sequence' doesn't exist
解决方案: 配置文件里加: spring.jpa.properties.hibernate.hbm2ddl.auto=update
- 添加matlab到右键菜单并从当前目录打开
前言 因为每次打开matlab都得切换一下工作目录,由于目录不固定,所以感觉会很麻烦,所以就想着怎么添加matlab到右键菜单,并从指定目录打开,不过网上没有关于怎么设置这个的,不过却又很多设置cm ...
- Java集合-Set接口
Set接口-介绍 Set接口的定义如下: Set是一个继承于Collection的接口,即Set也是集合中的一种.Set是没有重复元素的集合.即: Set 接口:无序,不支持索引,不可重复的集合 Se ...
- Windows10 WSL开启SSH登录
1.wsl 安装ssh服务(使用的是ubuntu)sudo apt install openssh-server 2.修改配置文件sudo vim /etc/ssh/sshd_config关键的几处修 ...