Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes守护程序和节点报告_Kubernetes_Datadog - Fatal编程技术网

Kubernetes守护程序和节点报告

Kubernetes守护程序和节点报告,kubernetes,datadog,Kubernetes,Datadog,我的设想是,目前,我正在以守护程序集的形式运行我的应用程序,并希望将Datadog集成到我的基础架构中。 据我所知,守护进程集的目的是确保在每个节点上运行每个集的一个pod 在这里,我想将我的应用程序指向datadog代理,以便它将数据输入其中。 我已经定义了Nodeport类型的服务,以公开代理的端口。 我在我的应用程序定义中提供了服务名称,它可以正常工作。对于一个节点。 当我有更多节点时,现在会发生什么?k8s是否足够聪明,可以路由到相同节点上的代理,或者在某种情况下,我的应用程序的pod可

我的设想是,目前,我正在以守护程序集的形式运行我的应用程序,并希望将Datadog集成到我的基础架构中。 据我所知,守护进程集的目的是确保在每个节点上运行每个集的一个pod

在这里,我想将我的应用程序指向datadog代理,以便它将数据输入其中。 我已经定义了
Nodeport
类型的
服务
,以公开代理的端口。 我在我的应用程序定义中提供了服务名称,它可以正常工作。对于一个节点。
当我有更多节点时,现在会发生什么?k8s是否足够聪明,可以路由到相同节点上的代理,或者在某种情况下,我的应用程序的pod可能会调用不同节点上的代理?这是正确的设置吗?

比使用守护程序运行应用程序更好的方法是使用部署,这样就不会将应用程序与集群中的节点数绑定在一起

然后,您可以将datadog代理映像部署为一个守护程序集,该守护程序集具有一组
spec.template.spec.affinity
,用于选择运行应用程序pod的节点。这将确保在应用程序运行的每个节点中都有一个datadog代理


另一个选项是将datadog代理容器部署在与应用程序容器相同的pod中。在这种情况下,您可以通过localhost访问代理并一起扩展,但每个节点可能会有多个代理,因此我更喜欢具有关联性的守护程序集。

我的团队将其作为守护程序集运行,以收集节点指标,但仅将其作为普通群集IP服务公开,目的是通过编程从群集中的其他应用程序向其发送数据。您不需要在节点端口上公开它,除非您需要从集群外部访问它,并且没有像入口控制器那样的服务感知负载平衡器。(这将是一个非常奇怪的用例,所以您可能不需要在节点端口上公开它。)