쿠버네티스 환경에서 엘라스틱서치 싱글노드 띄우기

뜨개발자·2024년 5월 3일
0
apiVersion: apps/v1
kind: Deployment
metadata:
  name: elasticsearch-node1 # 파드 이름
  namespace: branch # 어떤 네임스페이스에 띄울래?
spec:
  replicas: 1 # 띄울 파드 개수
  selector:
    matchLabels:
      app: elasticsearch # service랑 연결할 때 쓰는 selector 이름
  template:
    metadata:
      labels:
        app: elasticsearch
    spec:
      initContainers: # container 보다 먼저 실행
      - name: fix-permissions
        image: busybox
        command: ['sh', '-c', 'chown -R 1000:1000 /usr/share/elasticsearch/config'] # 권한 부여
        volumeMounts:
        - name: config-volume
          mountPath: /usr/share/elasticsearch/config
  containers:
    - name: elasticsearch
      image: docker.elastic.co/elasticsearch/elasticsearch:8.13.2
      securityContext: # 사용자와 사용자그룹 설정
        runAsUser: 1000
        runAsGroup: 1000
      env:
        - name: discovery.type
          value: single-node # 단일 노드로 설정
      volumeMounts:
        - name: config-volume
          mountPath: /usr/share/elasticsearch/config # config 폴더를 외부에서 가져옴

  volumes:
    - name: config-volume
      hostPath:
        path: /data/containerd/elasticsearch/node1 # 가져올 config 폴더 내용물 경로
        type: Directory
  nodeSelector: # 몇번 노드에 띄울지 지정
    name: node2
profile
뜨개질하는 개발자

0개의 댓글