
k8s
文章平均质量分 51
ase2014
这个作者很懒,什么都没留下…
展开
-
api-server 源码学习
apiserver实现server的实现在apiserver/pkg/server/handler.go里的direct实现使用go-restfule实现路由功能所有的都是NewRESTStorage资源创建,从main函数开始,到db层kube-apiserver/apiserver.go里的main函数kube-apiserver/app/server.go里的NewAPIServerCommand函数Run函数CreateServerChain函数cr原创 2022-02-08 22:17:18 · 964 阅读 · 0 评论 -
k8s 健康检查probe,exec方式,docker puase后不能隔离路由
问题服务配置的健康检查为脚本的方式使用docker pause命令的方式,将容器里面的所有进程挂住readiness失败,不会将endpoint从service里面隔离出,客户端调用会导致偶现挂住原因k8s这种场景下,不会认为健康检查是失败的,不会记录失败次数,只是不断重试,然后上报event代码的实现func (pb *prober) probe(probeType probeType, pod *v1.Pod, status v1.PodStatus, container v原创 2022-01-25 20:45:31 · 851 阅读 · 0 评论 -
k8s - leader election 实现
leader electionlock type 锁类型leasesendpointsleasesconfigmapsleasesleases类型实现对应的struct,leaderelection/resourcelock/leaselock/LeaseLockendpointsleases实现endpoints和leases两种方式MultiLock: 用作迁移,里面有两种场景,Primary、SecondaryendpointsLock通过在endpoints里原创 2022-01-23 23:04:21 · 1588 阅读 · 0 评论 -
k8s里的Visitor模式学习
Visitor模式visitor模式在k8s源代码里面比较场景,刚接触,理解起来有点绕,体会其本质后,发现就是callback的一种实现示例代码type Callback func()type Visitor interface { Visit(callback Callback)}type A struct { visitor Visitor}func (a *A) Visit(callback Callback) { fmt.Println("start execute A"原创 2021-12-21 23:36:31 · 192 阅读 · 0 评论 -
kubelet学习
kubelet学习整体由Kubelet结构体为出发点,结构体里包含各种manager,实现对应功能podManager:具体结构实现为basicManager(pod_manager.go)workQueue:pod的生命周期处理Kubelet的syncLoopIteration函数通过各种chan,获取需要处理的pods,交给podManager处理configCh:配置发生变化的pods使用两级生产者-消费者模型一级生产-消费生产者:各种source,当前有3类s原创 2021-12-19 23:24:52 · 318 阅读 · 0 评论 -
k8s网络学习记录
记录service的实现KUBE-SERVICES链在PREROUTING里面有,在OUTPUT链也有,原因:根据iptables的文档,如果数据包是直接由本地应用产生的,那么OUTPUT链就会触发。iptables里的地址伪装也就是(MASQUERADE),不仅针对发送请求,而且针对返回请求,这样就实现了源地址的替换,能实现转发 。发送时,将源IP替换成本地IP,发送出去,请求回来后,把返回的源IP替换成本地IP,这样就实现了转发ExternalIP和NodePort实现路由轮训原创 2021-12-13 14:36:52 · 1792 阅读 · 0 评论 -
k8s网络学习篇-- 好的博客记录
博客Kubernetes网络篇–自己动手写CNI插件原创 2021-12-09 23:13:50 · 1275 阅读 · 0 评论