rootlh;
码龄10年
关注
提问 私信
  • 博客:234,662
    234,662
    总访问量
  • 109
    原创
  • 399,054
    排名
  • 40
    粉丝
  • 0
    铁粉

个人简介:普通开发者如果习惯于在架构师封装好的东西之上,只专注于做业务开发,那久而久之,在技术理解和成长上就会变得迟钝甚至麻木。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2014-07-06
博客简介:

rootlh的博客

博客描述:
普通开发者如果习惯于在架构师封装好的东西之上,只专注于做业务开发,那久而久之,在技术理解和成长上就会变得迟钝甚至麻木。
查看详细资料
个人成就
  • 获得58次点赞
  • 内容获得25次评论
  • 获得219次收藏
创作历程
  • 18篇
    2020年
  • 15篇
    2019年
  • 5篇
    2018年
  • 83篇
    2017年
成就勋章
TA的专栏
  • Kubernetes
    16篇
  • service mesh
  • Linux
  • tcp
    1篇
  • docker
  • openshift
    2篇
  • Java设计模式
    3篇
  • Java多线程
    12篇
  • MySQL数据库
    5篇
  • JVM调优系列
    8篇
  • JavaWeb开发--Spring
    10篇
  • JavaWeb开发--Servlet
    5篇
  • JavaWeb开发--JDBC
    2篇
  • Java高并发
    12篇
  • Java基础
    17篇
  • 算法和数据结构
    10篇
  • Python数据采集
    1篇
  • android开发
    2篇
  • MySQL
    5篇
  • Oracle数据库
    5篇
  • JavaWeb开发--MyBatis
    1篇
  • RESTful
    2篇
  • python基础
    1篇
  • Nginx
    2篇
  • Redis
    11篇
  • JVM
    2篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

K8S调度器--优先级与抢占机制、亲和性调度、内置调度算法(1.19版本新特性)

一、优先级与抢占机制Kube-scheduler 在调度过程中,每次从调度队列(SchedulingQueue)中取出 Pod,进行一轮调度。那么调度队列中的 Pod 是按照什么顺序入队的呢?Pod 资源对象支持设置优先级(Priority)属性,通过优先级的不同,将优先级高的 Pod 放在调度队列的前面,优先进行调度。如果优先级高的 Pod 调度失败,没有找到合适的节点时,会放入无法调度队列(UnschedulableQueue)中,进入抢占阶段,在下次调度时将节点上优先级低的 Pod 驱逐。如何为
原创
发布博客 2020.10.26 ·
1441 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

K8S调度器--kube-scheduler架构设计和启动流程源码分析

文章目录一、kube-scheduler架构设计二、kube-scheduler组件启动流程一、kube-scheduler架构设计调度器的核心功能是为Pod找到最适合的节点运行。对于小规模集群,每个调度周期会遍历集群中的所有节点,找到最合适节点进行调度。而对于大规模集群,每个调度周期只会遍历集群中的部分节点,在这部分节点中找到最合适的节点进行调度。整个调度流程主要分为预选、优选和绑定三个节点。预选阶段首先过滤掉不符合条件的节点,优选阶段主要对预选阶段筛选后的节点进行打分,绑定阶段将分数最高的节点和
原创
发布博客 2020.10.17 ·
992 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

K8S-APIServer日志报 has no resources 的分析

文章目录一、现象二、源码分析三、APIServer的启动流程对应的源码:1、资源注册2、创建 KubeAPIServer一、现象在生产环境中遇到 api-server 服务发生陆续重启的现象, 查看监控,APIServer 所在的 master 节点的CPU、内存和网络流量发生抖动。在 APIServer 日志中可以看到日志中存在 it has no resources 的警告日志:{"log":"W0814 03:04:44.058851 1 genericapiserver.go:3
原创
发布博客 2020.09.06 ·
2298 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Client-go源码分析(四)WorkQueue

文章目录一、WorkQueue 简介二、WorkQueue 结合 Informer 的完整使用案例三、FIFO 队列四、延迟队列五、限速队列本文为《Kubernetes 源码剖析》读书笔记,书籍简介:http://www.broadview.com.cn/book/6104一、WorkQueue 简介在 Informer 中,Delta FIFO 队列触发 Add、Update、Delete 回调,在回调方法中,将需要处理的资源对象变化事件的 key 放入 WorkQueue 工作队列中。等待 Con
原创
发布博客 2020.08.21 ·
845 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

Client-go源码分析(三)Informer机制

文章目录一、简介二、Reflector 底层原理分析[思考] Informer 中的优化机制本文为《Kubernetes 源码剖析》读书笔记,书籍简介:http://www.broadview.com.cn/book/6104一、简介Kubernetes 中,控制器需要对集群中的资源对象的状态进行监控,使资源对象的实际状态和通过 yaml 定义的期望状态协调达到一致。那么控制器是如何对资源对象进行监控,并根据对象的实际状态变化做出相应的处理呢?实际上就是通过 Client-go 包中的 Informe
原创
发布博客 2020.08.12 ·
891 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Client-go源码分析(二) Informer 中的 Resync 机制分析

一、Client-go 中的 Informer 工作流程图Informer 中的 Reflector 通过 List/watch 从 apiserver 中获取到集群中所有资源对象的变化事件(event),将其放入 Delta FIFO 队列中(以 Key、Value 的形式保存),触发 onAdd、onUpdate、onDelete 回调将 Key 放入 WorkQueue 中。同时将 Key 更新 Indexer 本地缓存。Control Loop 从 WorkQueue 中取到 Key,从 Ind
原创
发布博客 2020.08.09 ·
1975 阅读 ·
4 点赞 ·
0 评论 ·
6 收藏

Client-go源码分析(一)客户端对象

一、源码结构discoverydynamickubernetesrestscaleinformerslisterstoolsutiltransportplugin二、Client 客户端对象
原创
发布博客 2020.08.07 ·
1100 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

TCP相关

文章目录1.Linux端口复用参数(套接字中SO_REUSEPORT和SO_REUSEADDR的区别)1.Linux端口复用参数(套接字中SO_REUSEPORT和SO_REUSEADDR的区别)参考:https://www.jb51.net/article/139134.htmSO_REUSEADDR:如果在一个socket绑定到某一地址和端口之前设置了其SO_REUSEADDR的属性,那么除非本socket与产生了尝试与另一个socket绑定到完全相同的源地址和源端口组合的冲突,否则的话这个so
原创
发布博客 2020.06.07 ·
171 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Openshift中Route的HAProxy实现无缝重载原理分析

文章目录一、背景二、Haproxy在不同版本中处理无缝重载的策略OpenShift 3.9及更高版本OpenShift 3.7及更早版本一、背景在openshift集群中(以下简称OCP),对外部流量的转发是通过Router控制器控制Route对象中的路由规则来重载Infra节点中的HAProxy配置文件实现的。在上图中的第3步,Router重载Haproxy配置的过程中是会有有一小段时间Haproxy服务不可用,那么在Haproxy重载过程中是如何做到用户请求不丢失呢?二、Haproxy在不同版
原创
发布博客 2020.05.30 ·
1084 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Raft算法详解

文章目录一、leader选举过程1、启动时选举:2、运行时选举:3、log replication4、脑裂问题一、leader选举过程raft协议中,一个节点任一时刻处于以下三个状态之一:leader:主节点follower:从节点candidate:候选主节点1、启动时选举:有节点启动时都是follower状态,在一段时间内如果没有收到来自leader的心跳,从follower切换到candidate,发起选举。如果收到集群中大多数的票(含自己的一票)则切换到leader状态;如果发现其
原创
发布博客 2020.05.23 ·
3902 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

K8S调度器Schduler工作原理--Priority优选算法中的抢占机制

文章目录一、为什么需要抢占机制二、如何使用抢占机制1、创建 PriorityClass 对象:2、在 deployment、statefulset 或者 pod 中声明使用已有的 priorityClass 对象即可三、相关流程一、为什么需要抢占机制当一个 pod 调度失败后,暂时处于 pending 状态,直到 pod 被更新或者集群状态发生变化,调度器才会对这个 pod 进行重新调度。但在实际的业务场景中会存在在线与离线业务之分,若在线业务的 pod 因资源不足而调度失败时,此时就需要离线业务下掉一
原创
发布博客 2020.05.23 ·
787 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

K8S-APIServer源码分析组件构成、原理、程序流程

文章目录一、组件构成二、组件实现原理三、程序流程源码分析一、组件构成apiserver 由 3 个组件构成(AggregatorServer、APIServer、APIExtensionServer)AggregatorServer:实现请求的代理转发,将来自用户的请求拦截转发给其他服务器,并且负责整个 APIServer 的服务发现功能APIServer:负责对内建资源对象请求的一些处理...
原创
发布博客 2020.05.10 ·
2259 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

K8S实现资源预留分析

节点可为pod分配的资源计算方法:Node Allocatable Resource = Node Capacity(资源总大小) - Kube-reserved(kubelet保留资源) - system-reserved(系统保留资源) - eviction-threshold(用户设置的驱逐阈值)
原创
发布博客 2020.04.12 ·
2328 阅读 ·
2 点赞 ·
0 评论 ·
14 收藏

K8S基于MutatingAdmissionWebhook实现资源超卖

K8S基于MutatingAdmissionWebhook解决资源超卖问题资源超卖问题分析实现资源超卖的思路MutatingAdmissionWebhook特性MutatingWebhookConfiguration对象简介源码分析资源超卖算法实践参考资料资源超卖问题分析在生产环境中,kubernetes集群的计算节点上运行着许许多多的Pod,分别跑着各种业务容器,我们通常用Deploymen...
原创
发布博客 2020.03.22 ·
7286 阅读 ·
4 点赞 ·
2 评论 ·
15 收藏

K8S的HPA机制

K8S的HPA机制一、HPA简介二、HPA设置一、HPA简介HPA(Horizontal Pod Autoscaler)Pod自动弹性伸缩,通过对Pod中运行的容器各项指标(CPU占用、内存占用、网络请求量)的检测,实现对Pod实例个数的动态新增和减少。早期的kubernetes版本,只支持CPU指标的检测,因为它是通过kubernetes自带的监控系统heapster实现的。到了kube...
原创
发布博客 2020.03.13 ·
17941 阅读 ·
5 点赞 ·
0 评论 ·
33 收藏

OKD(OpenShift 3.11)平台3节点集群安装

OKD平台3节点集群安装1.准备工作1.1 机器划分ssh-keygen #生成秘钥 一路回车ssh-copy-id master01ssh-copy-id node01ssh-copy-id node02yum update -yyum install wget git net-tools bind-utils yum-utils iptables-services bridge-utils ...
原创
发布博客 2020.02.24 ·
3361 阅读 ·
2 点赞 ·
5 评论 ·
10 收藏

K8S调度器Schduler工作原理--Predicates预选算法过程分析

Predicates预选算法过程分析Scheduler工作流程Predicates预选流程predicate的并发过程用 podFitsOnNode 函数实现一个node的预选过程单个predicate执行过程Scheduler工作流程我们在使用K8S集群时,常常需要对Deployment Controller做创建、修改、删除操作,K8S对应的会创建、销毁和重新调度Pod在合适的节点上,这个...
原创
发布博客 2020.01.14 ·
1904 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

K8S调度器Schduler工作原理--Priority优选算法过程分析

Priority优选算法过程分析Scheduler工作流程Priority优选流程Fucntion类型优选算法Map-Reduce类型优选算法Combine组合结果集Scheduler工作流程我们在使用K8S集群时,常常需要对Deployment Controller做创建、修改、删除操作,K8S对应的会创建、销毁和重新调度Pod在合适的节点上,这个调度过程是通过K8S的Scheduler调度...
原创
发布博客 2020.01.11 ·
1014 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Redis主从复制及其心跳检测实现机制

[Redis专题] Redis主从复制及其心跳检测实现机制1、Redis主从工作模式简述2、同步2.1老版本的Redis(2.8之前)新版本的Redis(2.8之后)3、命令传播4、新版本主从节点同步示例5、心跳检测5.1 检测主从服务器的网络连接状态5.2 辅助实现min-slave选项5.3 检测命令是否丢失1、Redis主从工作模式简述假设Redis中有一个主节点和一个从节点。正常情况下...
原创
发布博客 2019.07.25 ·
4286 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

布谷鸟过滤器

布谷鸟过滤器一、布隆过滤器二、布谷鸟过滤器三、优缺点四、参考资料一、布隆过滤器布隆过滤器有exists方法通过对位数组的hash计算判断某元素是否在集合中,实现去重功能。但布隆过滤器有一下缺点:不支持反向删除元素:一旦对位数组进行了赋值,无法将其删除。查询性能弱:布隆过滤器使用多个hash函数计算位图多个不同位点,由于多个位点在内存中不连续,CPU寻址花销较大。空间利用率低。二、布...
原创
发布博客 2019.07.07 ·
9763 阅读 ·
1 点赞 ·
0 评论 ·
13 收藏
加载更多