DevSprout / Hands-On-Microservices-with-Spring-Boot-and-Spring-Cloud

:rocket: 스프링으로 하는 마이크로서비스 구축 스터디
6 stars 2 forks source link

Chapter 15. 쿠버네티스를 사용한 경량 마이크로서비스 개발 #12

Open MinJunKweon opened 2 years ago

MinJunKweon commented 2 years ago

느낀점

  1. 동일한 kubectl create 커맨드를 두 번 실행하면 어떻게 되는가?

    동일한 name을 가진 리소스가 존재하는 경우, AlreadyExists 에러가 발생함

  2. 동일한 kubectl apply 커맨드를 두 번 실행하면 어떻게 되는가?

    변경사항을 감지해서 기존에 생성된 리소스에 변경사항을 반영함.

  3. 1번과 2번 문제의 두 번째 실행 결과가 다른 이유는 무엇인가?

    create 커맨드는 리소스를 생성하는 것이 목적이고, apply 커맨드는 리소스 디스크립터의 내용을 반영하는 것이 목적이기 때문

  4. ReplicaSet의 사용 목적은 무엇인가? ReplicaSet을 생성하는 리소스는 무엇인가?

    동일한 Pod을 여러 개 복제해서 사용하고 이를 관리하기 위해 사용한다. 디플로이먼트에 의해 ReplicaSet이 생성된다.

  5. 쿠버네티스 클러스터에서 etcd의 기능은 무엇인가?

    클러스터 내에서 사용하는 Key-Value 데이터베이스로서 기능한다. ConfigMap과 같이 클러스터 내에서 관리되어야하는 값들도 etcd에 저장되고, RBAC에 필요한 정보들 또한 etcd에 저장된다.

  6. 컨테이너는 동일한 Pod에서 실행되는 다른 컨테이너의 IP 주소를 어떻게 알아내는가?

    Pod는 배포 가능한 가장 작은 단위이므로, 같은 Pod 내의 컨테이너들은 항상 같은 노드와 같은 네트워크를 사용한다. 따라서, 127.0.0.1로 다른 컨테이너 IP에 접근 가능하다. 그렇기 때문에 같은 Pod의 컨테이너들은 항상 다른 Port를 사용해야한다.

  7. 이름이 같지만 네임스페이스가 다른 2개의 디플로이먼트를 생성하면 어떻게 되는가?

    네임스페이스가 다르면 별개의 리소스로 취급되기 때문에 이름이 같아도 생성이 된다.

  8. 어떤 경우에 이름이 같지만 네임스페이스가 다른 2개의 서비스를 생성했을 때 실패하는가?

    같은 노드에 각기 다른 네임스페이스에서 NodePort 타입의 서비스를 생성하려고 할 때 실패한다. 노드 포트는 노드에서 노출된 Port를 통해 들어오는 요청들을 로드밸런싱하는 서비스이므로 이미 할당된 서비스가 존재하는 경우 에러가 발생하게 된다.

2rohyun commented 2 years ago

느낀점


쿠버네티스 개념 소개


쿠버네티스 API 객체 소개


image

쿠버네티스 런타임 컴포넌트 소개


LOG-INFO commented 2 years ago

끄적끄적

minkukjo commented 2 years ago

느낀점