有人能简单地解释一下,通过Kubernetes操作符部署Prometheus与Prometheus头盔图或清单文件有什么区别吗?这个问题不仅与普罗米修斯有关,而且在总体上也是如此。
发布于 2020-01-02 10:56:29
发布于 2020-01-02 10:23:21
通常,Helm就像一个用于kubernetes的包管理器,而操作符是一个控制器,管理(特定kubernetes资源的生命周期)。
运算符是管理自定义资源的“自定义资源”和“控制器”的组合。有许多原生的kubernetes资源,如pod、部署、状态集、服务等。每个资源都有一个运行的相应的控制器进程(目前在控制器管理器中)。例如,当使用kubectl apply创建/修改本机kubernetes资源的实例时,新/更新的对象将存储在etcd中,api-server将通知控制器更改。etcd中的规范称为所需的状态。控制器的任务是识别集群的实际状态,并使其与所需的状态相协调。
与原生kubernetes资源类似,kubernetes还允许您使用“自定义资源定义”创建新类型的资源。您还可以编写一个控制器,其任务是协调新的自定义资源。这就是所谓的操作员。通常编写操作符是为了管理kubernetes上应用程序的部署、生命周期。因此,Prometheus创建了一个名为Prometheus的自定义资源(您可以使用它来表示Prometheus集群的所需状态)和一个控制器,使所需状态与实际状态相协调。这种控制器称为Prometheus算子。
Helm是用于kubernetes资源的包管理器,通常声明为基于yaml的清单。Helm允许您模板这些yaml清单,以便在实际集群中部署资源时可以用不同的值替换这些模板化片段。您可以部署各种kubernetes资源,包括所有本机资源,如pods、服务、部署等。操作员也可以在kubernetes集群上作为pod运行,所以helm也可以用于部署操作符。
您可以在这里阅读有关自定义资源和自定义控制器的信息- https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#custom-resources。
https://stackoverflow.com/questions/59561391
复制相似问题