데이터 공부/Kubernetes 7

쿠버네티스 서비스

1. 서비스란? 변하지 않는 IP 주소와 포트를 제공하는 리소스다. Pod가 죽어버리는 경우, 새 IP가 할당되며 진입점이 변경되는데, 이럴 때도 서비스를 이용해 해당 IP및 port 로 원하는 Pod 중 하나로 접근이 가능하도록 사용하는 리소스를 의미한다. 2. 명령어 (이후 나오는 명령어의 출처는 https://collabnix.github.io/kubelabs/Services101/#deploying--a-kubernetes-service 에서 주요 명령어 위주로 스크랩하였다.) 배포하는 방법은 아래와 같다. kubectl apply -f nginx-svc.yaml 서비스 정보 확인 (service 의 약어: svc) 하는 방법이다. kubectl get svc my-nginx 서비스 세부정보 확인..

Mac M1에서 빌드한 이미지 - exec format error 해결 방법

배경 및 이슈 Logstash에 대한 도커 이미지를 빌드한 뒤, 쿠버네티스를 통해 deploy하려고 하였다. 이미지 빌드/푸시 시 에러가 뜨지 않았기 때문에 문제가 없을 것이라고 생각했는데, pod 가 제대로 실행되지 않아 로그를 살펴보니 아래와 같은 에러가 발생했다. standard_init_linux.go:228: exec user process caused: exec format error 원인 구글링 결과 이 원인은 매우 간단했다. 바로 m1 의 docker build image 기본 설정이 arm64이기 때문에, 포맷이 맞지 않아 발생한 것. 실제로 내가 빌드했던 이미지의 아키텍처 설정이 arm64인지 확인하기 위해서는 docker inspect 로 알 수 있다. docker inspect 그 ..

ECK error 원인 및 해결 방법 - elasticsearch status 가 unknown, kibana status 가 red & pod running 0/1 일 경우

ECK 를 이용하여, ELK 프로세스를 쿠버네티스 환경으로 옮겨주는 과정에서 에러 몇 가지가 발생했다. 그중, 아래 에러에 대한 해결 과정을 포스팅한다. 상태 ECK elasticsearch 의 status는 unknown ECK kibana 의 status 가 red, pod 의 running 상태가 0/1 kibana에서 해당 에러 발생 Readiness probe failed: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers). Readiness probe failed: HTTP probe failed with statuscode: 503 01. 개요 ECK 를 ..

쿠버네티스 - 디플로이먼트의 배포 방식 :: 롤링 업데이트

목차 배포 방식 - 롤링업데이트 디플로이먼트는 애플리케이션을 배포하고 업데이트를 수행하는 리소스다. 이를 통해 배포하는 방식은 크게 네 가지로 분류되며, 방법마다 장단점이 존재한다. 따라서 서비스에 적합한 배포 방식을 채택해야 한다. 오늘은 가장 기본적이자 대표적으로 쓰이는 롤링업데이트 방식에 대해서 포스팅을 할 예정이다. 01. 배포 방식 - 롤링업데이트 앞선 글에서, 디플로이먼트의 개념 및 이점을 포스팅했었다. (이전 게시물) 쿠버네티스란? 주요 개념 익혀보기 - 레플리카셋, 디플로이먼트, 서비스 목차 쿠버네티스 구성요소 - 레플리카셋 쿠버네티스 구성요소 - 디플로이먼트 쿠버네티스 구성요소 - 서비스 01. 쿠버네티스 구성요소 - 레플리카셋(ReplicaSet) 앞선 글에서 파드(pod)에 대해서 포..

쿠버네티스란? 주요 개념 익혀보기 - 레플리카셋, 디플로이먼트, 서비스

목차 쿠버네티스 구성요소 - 레플리카셋 쿠버네티스 구성요소 - 디플로이먼트 쿠버네티스 구성요소 - 서비스 01. 쿠버네티스 구성요소 - 레플리카셋(ReplicaSet) 앞선 글에서 파드(pod)에 대해서 포스팅을 했었다. (이전 글 참고) 쿠버네티스란? - 노드와 파드, 컨테이너 차이를 이해해보자 목차 쿠버네티스란 쿠버네티스 구성요소 - 노드 쿠버네티스 구성요소 - 파드 01. 쿠버네티스란 도커를 어느 정도 공부하다 보면, 쿠버 네티스에 대해서 많이 들어봤을 것이다. 쿠버네티스는 컨테 eng-sohee.tistory.com 여기서, 레플리카셋은 파드의 수를 보장하기 위한 개념이다. 즉, 레플리카 세트를 3으로 설정했다고 가정할 때, 파드가 삭제되거나 (어떠한 이슈에 의해) 다운돼도, 쿠버네티스가 알아서 ..

쿠버네티스란? - 노드와 파드, 컨테이너 차이를 이해해보자

목차 쿠버네티스란 쿠버네티스 구성요소 - 노드 쿠버네티스 구성요소 - 파드 01. 쿠버네티스란 도커를 어느 정도 공부하다 보면, 쿠버 네티스에 대해서 많이 들어봤을 것이다. 쿠버네티스는 컨테이너 개발에 있어, 컨테이너화된 애플리케이션을 탄력적으로 실행하기 위한 프레임 워크를 말한다. 이는 컨테이너화된 애플리케이션의 로드밸런싱 & 시크릿 관리 등을 원활히 하도록 돕는다. 로드 밸런싱(load balancing): 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 뜻함 (동의어: 부하분산) 이는 배포를 원활히 돕는 것뿐만 아니라, 혹여 배포가 잘못되었을 경우 유연한 대처(롤백 등)가 가능하도록 돕는다. 예를 들어, 쿠버네티스를 이용하면..