본문 바로가기

파드4

Kubernetes - External service, Service export - 출처: Kubernetes in action - 클러스터 외부에 있는 서비스 연결 지금까지는 모두 클러스터 내부의 파드에 대해서만 통신을 지원하는 서비스를 설명했다. 하지만 쿠버네티스는 외부 서비스를 노출해서 외부 IP과 포트로 연결을 전달할 수 있다. 즉 클러스터 내부 클라이언트 파드에서 외부 서비스로 연결이 가능하다. - 서비스 엔드포인트 서비스와 파드 연결 과정에는 숨은 리소스가 있다. 서비스는 파드에 직접 연결되는것이 아니라 서비스 - 엔드포인트 리소스 - 파드로 연결된다. "kubectl describe svc"명령어로 서비스 정보를 확인해보자. 항목을 보다보면 엔드포인트(Endpoints)란 속성을 확인할 수 있을것이다. 엔드포인트 리소스는 서비스로 노출되는 파드의 IP와 포트 목록이다. .. 2022. 10. 24.
Kubernetes - Replication controller - 출처: Kubernetes in action - 레플리케이션 컨트롤러 레플리케이션 컨트롤러(이하 "rc")는 쿠버네티스 리소스이며 파드가 항상 실행되도록 보장해준다. 어떤 워커노드가 다운 되거나 워커 노드 내에서 파드가 사라지면 감지해서 교체 파드를 생성한다. 직접 생성한 파드 A와 rc에 의해 생성된 파드 B가 같은 워커 노드에 있을 때 노드가 다운 된다면 파드 A는 유실되지만 파드 B는 rc에 의해 관리되기 때문에 새로 생성된다. - rc의 동작 rc는 실행중인 파드 목록을 모니터링해서 "특정" 유형의 파드수가 설정한 파드 수와 일치하는지를 확인한다. 모니터링해서 파드 수가 모자라면 신규 파드를 생성하며 파드가 많아지면 제거한다. 파드수가 모자라는 상황은 이해가 가는데 어떻게 파드가 많아질 수 있.. 2022. 10. 11.
Kubernetes - Pod - 출처: Kubernetes in action - 파드 파드는 하나 이상의 컨테이너 그룹이다. 쿠버네티스는 컨테이너를 개별적으로 배포하지 않으며 컨테이너 그룹인 파드를 배포 및 운영한다. 파드에 속한 컨테이너 그룹은 하나의 워커 노드에 배포된다. 즉 파드 내의 컨테이너들은 각각 다른 워커 노드에 배포되지 않는다. 단순히 기술적인 관점에서는 여러 프로세스를 하나의 컨테이너에서 실행시킬 수 있다. 하지만 이 방법은 권고되지 않는다. 컨테이너는 단일 프로세스를 실행할 목적으로 설계되었다. (자식 프로세스를 생성하는 경우는 예외) 만약 단일 컨테이너에서 여러 프로세스를 실행하면 아래와 같은 문제가있다. 여러 프로세스가 로그를 동일 표준 출력에 기록하면 관리하기가 난해하다. 프로세스별로 재시작하는 매커니즘을 원.. 2022. 10. 9.
Kubernetes - deploy app tutorial - 출처: Kubernetes in action - 출처: https://kubernetes.io/docs/concepts/overview/components/ - 출처: https://preiner.medium.com/kubernetes%EC%9D%98-%EC%9D%B4%ED%95%B4-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC-17245a0d5f4d - 앱 실행 일반적으로 쿠버네티스에 앱을 배포할때는 구성 요소를 기술한 JSON이나 YAML 매니페스트를 준비해야 하지만 첫번째 앱 배포 예제이므로 간단한 방법으로 배포해본다. 책에서는 "kubectl run" 명령어를 통해 레플리케이션 컨트롤러를 생성하여 파드 생성을 제어한다. 그러기 위해 명령어 옵션에 "--generator=r.. 2022. 10. 6.