由 Fleet 管理的高级 Elastic Agent 配置
编辑由 Fleet 管理的高级 Elastic Agent 配置
编辑对于由 Fleet 管理的基本 Elastic Agent 场景,请按照 在 Kubernetes 上运行由 Fleet 管理的 Elastic Agent 中的步骤操作。
在托管的 Elastic Agent 安装中,能够配置更高级的选项(例如在启动期间配置提供程序)可能很有用。有关更多详细信息,请参阅 提供程序。
以下步骤演示了上述场景
步骤 1:下载 Elastic Agent 清单
编辑建议按照 安装由 Fleet 管理的 Elastic Agent 中的步骤操作,在您的策略中安装 Kubernetes 集成,并从 Kibana UI 下载 Elastic Agent 清单。
- 注意
- 示例清单也可以在此处找到
步骤 2:创建一个新的 configmap
编辑创建一个新的 configmap。
apiVersion: v1 kind: ConfigMap metadata: name: agent-node-datastreams namespace: kube-system labels: k8s-app: elastic-agent data: agent.yml: |- providers.kubernetes_leaderelection.enabled: false fleet.enabled: true fleet.access_token: "<FLEET_ENROLLMENT_TOKEN>" ---
- 注意
-
- 在上面的示例中,演示了禁用
kubernetes_leaderelection
提供程序。对于其他场景,可以遵循相同的步骤。
- 在上面的示例中,演示了禁用
配置 Kubernetes 元数据增强的 configmap 示例。
apiVersion: v1 kind: ConfigMap metadata: name: agent-node-datastreams namespace: kube-system labels: k8s-app: elastic-agent data: agent.yml: |- providers.kubernetes: add_resource_metadata: deployment: true cronjob: true fleet.enabled: true fleet.access_token: "<FLEET_ENROLLMENT_TOKEN>" ---
- 查找有关 注册令牌 的更多信息。
步骤 3:配置 Daemonset
编辑在下载的清单中,更新 Daemonset 资源
更新入口点。
containers: - name: elastic-agent image: docker.elastic.co/elastic-agent/elastic-agent: <ImageVersion> args: ["-c", "/etc/elastic-agent/agent.yml", "-e"]
- 注意
- <ImageVersion> 只是您将在清单中下载的 elastic-agent 镜像版本的占位符:例如
image: docker.elastic.co/elastic-agent/elastic-agent: 8.11.0
重要的事情是使用 args 详细信息更新您的清单
添加额外的卷挂载。
volumeMounts: - name: datastreams mountPath: /etc/elastic-agent/agent.yml readOnly: true subPath: agent.yml
添加新的卷。
volumes: - name: datastreams configMap: defaultMode: 0640 name: agent-node-datastreams
重要说明
编辑- 默认情况下,由 Fleet 管理的 Elastic Agent 的清单具有
hostNetwork:true
。为了支持在同一节点中安装多个 Elastic Agent,您应该设置hostNetwork:false
。请参阅此相关的 示例,如 支持 Kube-State-Metrics 分片的 Elastic Agent 清单中所述。 - 卷
/usr/share/elastic-agent/state
必须仍然挂载在 elastic-agent-managed-kubernetes.yaml 中,否则上面提供的自定义 config map 将被覆盖。