首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
kubernetes源码分析
Oneslide
创建于2022-10-25
订阅专栏
kubernetes源码分析心得
等 6 人订阅
共32篇文章
创建于2022-10-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Event多播参考实现
Kubernetes集群中通常会有很多Event,这些Event会异步的方式发送到监听Event的多个Watcher. Event的分发属于多播方式,语义可以分为三种:exactly-once, at
kubernetes kube-scheduler 源码:默认生效的plugins
调度扩展点中调用plugin进行调度决策,那默认的这些生效的调度插件有哪些? 作用都是什么? 调度Pod的目的是什么? 是为了降本增效,即降低资源使用成本,提高现有资源的利用率。为了实现这个目标,衍生
kubernetes kube-scheduler 源码:Pod生命周期
概念 Nominated Pod Nominated这个词的意思是"被提名"。但是这里翻译成提名是有点生硬的。 当一个Pod被调度时,由于资源紧张或者需求资源过大,导致目前并没有合适的Node来运行它
kubernetes kube-scheduler 源码:调度队列
SchedulingQueue SchedulingQueue 规定了调度队列应该实现的方法,其中最重要的就是Pop方法。调度器的主循环每次都使用Pop方法获取下一个要调度的Pod. 其实现Prior
kubernetes kube-scheduler 源码:预选和优选
可用节点筛选 调度器主循环会调用ScheduleAlgorithm.Schedule选择一个可用节点,ScheduleAlgorithm的默认实现genericScheduler会去调用评分插件来选择
kubernetes apiserver源码: 启动配置
如果在机器安装了go SDK,如何启动一个apiserver呢? 今天来解决这个问题,api-server的配置无疑是复杂的,本文提供一个成功的案例。 环境 Component Version go
kubernetes apiserver源码: filter chain WithAuthorization
WithAuthorization的逻辑就是处理请求授权的逻辑了,代码比较简单,逻辑也比较清晰。 attributes, err := GetAuthorizerAttributes(ctx) 从Co
kubernetes apiserver源码: filter-chain WithImpersonation
这个filter的功能是基于一个高权限用户模拟另一个低权限用户请求资源。 这里有一个重要的接口Authorizer和Attributes: Attributes记录着用户的身份信息,权限信息等,Aut
kubernetes apiserver源码: filter-chain TrackStarted
filterlatency.TrackStarted(handler, "authentication") 这里有个模式,就是TrackStarted只是透传和添加默认参数,将第一个字母小写track
kubernetes apiserver源码: filter-chain WithCORS
这个filter给服务增加CORS支持: 使用正则表达式匹配HTTP请求头中的Origin是否被允许 如果允许,添加CORS相关响应头 如果不允许,则无操作。浏览器因为看不到CORS相关响应头而拒绝请
kubernetes apiserver源码: filter-chain WithRequestDeadline
这个部分主要是对请求超时做处理。 k8s.io/apiserver/pkg/endpoints/filters/request_deadline.go 这个函数就是一个透传函数,同时增加一个时钟uti
kubernetes apiserver源码: filter-chain WithWarningRecorder
filter-chain里的这个handler作用是在HTTP响应头Warning里添加请求处理过程中的一些警告信息。 Recorder Interface Recorder 表示提供警告信息处理的一
kubernetes apiserver源码: filter chain
filter chain是请求需要走的全生命周期,包括授权,认证,监控etc.. 这个函数要倒着看,因为执行顺序是倒着执行的。外层的Handler逻辑执行完,执行里层的Handler逻辑。 filte
kubernetes apiserver源码: panic & recover
输出: 当出现panic时,recover会恢复程序执行 打印出完整的调用栈 这串代码可以用于web服务的崩溃恢复.
kubernetes apiserver源码: 请求授权机制
## 请求授权 一个用户,用户组,Service Account是否有权限去访问某些资源? 是使用授权机制控制访问的。 kubernetes支持ABAC,RBAC等授权机制 ## Code ### 主
kubernetes apiserver源码: 指数回退
当请求发生错误时,可能服务处于不健康状态,或者是工作负载过高或者直接挂了。这个时候要进行请求重试,重试的策略使用指数回退算法的好处是: 避免固定间隔策略导致所有客户端一起重试,导致请求尖峰 递增增加重
kubernetes apiserver源码: storage config
staging/src/k8s.io/apiserver/pkg/storage/storagebackend/config.go CompactionInterval etcd需要周期性进行comp
kubernetes apiserver源码: SafeWaitGroup
等待所有请求处理完成(无损下线)是如何实现的? SafeWaitGroup 这里是对sync.WaitGroup做了一个封装: 当apiserver收到请求的时候,会调用Add方法添加一个请求计数 当
kubernetes apiserver源码: PollImmediateUntil
这个函数经常用于轮询客户端缓存是否初始化成功。 周期性检查 周期性检查:time.NewTicker会周期性会往tick.C中输入一个值 超时设置:timer := time.NewTimer(tim
kubernetes apiserver源码: CustomResource http接口的动态注册
CRD是描述CustomResource, CRD注册之后,kubernetes客户端可以对CustomResource(abbv. CR) CURD操作。 举一个简单的例子: Step1: 注册一个
下一页