- Fleet 和 Elastic Agent 指南其他版本
- Fleet 和 Elastic Agent 概述
- Beats 和 Elastic Agent 功能
- 快速入门
- 从 Beats 迁移到 Elastic Agent
- 部署模型
- 安装 Elastic Agent
- 安装 Fleet 管理的 Elastic Agent
- 安装独立的 Elastic Agent
- 在容器化环境中安装 Elastic Agent
- 在容器中运行 Elastic Agent
- 在 Fleet 管理的 Kubernetes 上运行 Elastic Agent
- 使用 Helm 在 Kubernetes 上安装 Elastic Agent
- 示例:使用 Helm 在 Kubernetes 上安装独立的 Elastic Agent
- 示例:使用 Helm 在 Kubernetes 上安装 Fleet 管理的 Elastic Agent
- Fleet 管理的高级 Elastic Agent 配置
- 在 Elastic Agent 上配置 Kubernetes 元数据增强
- 在 Fleet 管理的 GKE 上运行 Elastic Agent
- 在 Fleet 管理的 Amazon EKS 上运行 Elastic Agent
- 在 Fleet 管理的 Azure AKS 上运行 Elastic Agent
- 在 Kubernetes 上运行独立的 Elastic Agent
- 在 Kubernetes 上扩展 Elastic Agent
- 在 Kubernetes 集成中使用自定义摄取管道
- 环境变量
- 将 Elastic Agent 作为 OTel 收集器运行
- 在没有管理权限的情况下运行 Elastic Agent
- 从 MSI 包安装 Elastic Agent
- 安装布局
- 气隙环境
- 将代理服务器与 Elastic Agent 和 Fleet 一起使用
- 从边缘主机卸载 Elastic Agent
- 在边缘主机上启动和停止 Elastic Agent
- Elastic Agent 配置加密
- 安全连接
- 在 Fleet 中管理 Elastic Agent
- 配置独立的 Elastic Agent
- 创建独立的 Elastic Agent 策略
- 配置文件结构
- 输入
- 提供程序
- 输出
- SSL/TLS
- 日志记录
- 功能标志
- Agent 下载
- 配置文件示例
- 授予独立的 Elastic Agent 对 Elasticsearch 的访问权限
- 示例:将独立的 Elastic Agent 与 Elastic Cloud Serverless 一起使用来监控 nginx
- 示例:将独立的 Elastic Agent 与 Elasticsearch Service 一起使用来监控 nginx
- 调试独立的 Elastic Agent
- 使用 Elastic Agent 进行 Kubernetes 自动发现
- 监控
- 参考 YAML
- 管理集成
- 定义处理器
- 处理器语法
- add_cloud_metadata
- add_cloudfoundry_metadata
- add_docker_metadata
- add_fields
- add_host_metadata
- add_id
- add_kubernetes_metadata
- add_labels
- add_locale
- add_network_direction
- add_nomad_metadata
- add_observer_metadata
- add_process_metadata
- add_tags
- community_id
- convert
- copy_fields
- decode_base64_field
- decode_cef
- decode_csv_fields
- decode_duration
- decode_json_fields
- decode_xml
- decode_xml_wineventlog
- decompress_gzip_field
- detect_mime_type
- dissect
- dns
- drop_event
- drop_fields
- extract_array
- fingerprint
- include_fields
- move_fields
- parse_aws_vpc_flow_log
- rate_limit
- registered_domain
- rename
- replace
- script
- syslog
- timestamp
- translate_sid
- truncate_fields
- urldecode
- 命令参考
- 故障排除
- 发行说明
Kubernetes 密钥提供程序
编辑Kubernetes 密钥提供程序
编辑提供对 Kubernetes 密钥 API 的访问。
使用格式 ${kubernetes_secrets.<default>.<somesecret>.<value>}
引用 Kubernetes 密钥变量,其中 default
是密钥的命名空间,somesecret
是密钥的名称,value
是要访问的密钥字段。
为了获取密钥的值,会向 API 服务器发出请求。为了避免对同一密钥的多次请求,并且不使 API 服务器不堪重负,默认情况下使用缓存来存储这些值。可以通过使用变量 cache_*
(见下文)来设置此配置。
提供程序需要一个 kubeconfig
文件来建立与 Kubernetes API 的连接。如果它在集群内环境(Elastic Agent 作为 pod 运行)中运行,则可以自动连接到 API。
providers.kubernetes_secrets: #kube_config: /Users/elastic-agent/.kube/config #kube_client_options: # qps: 5 # burst: 10 #cache_disable: false #cache_refresh_interval: 60s #cache_ttl: 1h #cache_request_timeout: 5s
-
kube_config
- (可选)使用给定的配置文件作为 Kubernetes 客户端的配置。如果未设置
kube_config
,将检查KUBECONFIG
环境变量,如果不存在,则回退到集群内。 -
kube_client_options
- (可选)配置 Kubernetes 客户端的其他选项。支持的选项是
qps
和burst
。如果未设置,则使用 Kubernetes 客户端的默认 QPS 和 burst 设置。 -
cache_disable
- (可选)禁用密钥的缓存。禁用时,即设置为
true
,代码会向 API 服务器发出请求以获取值。要继续使用缓存,请将变量设置为false
。默认为false
。 -
cache_refresh_interval
- (可选)定义更新缓存中保存的所有密钥值的周期。默认为
60s
。 -
cache_ttl
- (可选)定义如果密钥未被请求,应在缓存中保留多长时间。默认为
1h
。 -
cache_request_timeout
- (可选)定义 API 服务器可以花费多长时间来提供给定密钥的值。默认为
5s
。
如果在 Kubernetes 上运行 agent,则需要在 ClusterRole
中提供适当的规则,以提供对 Secrets API 中 Elastic Agent pod 的访问权限
- apiGroups: [""] resources: - secrets verbs: ["get"]
上面的规则将允许 Elastic Agent pod 访问 Kubernetes 密钥 API。任何有权访问 Elastic Agent pod 的人(例如 kubectl exec
)也将有权访问 Kubernetes 密钥 API。这允许访问特定的密钥,而不管它属于哪个命名空间。应仔细考虑此选项。
Was this helpful?
Thank you for your feedback.