logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

k8sEVENT分发

关键函数// loop receives from m.incoming and distributes to all watchers.func (m *Broadcaster) loop() {// Deliberately not catching crashes here. Yes, bring down the process if there's a// bug...

#k8s
k8s中,通过代码生成工具生成的controller中加入控制逻辑

摘自http://www.infoq.com/cn/articles/kubernetes-status-management-and-extension前文自动生成的代码中为Bee生成了默认的BeeController,如图1.2.2所示。当监听到创建或更新Bee状态的时候,可以通过实现Reconcile中的逻辑来处理对Bee的额外扩展,现在来把Controller部署到集群中去。...

k8s volumn与配置管理

1pod定义详解下面是一个完整的yaml格式定义的文件,注意格式,子集包含关系,不要有tab,要用空格。不是所有的元素都要写,按照实际应用场景配置即可。apiVersion: v1//版本kind: pod//类型,podmetadata://元数据name: String...

K8S WACHER实现

kube-apiserver会不停的调用etcd接口,查询关心的资源状态(比如pod),将结果发送到incoming管道,最后通过outoutgoing管道发送到store client端一直不停地去apiserver去获取watcher的pod并进行相应处理:先存入cache然后kubelete端进行处理func (r *Reflector) ListAndWatch(stopCh...

k8s api注册

APIserver注册api: api一般有group和version两项,group分为了Core、abac、apps、authtication、authorization、autoscaling、batch、componentconfig、extensions、policy、rbac等,其中core的groupname为空,他是核心的api,就是包括pod、service等.它的代码位于p..

k8s rc 控制器处理

就是在controler manager中创建rc 管理器,数据结构中有pod的存储和controler,pod从podinformer中获取,rc就是通过rc控制器监听apiserver获取,最后进行比较type ReplicationManager struct {kubeClient clientset.InterfacepodControl controller.Po...

k8s经常忘记reflect处理watch事件过程

contoler结构有个queue,这个queue是用来控制的,是将读取队列pop,执行process函数的,而controler的成员reflector使用来缓存资源的,他会出发listerandwatche过1s通过lister函数监控一次所有关心的对象(wait.Until会一直执行,等到入参函数执行完成后,peroid时间后再次触发执行,这样不停地一直运行),然后阻塞等待,等待watche

k8sproxy原理

pod 访问service服务这里涉及到k8s里面一个重要的概念service。它是一个服务的抽象,通过label(k8s会根据service和pod直接的关系创建endpoint,可以通过kubectl get ep查看)关联到后端的pod容器。Service分配的ip叫cluster ip是一个虚拟ip(相对固定,除非删除service),这个ip只能在k8s集群内部使用,如果serv...

k8s 自定义api注册,controller

自定义api通过aggregator注册进入k8s api系统,内部通过一个proxy转到对应的自定义api进程(放在pod中), 自定义API通过main函数,调用生成的zz_generated.api.register.go中的注册函数,此函数有一个全局变量ApiVersion,apiversion中将我们定义的type(包括其deepcopy函数),还有版本转换函数conversion(..

k8s认证

RBAC可以设置subject:user,group和serviceaccount.user不是k8s管理的,可以通过具体的服务进行管理。对应k8s中就是secret。serviceaccount是通过k8s管理的。就是每个pod访问api server的权限。 api启动参数分为--client的各种crt,key kubelete各种证书,tls(api srever自己用于客...

    共 17 条
  • 1
  • 2
  • 请选择