分类 k8s 中的文章

Kubernetes client-go

关于client-go client-go是kubernetes官方提供的go语言的客户端库,go应用使用该库可以访问kubernetes的API Server,这样我们就能通过编程来对kubernetes资源进行增删改查操作 client-go版本和kubernetes版本对应关系 参考官方文档 client-go 使用之Clientset clientset为client-go将kubernetes原生资源的各自操作进行了封装,可以直接使用,但是如果是需要操作自己实现的operator,就需要使用到下文提到的dynamicClient package main import ( "context" "flag" "fmt" appsv1 "k8s.……

阅读全文

详解k8s中liveness和readiness的原理和区别

k8s各个组件功能 ● apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制; ● controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等; ● scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上; ● kubelet负责维护容器的生命周期,pod健康检查等,同时也负责Volume(CVI)和网络(CNI)的管理; ● Container runtime负责镜像管理以及Pod和容器的真正运行(CRI); ● kube-proxy负责为Service提供cluster内部的服务发现和负载均衡。 liveness和readiness的探针工作方式和源码解析 liveness和readiness作为k8s的探针,可以对应用进行健康探测。 二者支持的探测方式相同。主要的探测方式支持http探测,执行命令探测,以及tcp探测。 探测均是由部署在node侧的kubelet执行。……

阅读全文