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 게시됨