k8s
文章平均质量分 88
八月对半
Read the fucking source code
展开
-
k8s client-go workqueue
1 基础队列1.1 基础队列接口type Interface interface { Add(item interface{}) // 向队列中添加一个元素,interface{}类型,说明可以添加任何类型的元素 Len() int // 队列长度,就是元素的个数 Get() (item interface{}, shutdown bool) // 从队列中获取一个元素,双返回值,这个原创 2022-03-05 09:58:40 · 495 阅读 · 1 评论 -
kube-proxy BoundedFrequencyRunner导致死循环分析
kube-proxy使用了k8s官方工具库中的BoundedFrequencyRunner实现基于事件及时间间隔的配置同步1 BounderFrequencyRunner构建1.1 相关核心代码// name: Runner名称// func():目标方法// minInterval:最小时间间隔(2次目标方法调用的最小间隔)// maxInterval:最大时间间隔(2次目标方法调用的最大间隔,当没有事件时,以最大时间间隔执行)// burstRuns:允许突发func NewBounde原创 2022-03-02 11:19:29 · 305 阅读 · 0 评论 -
kube-proxy源码阅读(iptables实现)
Reference文章目录1 入口2 ProxyServer创建及调用3 ProxyServer 核心调用流程3.1 func (o *Options) Run() err3.2 func (o *Options) runLoop() error3.3 func (s *ProxyServer) Run() error3.4 func (proxier *Proxier) SyncLoop()4 资源事件处理流程4.1 Service事件4.2 Endpoints事件4.3 Nodes事件4.4 func原创 2022-03-03 11:15:30 · 1636 阅读 · 0 评论 -
k8s Endpoint Controller源码阅读
endpoint controller监听Pod、Service的add,update,delete变化,并处理1 Pod1.1 add Pod 找到新增Pod相关的所有的Service,并将这些Service的key,加入到queue中,等待处理1.2 update Pod 找到Pod更新引起的需要更新的Service,并将这些Service的key,加入到queue中,等待处理(1)判断新旧Pod本身及其label是否发生了变化(2)获取新Pod相关的Service(3)如果新旧Po原创 2020-10-22 11:28:45 · 370 阅读 · 0 评论 -
ubuntu 20.04 k8s(1.18.5)安装
文章目录配置各个节点的IP地址为静态IP地址查看指定k8s版本需要哪些镜像通过dockerhub拉取镜像构建脚本,填入所需的镜像版本信息,执行脚本(这个最好所有的节点都执行一下)查看imagesmaster节点initmaster节点执行worker节点执行(由master节点执行 kubeadm init生成)dashboard安装(UI)(1)使用kubectl proxy访问的情况1)创建dashboard服务2)访问dashboard(2)使用NodePort访问的情况(3)使用令牌登录(创建acc原创 2020-07-15 17:22:08 · 4176 阅读 · 0 评论