由 Fleet 管理的增强型 Elastic Agent 配置
编辑由 Fleet 管理的增强型 Elastic Agent 配置编辑
对于由 Fleet 管理的基本 Elastic Agent 场景,请按照 在由 Fleet 管理的 Kubernetes 上运行 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/beats/elastic-agent: <ImageVersion> args: ["-c", "/etc/elastic-agent/agent.yml", "-e"]
- 注意
- The <ImageVersion> 只是一个占位符,用于您将在清单中下载的 elastic-agent 镜像版本:例如
image: docker.elastic.co/beats/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 将被覆盖。