Kubernetes Operator(Operator SDK,Kubebuilder VERSUS Kubernet



如果这个问题已经得到回答,我很抱歉,但在尝试了许多不同的谷歌搜索方法后,我没有得到明确的解释,所以我试图在这里寻求澄清。

我熟悉Kubernetes上下文中的操作员/控制器模式,并试图使用Kubernetes.io中的一个nodejs KubernetesClient库来构建一个自定义nodejs控制器,该控制器处理我自己的自定义资源(CRD(。

在网上研究时,我发现了OperatorSDK和Kubebuilder,它们似乎是可以引导操作员/控制器的工具,提供了许多与K8s Api Server接口的功能,就像Kubernetes客户端库一样。

OperatorSDK和Kubebuilder似乎不仅仅是库以下是我的问题

  1. 类似于Kubernetes.io的OperatorSDK、KubebuilderKubernetes客户端库之间有什么区别
  2. Kubernetes客户端库是OperatorSDK和Kubebuilder之类的东西的实现吗
  3. 我是否需要使用OperatorSDK或Kubebuilder来实现我自己的控制器,因为据我所知,Kubernetes客户端库似乎已经足够了

OperatorSDK、Kubebuilder等软件之间有什么区别来自Kubernetes.io 的AND Kubernetes客户端库

OperatorSDK、Kubebuilder是专门的,通过生成锅炉板代码和在kubernetes中实现控制器所需的运行时(通过控制器运行时(,为您提供了良好的起点。客户端库是生成目的库,用于执行任何操作,如与Kubernetes API服务器交互等。

Kubernetes客户端库是否实现了OperatorSDK和Kubebuilder?

否。实际上OperatorSDK,Kubebuilder在后台使用控制器运行时,内部使用kubernetes客户端库与Kubernetesneneneba API服务器进行交互。

我需要使用OperatorSDK或Kubebuilder来实现我自己的吗控制器,因为据我所知,Kubernetes客户端图书馆似乎就足够了。

如果你只使用kubernetes客户端库,你最终会编写一些OperatorSDK和Kubebuilder或控制器运行时已经提供的锅炉板代码和模式。强烈建议但不是必须使用OperatorSDK或Kubebuilder来编写控制器。您也可以直接使用控制器运行时,而不是使用OperatorSDK或Kubebuilder。

最新更新