전체 글
kubernetes etcd error message database space exceeded
kubernetes etcd error message database space exceeded
2020.08.23본 문서는 2020년 08월 21일, kubernetes 1.17.9버전, konvoy 1.5버전을 기준으로 작성되었습니다. 에러 발생 정상적으로 동작하던 쿠버네티스 클러스터가 갑자기 새로운 deploy를 생성하지도, 삭제하지도, 수정하지도 못하는 이상증세를 보였습니다. 그리고 다음과 같은 메시지를 띄웠습니다. etcdserver: mvcc: database space exceeded log messages messages로그 등에서도 해당 에러와 함께 이러한 비슷한 구문을 출력하고 많은 에러를 발생시키는 것을 볼 수 있습니다. applying raft message exceeded backend quota compact.go:124] etcd: endpoint ([https://172.16.4.141:..
POSTGRES could not remove file pg wal
POSTGRES could not remove file pg wal
2020.08.23replication 에러 상황에서 postgresql 컨테이너를 강제로 재기동 했더니 저런 로그가 뜨면서 DB접속이 안된다. 당연히 replication도 계속 에러상황이다. 2020-07-07 11:02:55.161 GMT [59] LOG: could not remove file "pg_wal/000000010000002A0000003A": Device or resource busy 2020-07-07 11:02:56.969 GMT [59] LOG: could not remove file "pg_wal/0000000100000004000000DF": Device or resource busy 2020-07-07 11:02:56.969 GMT [303434] ERROR: requested WAL seg..
Tensorflow + CUDA 10.2 + Windows10
Tensorflow + CUDA 10.2 + Windows10
2020.08.23본 문서는 2020년 07월 28일을 기준으로 작성되었음을 알립니다. 머신러닝 전용 VDI 구축과 관련하여 윈도우10 환경에 tensorflow(이하 텐서플로우)를 설치해야 하는 일이 있었다. 텐서플로우는 2.x.x 버전으로 넘어오면서 부터 tensorflow 모듈과 tensorflow-gpu 모듈이 하나로 합쳐져서 tensorflow 모듈만 설치하면 두 기능을 모두 이용할 수 있게 되었다. 하지만, 그에 따라 tensorflow를 정상적으로 설치하고 사용하기 위해서 역시 GPU 인식을 위한 사전 요구사항을 충족해야만 하는 상황이 되었다. 요구사항 1.운영체제 및 파이썬 버전 설치 이슈 문서를 작성하는 시점을 기준으로 현재 TensorFlow 최신 릴리즈 버전은 2.3.0 버전이다. 이러한 상황에서 문제..
DCOS cleanup unreachable tasks
DCOS cleanup unreachable tasks
2020.07.01서비스 운영중에 agent노드 한대가 갑자기 중단되는 상황이 발생했다. 노드 재시작 이후 서비스 원상 복구가 완료되었으나, 중단된 노드에서 동작하던 Task들이 DC/OS Dashboard에서 Unreachable로 표시되어 없어지지 않는 현상이 발생했다. 원인 bundle-2020-03-21-1584755074/128.11.1.69_agent/var/log/mesos/mesos-agent.log: I0320 22:49:04.198818 13317 gc.cpp:129] Unscheduling '/var/lib/mesos/slave/slaves/a3195c3b-8e69-4322-902b-13aa3f891e21-S1/frameworks/24879db0-e85c-486c-9dca-63d49354eac6-000..
Docker 컨테이너 로그 용량
Docker 컨테이너 로그 용량
2020.06.30Docker 컨테이너를 많이 사용하다보면, 단시간에 로그가 급격하게 많이 쌓이는 현상이 발생하기도 한다. /var/lib/docker/containers 경로 아래에는 서버에서 동작중인 컨테이너들의 정보들이 기록되는데, 각각의 컨테이너별로 폴더가 생성이 되고, 그 아래에 "~~".log라는 이름으로 로그들이 생성되게 된다. 나는 이미 EFK 스택을 이용해서 ElasticSearch가 모든 로그들을 수집하여 관리하고 있도록 설정해 두었기 때문에, 저 로그들이 많이 쌓여있어도 아무런 의미가 없다. 그리고 멍청하게 시스템에 용량이 부족해져도 계속 로그가 생성되고 쌓이기 때문에, 저 로그들에 대해서 용량 제한과 같은 설정을 주어야 했다. 다행히도, 역시나 갓갓툴인 Docker에서는 이러한 현상에 대한 대비가 다..
JupyterHub + Ldap 연동
JupyterHub + Ldap 연동
2020.06.30Jupyter Notebook 자체 기능만으로는 사용자 관리에 Ldap연동을 하여 사용하는것이 불가능하다. 때문에 방법을 찾아보던 중 JupyterHub라는 것을 알게 되었다. JupyterHub JupyterHub는 Jupyter notebook을 다중 사용자가 이용하기에 적합한 기능을 간편하게 제공한다. JupyterHub는 이름에서도 느껴지듯이 여러 인스턴스의 notebook 서버를 대상으로 생성, 관리, 접근 등의 기능을 제공하는 멀티 유저 허브로써의 기능을 수행한다. JupyterHub의 아키텍쳐는 위와 같다. 크게 네가지로 컴포넌트를 볼 수 있는데, 아래와 같다. HUB HTTP Proxy notebook SERVER Authentication class 이번 글은 LDAP을 설명하는 글이 아..
PyCharm remote server
PyCharm remote server
2020.05.24본 글은 PyCharm Enterprise, Docker를 활용하였으며, 본 문서의 기능을 테스트하기 위해서는 PyCharm Enterprise의 기능이 필요합니다. Server Setting 필요요소 Docker가 설치된 리눅스 서버 본래 PyCharm remote server의 기능을 이용하기 위해서는 SSH서버, python 인터프리터 만 정상적으로 설치되고 실행 된다면 상관없다. 하지만 본 내용은 해당 기능을 간편하게 테스트 해보기 위한 자료로, 미리 구성 된 환경을 이용하기 위해 Docker가 필요하다. Python server 환경 실행 다음 도커 명령어를 실행하여 미리 구성된 파이썬 환경을 구동한다. 해당 도커 이미지에는 SSH서버, Django 프레임워크를 비롯하여 기본적인 Django 웹..
Linux 서버간 대용량 데이터 빠르게 옮기기
Linux 서버간 대용량 데이터 빠르게 옮기기
2020.05.24일반적으로 서버간 네트워크를 이용하여 파일을 옮길때에 scp, ftp 등의 명령어를 사용하여 옮긴다. 하지만, 파일의 수가 매우 많은 경우에는 각각의 파일에 대해서 데이터 검증을 실행하기 때문에 그만큼 오버헤드가 많이생기고, 속도 저하로 이어진다. 때문에 이러한 경우 tar와 같은 프로그램을 이용해 데이터를 압축하여 전송하는데, 이러한 경우 서버의 스토리지를 두배로 사용하게 되고 각각 압축, 전송에 걸리는 시간이 소모되어 비효율적이다. 전송법 ssh와 tar 명령어를 혼용하여 서버간에 데이터를 빠르고 효율적으로 옮기는 방법이 있어 소개한다. #bash tar -cp [복사할 디렉토리 상대경로] | ssh [목적지 주소] tar xvp -C [목적지 디렉토리 절대경로] 벤치마크 linuxaria의 여러가지..
apt 패키지 설치시 사용자 상호 작용 방지
apt 패키지 설치시 사용자 상호 작용 방지
2020.05.14dockerfile을 이용하여 패키지를 설치하는데, 아래와 같이 선택을 해야하는 항목들이 여러개 발생하여 작업에 어려움이 있었다. Preconfiguring packages ... Configuring tzdata ------------------ Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located. 1. Africa 4. Australia 7. Atlantic 10. Pacific 13. Etc 2. Amer..
docker 컨테이너에서 GPU 사용
docker 컨테이너에서 GPU 사용
2020.05.14본 내용은 2020년 5월 14일에 작성 됨 본 내용은 docker community에디션 19.03.5 버전을 기준으로 작성 됨 예전에 docker에서 gpu를 사용해야 할때, nvidia 그래픽 카드를 지원하는 nvidia-docker 명령어를 따로 설치하여 사용했었는데, docker 진영에서 업데이트를 통해 위의 내용을 흡수하여 반영한 듯 하다. docker 공식 docs의 내용을 확인하면, 이제 별도의 명령어를 설치하지 않고, nvidia-container-runtime 이라는 패키지를 설치하는 것으로 docker 자체 명령어를 사용하여 nvidia-gpu 자원을 컨테이너에서 사용할 수 있도록 지원하는 것으로 보인다. 요구사항 nvidia 그래픽카드가 장착 된 linux 서버 docker 19.0..
Elastic Search FORBIDDEN/12/index read-only / allow delete (api)]
Elastic Search FORBIDDEN/12/index read-only / allow delete (api)]
2020.03.25스토리지 용량이 부족해지면, 키바나에서 해당 인덱스를 read-only로 변경하는 설정이 있다. 대처법은 먼저 디스크에 용량이 부족하거나 했던적이 있는지 확인하고, 그런 사실이 있는 경우 에러가 발생하는 인덱스의 설정을 확인한다. 인덱스 이름을 모른다면, 아래를 통해 인덱스 목록을 조회할 수 있다. curl -XGET 'http:///_cat/indices?v' 인덱스 세팅값 확인하기 curl -XGET 'http:////_settings?pretty' #결과 예시 { "fluent-bit" : { "settings" : { "index" : { "number_of_shards" : "1", "blocks" : { "read_only_allow_delete" : "true" }, "provided_nam..
Docker-1 설치 및 기본 CLI 활용
Docker-1 설치 및 기본 CLI 활용
2020.03.20도커란? 컨테이너 기반의 오픈소스 가상화 플랫폼 중, 가장 대중적으로 사용되고 있는 플랫폼. 컨테이너? 환경 관리 측면에서 현실세계의 컨테이너의 특징과 비교하여 비슷한 구석이 많음. 실제 컨테이너 VS Docker컨테이너 구분 실제 컨테이너 Docker 컨테이너 통일된 규격 내용이 무엇이든 동일한 규격의 상자 내용물에 관계없이 하나의 명령체계 편리한 이동 크레인을 통해 쉽게 옮기고, 쌓을 수 있음 Docker Hub등을 통해 쉽게 업.다운로드 가능 내용물 보호 내부의 물건들이 안전하게 보호됨 HOST의 환경에 컨테이너 내부가 영향받지x Docker 공부에 도움이 되는 키워드 키워드 설명 Image 컨테이너가 실행되기 전 상태. 환경을 주고 받을 때 이미지 형태로 전달한다. 프로그램에 비유하면 실행파일 C..