随笔分类 - Kubernetes开发
摘要:1、概述 在 kubernetes API中,我们经常使用属于 GVK 或者 GVR 来区分特定的 kubernetes 资源。其中 GVK 是 Group Version Kind 的简称,而 GVR 则是 Group Version Resource 的简称。 Kind 是 API “顶级”资源
阅读全文
摘要:1、概述 在使用controller-runtime框架进行kubernetes二次开发的时候,程序中通常都会使用GetConfigOrDie()方法获取集群配置以便与kubernetes集群进行连接,示例如下: opts := ctrl.Options{ Scheme: scheme, Metri
阅读全文
摘要:1、概述 Kubernetes 的各个组件都有一定的定时任务,比如任务的定时轮询、高可用的实现、日志处理、缓存使用等,Kubernetes 中的定时任务都是通过 wait 包实现的。 注意,本文源码基于Kubernetes 1.21.5。 2、Golang 的定时任务 在讲 Kubernetes 的
阅读全文
摘要:1、概述 在Kubernetes中,为了实现组件高可用,同一个组件需要部署多个副本,例如多个apiserver、scheduler、controller-manager等,其中apiserver是无状态的,每个组件都可以工作,而scheduler与controller-manager是有状态的,同一
阅读全文
摘要:1、概述 在kubernetes上扩展资源类型的方式有三种,第一种是CRD,CRD是kubernetes内建的资源类型,该类型资源主要用来创建用户自定义资源类型的资源;即通过CRD资源,可以将用户自定义资源类型转换为kubernetes上资源类型;第二种是自定义apiserver;这种方式要比第一种
阅读全文
摘要:1、概述 应用为用户提供完整的业务功能,由一个或多个特定功能的组件组成。一般来说,根据一个应用的功能以及与外部环境通信的方式,它可以由一个或多个 Kubernetes 工作负载(例如部署、有状态副本集和守护进程集)、服务和CRD等资源类型组成。 Application资源类型是Kubernetes特
阅读全文
摘要:1、概述 绝大部分Kubernetes资源对象都包含status.conditions字段,用来表示资源状态,比如deployment资源中的status.conditions如下所示: conditions: - lastTransitionTime: "2021-12-27T01:50:58Z"
阅读全文
摘要:Using Cluster Selector In addition to specifying an explicit list of clusters that a resource should be propagated to via the spec.placement.clusters
阅读全文
摘要:概览 kubebuilder和k8s.io/code-generator类似,是一个代码生成工具,用于为你的CRD生成kubernetes-style API实现。区别在于: Kubebuilder不会生成informers、listers、clientsets,而code-generator会。
阅读全文