zoukankan      html  css  js  c++  java
  • elasticsearch6.8版本docker部署配置xpack认证

    1、docker-compose.yml

    这里的volume挂载中config的挂载挂载方式:

    先#注释掉config的挂载,然后启动es,将config整个目录copy到宿主机的config目录中,修改文件权限。然后去掉注释,重新启动就可以成功挂载

    version: '3'
    services:
      elasticsearch6_n0:
        image: elasticsearch:6.8.10
        container_name: elasticsearch6_n0
        privileged: true
        environment:
          - cluster.name=elasticsearch6-cluster
          - node.name=node0
          - node.master=true
          - node.data=true
          - bootstrap.memory_lock=true
          - http.cors.enabled=true
          - http.cors.allow-origin=*
          - "ES_JAVA_OPTS=-Xms6g -Xmx6g"
          - "discovery.zen.ping.unicast.hosts=elasticsearch6_n0,elasticsearch6_n1,elasticsearch6_n2"
          - "discovery.zen.minimum_master_nodes=2"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - ./data/node0:/usr/share/elasticsearch/data
          - ./logs/node0:/usr/share/elasticsearch/logs
          - ./config:/usr/share/elasticsearch/config
        ports:
          - 9200:9200
        networks:
          - esnet
      elasticsearch6_n1:
        image: elasticsearch:6.8.10
        container_name: elasticsearch6_n1
        privileged: true
        environment:
          - cluster.name=elasticsearch6-cluster
          - node.name=node1
          - node.master=true
          - node.data=true
          - bootstrap.memory_lock=true
          - http.cors.enabled=true
          - http.cors.allow-origin=*
          - "ES_JAVA_OPTS=-Xms6g -Xmx6g"
          - "discovery.zen.ping.unicast.hosts=elasticsearch6_n0,elasticsearch6_n1,elasticsearch6_n2"
          - "discovery.zen.minimum_master_nodes=2"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - ./data/node1:/usr/share/elasticsearch/data
          - ./logs/node1:/usr/share/elasticsearch/logs
          - ./config:/usr/share/elasticsearch/config
        ports:
          - 9201:9200
        networks:
          - esnet
      elasticsearch6_n2:
        image: elasticsearch:6.8.10
        container_name: elasticsearch6_n2
        privileged: true
        environment:
          - cluster.name=elasticsearch6-cluster
          - node.name=node1
          - node.master=true
          - node.data=true
          - bootstrap.memory_lock=true
          - http.cors.enabled=true
          - http.cors.allow-origin=*
          - "ES_JAVA_OPTS=-Xms6g -Xmx6g"
          - "discovery.zen.ping.unicast.hosts=elasticsearch6_n0,elasticsearch6_n1,elasticsearch6_n2"
          - "discovery.zen.minimum_master_nodes=2"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - ./data/node2:/usr/share/elasticsearch/data
          - ./logs/node2:/usr/share/elasticsearch/logs
          - ./config:/usr/share/elasticsearch/config
        ports:
          - 9202:9200
        networks:
          - esnet
      kibana:
        image: kibana:6.8.10
        container_name: kibana6
        environment:
          - ELASTICSEARCH_HOSTS=http://elasticsearch6_n0:9200
        volumes:
          - ./kibana/config:/usr/share/kibana/config
        ports:
          - 5602:5601
        networks:
          - esnet
    
    networks:
      esnet:
        driver: bridge

    2、elasticsearch.yml

    cluster.name: "docker-cluster"
    network.host: 0.0.0.0
    
    xpack.security.transport.ssl.keystore.type: PKCS12
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
    xpack.security.transport.ssl.truststore.type: PKCS12
    
    xpack.security.audit.enabled: true
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true

    3、kibana.yml

    #
    # ** THIS IS AN AUTO-GENERATED FILE **
    #
    
    # Default Kibana configuration for docker target
    server.name: kibana
    server.host: "0"
    elasticsearch.hosts: [ "http://elasticsearch:9200" ]
    xpack.monitoring.ui.container.elasticsearch.enabled: true
    elasticsearch.username: "kibana"
    elasticsearch.password: "xxxxxxxx"  #输入你自己的密码

    4、生成ca证书

    docker-compose启动docker

    docker exec进入其中一个节点容器之后

    执行./bin/elasticsearch-certutil ca命令生成ca证书: elastic-stack-ca.p12

    执行./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12生成cert: elastic-certificates.p12

    通过docker cp将elastic-certificates.p12拷贝到容器外挂载的config目录,用于认证

    5、重启es集群然后设置密码

    docker-compose重启docker

    ./bin/elasticsearch-setup-passwords interactive命令进行密码设置

    至此完成设置,此时打开kibana,可看到需要输入用户名密码,建议用elastic用户登录

  • 相关阅读:
    HDU 1800 Flying to the Mars 字典树,STL中的map ,哈希树
    字典树 HDU 1075 What Are You Talking About
    字典树 HDU 1251 统计难题
    最小生成树prim算法 POJ2031
    POJ 1287 Networking 最小生成树
    次小生成树 POJ 2728
    最短路N题Tram SPFA
    poj2236 并查集
    POJ 1611并查集
    Number Sequence
  • 原文地址:https://www.cnblogs.com/to-here/p/15065783.html
Copyright © 2011-2022 走看看