client-go:informer使用
介绍 前面我们在使用 Clientset 的时候了解到我们可以使用 Clientset 来获取所有的原生资源对象,那么如果我们想要去一直获取集群的资源对象数据呢?岂不是需要用一个轮询去不断执行 List() 操作?这显然是不合理的,实际上除...
介绍 前面我们在使用 Clientset 的时候了解到我们可以使用 Clientset 来获取所有的原生资源对象,那么如果我们想要去一直获取集群的资源对象数据呢?岂不是需要用一个轮询去不断执行 List() 操作?这显然是不合理的,实际上除...
本节主要讲解 Kubernetes 核心的资源类型 Scheme 的定义和用途。 介绍 当我们操作资源和 apiserver 进行通信的时候,需要根据资源对象类型的 Group、Version、Kind 以及规范定义、编解码等内容构成 Sc...
本节主要讲解 kuberntes API 接口模型 介绍 Kubernetes 中最核心的就是 kube-apiserver 组件,其他组件都是和 kube-apiserver 进行通信的,本节主要就来研究下 Kubernetes API ...
cap理论,base理论 一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。 BASE强调牺牲高一致性,从而获得可用性,数...
1、背景 公司部分业务功能的实现是有状态的方式实现,部署在亚马逊的ec2上,为了方便这部分业务进行容器化改造,需要调研业界常见的有状态服务容器上部署方式,通过开源的方案来查看里面架构和实现逻辑,进行讨论来找出一种适合公司业务的部署改造方式。...
https://www.jianshu.com/u/bf598f8766c8 里面的多篇调度文章 https://zboya.github.io/post/go_scheduler/ 调度以这篇为准,上面...
这部分看的是 golang1.2 的源码(其实是 3 年前看的,最近又拿出来复习整理了下),C语言实现的。 如果只是为了学习,而不是为了实际参与项目的开发,还是建议阅读低版本源代码,因为更纯粹些。 越是新的版本,里面掺杂的周边逻辑越多,比如...
先抛出几个问题 声明一个 slice 并赋值为 nil, 如 var slice []int = nil,此时 len(slice) 的运行结果是什么? func(arr []int) 和 func(arr [10]int) 两个函数内部都...
【编者的话】本文主要介绍阿里巴巴在大规模生产环境落地 Kubernetes 的过程中,在集群规模上遇到的典型问题以及对应的解决方案,内容包含对 etcd、kube-apiserver、kube-controller 的若干性能及稳定性的增强...
1 kube-proxy介绍 1.1 为什么需要kube-proxy 我们知道容器的特点是快速创建、快速销毁,Kubernetes Pod和容器一样只具有临时的生命周期,一个Pod随时有可能被终止或者漂移,随着集群的状态变化而变化,一旦Po...