devops/k8s

[k8s] 5. 서비스 - 파드를 연결하고 외부에 노출

지난 시간엔 디플로이먼트를 통해 레플리카 셋, 파드를 편리하게 관리하는 법을 배웠습니다. 이번 시간에는 파드를 외부에 노출하는 서비스에 대해 알아봅니다. 1. 이전까지 이전 글에서는 다른 파드에 접근하기 위해 임시로 테스트 파드를 만든 뒤 테스트 파드에서 해당 파드로 접근을 했었습니다. 즉, 클러스터 내부에서만 사용할 수 있었습니다. 또한 더 큰 문제는 파드의 IP는 계속 변한다는 부분입이다. 여러개의 디플로이먼트를 연동하려면 파드의 IP가 아닌 다른 걸로 서로를 발견할 수 있는 방법이 필요합니다. (Discovery) 여담이지만, 이 내용을 보니 Spring Cloud의 디스커버리 서비스인 Eureka가 떠오르네요. 2. 서비스 란 서비스의 주요기능은 다음과 같습니다. 1. 여러 개의 파드에 고유한 도..

2020.10.11 게시됨

devops/k8s

[k8s] 4. 디플로이먼트 - 레플리카셋, 파드 배포 관리

실제 운영환경에서는 레플리카셋을 YAML 파일에서 사용하는 경우는 거의 없습니다. 대부분 레플리카 셋과 파드의 정보를 정의하는 Deployment라는 이름의 오브젝트를 YAML 파일에 정의해 사용합니다. 1. 디플로이먼트 레플리카 셋의 상위 오브젝트이기 때문에 디플로이먼트를 생성하면 레플리카 셋도 함께 생성됩니다. 따라서 디플로이먼트를 사용하면 파드와 레플리카 셋을 직접 사용할 필요가 없습니다. 생성 예시) deployment-nginx.yaml apiVersion: apps/v1 kind: Deployment metadata: name: my-nginx-deployment spec: replicas: 3 selector: matchLabels: app: my-nginx template: metadata..

2020.10.11 게시됨

devops/k8s

[k8s] 2. 파드 - 컨테이너의 기본 단위

쿠버네티스에는 셀 수도 없을 만큼 많은 리소스 종류와 컴포넌트가 있습니다. 그중에 이번엔 제일 기초가 되는 파드에 대해 알아보도록 하겠습니다. - 1. Pod(파드) 란 파드는 제일 기초적인 리소스로, 쿠버네티스 상의 컨테이너 애플리케이션의 기본 단위입니다. 파드는 1개 이상의 컨테이너로 구성된 집합입니다. 다음과 같이 기본적인 nginx 파드를 만들어보았습니다. nginx-pod.yaml 이라는 파일을 만들고 아래의 내용을 입력합니다. apiVersion: v1 kind: Pod metadata: name: my-nginx-pod spec: containers: - name : my-nginx-container image: nginx:latest ports: - containerPort: 80 prot..

2020.10.10 게시됨

일상

[오픽] 첫 오픽 시험 IH 달성기

저는 개발자로써 취준을 하면서 극악의 서류 합격률을 자랑했었습니다. 뭐 쓰는거 마다 죄다 서류컷이지.. 코테까진 보게 해달라...! 왜일까 고민해봤는데 아무래도 영어 점수가 없어서 그런것 같아서 생에 처음으로 오픽을 보았습니다. 사실 저는 영어를 고등학교 이후로 크게 공부한적이 없었습니다. 당장 토익만 해도 교내에서 시험본게 다였으니까요. 오픽 시험은 나름 만족스러운 결과였습니다. 일단 공부에 들인 시간 대비 높은 점수가 나왔다는점이 제일 만족스러웠네요. 시험 준비는 시험장 가면서 오픽노잼 동영상 4개정도 본게 다였습니다. ( 개발자는 코테 준비 할 시간도 부족하다 이겁니다 ㅜㅜ ) https://www.youtube.com/channel/UCw4izi2fsJzFltt3EbmokWA 오픽노잼 opicno..

2020.09.22 게시됨

개발

[Docker] 5. 컨테이너 자원 할당 제한

컨테이너를 생성하는 run, create 명령령어에서 컨테이너의 자원 할당량을 조정하도록 옵션을 입력할 수 있습니다. 아무런 옵션이 없으면 컨테이너는 호스트의 자원을 제한 없이 쓸 수 있기 때문에 위험할 수 있습니다. 1. 컨테이너 자원 제한 확인 아래와 같은 명령어를 통해 테스트 컨테이너를 띄우고 컨테이너 정보를 확인할 수 있습니다. 알파인 리눅스는 제일 가벼운 리눅스입니다. docker inspect의 결과물이 json 형태이기 때문에 , 이를 CLI에서 볼 수 있게 jq를 썼습니다. jq 없이 inspect 결과물에서 HostConfig 값을 찾아도 됩니다. [jq 설치] // 테스트 컨테이너 생성 docker run -d --name test-container alpine // 컨테이너 확인 do..

2020.09.20 게시됨