原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3879151.html 在SparkContext创建过程中会调用createTaskScheduler函数来启动TaskScheduler任务调度器,本文就详细分析TaskScheduler的工作原理: TaskScheduler会根据部署方式而选择不同的SchedulerBackend来处理 下图展示了TaskScheduler.TaskSchedulerImpl.SchedulerBackend等…
本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 目录 一.创建bean的实例 1. autowireConstructor 2 . instantiateBean 3 . 实例化策略 二.记录创建bean的ObjectFactory 三.属性注入 1. autowireByName 2. autowireByType 3. applyPropertyValues 四.初始化bean 1. 激活 Aware 方法 2. 处理器的应用…
在K8s中创建StatefulSet 遇到的问题: 使用Deployment创建的Pod是无状态的,当挂在Volume之后,如果该Pod挂了,Replication Controller会再run一个来保证可用性,但是由于是无状态的,Pod挂了的时候与之前的Volume的关系就已经断开了,新起来的Pod无法找到之前的Pod.但是对于用户而言,他们对底层的Pod挂了没有感知,但是当Pod挂了之后就无法再使用之前挂载的磁盘了. 解决方案 使用K8s v1.5版本推出的StatefulSet可以保留P…
在K8s中创建StatefulSet 遇到的问题: 使用Deployment创建的Pod是无状态的,当挂在Volume之后,如果该Pod挂了,Replication Controller会再run一个来保证可用性,但是由于是无状态的,Pod挂了的时候与之前的Volume的关系就已经断开了,新起来的Pod无法找到之前的Pod.但是对于用户而言,他们对底层的Pod挂了没有感知,但是当Pod挂了之后就无法再使用之前挂载的磁盘了. 解决方案 使用K8s v1.5版本推出的StatefulSet可以保留P…
k8s中Pod的理解 基本概念 k8s 为什么使用 Pod 作为最小的管理单元 如何使用 Pod 1.自主式 Pod 2.控制器管理的 Pod 静态 Pod Pod的生命周期 Pod 如何直接暴露服务 hostNetwork hostPort hostNetwork 和 hostPort 的对比 Label 亲和性调度 什么是亲和(affinity)与反亲和(anti-affinity)调度 Node 亲和性调度策略 Pod 亲和性调度 NodeSelector 定向调度 资源限制 Pod 的持…
在使用Selector时首先需要通过静态方法open创建Selector对象 public static Selector open() throws IOException { return SelectorProvider.provider().openSelector(); } 可以看到首先是调用SelectorProvider的静态方法provider,得到一个Selector的提供者 public static SelectorProvider provider() { synchro…
NioEventLoopGroup的无参构造: public NioEventLoopGroup() { this(0); } 调用了单参的构造: public NioEventLoopGroup(int nThreads) { this(nThreads, (Executor)null); } 继续看到双参构造: public NioEventLoopGroup(int nThreads, Executor executor) { this(nThreads, executor, Select…
作者 | 车漾  阿里巴巴高级技术专家 本文整理自<CNCF x Alibaba 云原生技术公开课>第 20 讲. 关注"阿里巴巴云原生"公众号,回复关键词"入门",即可下载从零入门 K8s 系列文章 PPT. 导读:2016 年,随着 AlphaGo 的走红和 TensorFlow 项目的异军突起,一场名为 AI 的技术革命迅速从学术圈蔓延到了工业界,所谓 AI 革命从此拉开了帷幕.该热潮的背后推手正是云计算的普及和算力的巨大提升. 需求来源 经过近几…
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 在使用job中,我会结合源码进行一定的讲解,我们也可以从源码中一窥究竟,一些细节k8s是如何处理的,从而感受k8s的魅力.源码版本是1.19 Job Job的基本使用 Job主要是用来任务调用,可以一个或多个 Pod,并确保指定数量的 Pod 可以成功执行到进程正常结束. 创建一个Job: apiVersion: batch/v1 kind: Job metadata: name: p…
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 源码版本是1.19 kubelet信息量是很大的,通过我这一篇文章肯定是讲不全的,大家可以根据自己的情况到Reference或文章的链接补录自己缺失的知识. kubelet 主要功能 在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器. pod 管理 Kubelet 以 PodSpec 的方式工作…