Kim-Baek 개발자 이야기

[TIL] 20.09.10 - k8s initContainer 본문

개발/TIL

[TIL] 20.09.10 - k8s initContainer

김백개발자 2020. 9. 10. 21:23

ES 를 도커 이미지로 띄우는 과정에서 에러가 발생하였다

[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

해당 문제는 vm이나 윈도우에 띄운다면 간단하게 설정만 변경하면 해결할 수 있는 문제이다.

decaffein.tistory.com/entry/Elasticsearch-%EC%8B%A4%ED%96%89%EC%8B%9C-vmmaxmapcount-65530-is-too-low-%EC%98%A4%EB%A5%98-%EC%88%98%EC%A0%95-%EB%B0%A9%EB%B2%95

 

Elasticsearch 실행시 vm.max_map_count [65530] is too low 오류 수정 방법

참고링크) https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode ~/elasticsearch-5.6.1/bin$ [2017-10-11T06:39:53,758][DEBUG][o.e.a.ActionModule ] Using..

decaffein.tistory.com

그러나 도커 이미지로 띄울 경우, 컨테이너 자체가 뜨지 못하게 되기 때문에 해당 명령어를 사용하기 힘들다.

그래서 이미지를 만들 때, 해당 명령어를 날릴 수 있도록 하는 방안이 필요하였다.

그래서 deployment 에 커맨드를 넣는 방식으로 먼저 실행해보았다.

kubernetes.io/ko/docs/tasks/inject-data-application/define-command-argument-container/

 

컨테이너를 위한 커맨드와 인자 정의하기

본 페이지는 파드파드는 클러스터에서 실행 중인 컨테이너의 집합을 나타낸다. 안에서 컨테이너를 실행할 때 커맨드와 인자를 정의하는 방법에 대해 설명한다. 시작하기 전에 쿠버네티스 클러�

kubernetes.io

하지만 아래와 같은 문재가 발생하였다. read only file system.

github.com/oracle/weblogic-kubernetes-operator/issues/1539

 

sysctl: error setting key 'vm.max_map_count': Read-only file system · Issue #1539 · oracle/weblogic-kubernetes-operator

When I try to start elasticsearch-kibana only kibana pod is running and elasticsearch goes in Init Crash Loop Back-off. I read the pod logs kubectl logs elasticsearch-7fc6f9b9bb-8ffgg --all-contain...

github.com

이것은 아래에 작성한 것처럼 초기화 컨테이너를 따로 만들어 해결할 수 있었다.

kubernetes.io/ko/docs/concepts/workloads/pods/init-containers/

 spec:
      initContainers:
        - name: set-vm-max-map-count
          image: busybox
          imagePullPolicy: IfNotPresent
          command: ['sysctl', '-w', 'vm.max_map_count=262144']
          securityContext:
            privileged: true

반응형
Comments