출처 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-file]

서비스 구성

  • setup
  • es01
  • es02
  • es03
  • kibana

setup

  • 통신에 사용할 CACERT 를 생성하여 certs 라는 docker volume 에 저장
    • certs volume 에 저장된 CACERT 파일을 다른 서비스들이 마운트하여 공유한다.
    • xpack.security.enabled 를 통해 Basic Auth 를 활성화할 수 있다.
      • xpack.security.enabled = true 이면 xpack.security.transport.ssl.enabled 역시 반드시 true 여야만 한다.
      • 단, xpack.security.http.ssl.enabled 는 false 로 두어도 되니, 관련 environment 는 삭제하여 사용해도 무방하다.

es01~03

  • Elasticsearch node 인스턴스
  • ELASTIC_PASSWORD 라는 환경변수를 통해 built-in superuser 'elastic' 의 비밀번호를 설정한다.
  • ports 값의 경우, {host 머신의 port}:{container 의 port} 로 구성되어 있는 것

kibana

  • kibana 인스턴스
  • ELASTICSEARCH_HOSTS 의 경우, 여러 노드를 정의하려면 아래와 같은 형식으로 작성한다.

'Elasticsearch' 카테고리의 다른 글

Recovering Write Failure  (0) 2023.07.02
  • primary term (_primary_term)
    • replication group 에서 primary shard 가 몇번이나 바뀌었는지를 나타내는 counter
    • 1 부터 시작
  • sequence number (_seq_no)
    • replication group 내에서 document write operation 이 몇번이나 일어났는지 나타내는 counter
    • 0 부터 시작
  • checkpoint
    • global checkpoint
      • replication group 단위로 관리
      • replication group 내의 모든 shard 들이 '최소' 이 seq_no 이상까지 잘 복제되었음을 나타냄
    • local checkpoint
      • replica shard 내에서 관리
      • 마지막으로 처리된 write operation 에 대한 sequence number

'Elasticsearch' 카테고리의 다른 글

Elasticsearch docker-compose.yml 이해  (0) 2023.07.05

key path : spec.template.spec.containers[].env[]

spec:
  template:
    spec:
      containers:
        - name: my-container
          env:
            - name: pod.ip
              valueFrom:
                fieldRef:
                  fieldPath: status.podIp
            - name: node.data
              value: "true"

POD 내의 환경변수에 pod.ip, node.data 가 설정되었음을 확인할 수 있음.

 

[moraeall@my-container ~]$ echo $pod.ip
127.0.0.1
[moraeall@my-container ~]$ echo node.ingest | awk '{print ENVIRON[$1]}'
true

 

cf. 그냥 echo ${node.ingest} 를 입력하면 bash: ${node.ingest}: bad substitution 이라는 메세지를 확인할 수 있는데, bash 는 .(dot) 을 포함한 변수 이름을 처리하지 못하기 못하기 때문에 환경변수를 확인할 수 있는 별도의 방법으로 접근해야 한다.

https://stackoverflow.com/a/52618002

+ Recent posts