Azure 虚拟机发现编辑

Azure VM 发现允许使用 Azure API 执行自动发现。以下是一个简单的示例配置

cloud:
    azure:
        management:
             subscription.id: XXX-XXX-XXX-XXX
             cloud.service.name: es-demo-app
             keystore:
                   path: /path/to/azurekeystore.pkcs12
                   password: WHATEVER
                   type: pkcs12

discovery:
    seed_providers: azure

绑定网络主机

密钥库文件必须放置在 Elasticsearch 可访问的目录中,例如 config 目录。

定义 network.host 非常重要,因为默认情况下它绑定到 localhost

您可以使用 核心网络主机设置。例如 _en0_

如何开始(简短说明)编辑

  • 创建 Azure 实例
  • 安装 Elasticsearch
  • 安装 Azure 插件
  • 修改 elasticsearch.yml 文件
  • 启动 Elasticsearch

Azure 凭据 API 设置编辑

以下列出了可以进一步控制凭据 API 的设置

cloud.azure.management.keystore.path

/path/to/keystore

cloud.azure.management.keystore.type

pkcs12jceksjks。默认为 pkcs12

cloud.azure.management.keystore.password

您的密钥库密码

cloud.azure.management.subscription.id

您的 Azure 订阅 ID

cloud.azure.management.cloud.service.name

您的 Azure 云服务名称。这是云服务名称/DNS,但不包括 cloudapp.net 部分。因此,如果 DNS 名称是 abc.cloudapp.net,则要使用的 cloud.service.name 只是 abc

高级设置编辑

以下列出了可以进一步控制发现的设置

discovery.azure.host.type
可以是 public_ipprivate_ip(默认)。Azure 发现将使用您设置的 IP 来 ping 其他节点。
discovery.azure.endpoint.name
使用 public_ip 时,此设置用于标识用于将请求转发到 Elasticsearch 的端点名称(也称为传输端口名称)。默认为 elasticsearch。在 Azure 管理控制台中,您可以定义一个端点 elasticsearch,例如将公共 IP 上端口 8100 上的请求转发到虚拟机上的端口 9300。
discovery.azure.deployment.name
部署名称(如果有)。默认为使用 cloud.azure.management.cloud.service.name 设置的值。
discovery.azure.deployment.slot
可以是 stagingproduction(默认)。

例如

discovery:
    type: azure
    azure:
        host:
            type: private_ip
        endpoint:
            name: elasticsearch
        deployment:
            name: your_azure_cloud_service_name
            slot: production