[Kubernetes] Object - Namespace란 ?
DevOps/Kubernetes2022. 3. 28. 10:49[Kubernetes] Object - Namespace란 ?

✔️ namespace란 ?! Namespace란 쿠버네티스 클러스터 내의 논리적인 분리 단위이자 오브젝트를 묶는 하나의 가상 공간 또는 그룹이다. 하나의 클러스터 내에 개발/운영/테스트 환경이 있다면 비슷한 이름의 수많은 오브젝트들이 생길 것이고 운영자와 사용자는 관리와 사용 측면에서 어려움을 겪게 된다. 쿠버네티스에서는 namespace를 통해 운영환경을 논리적으로 분리하여 운영할 수 있다. Namespace로 할 수 있는 것 사용자별로 네임스페이스 접근 권한을 다르게 운영할 수 있다. namespace 별로 리소스의 할당량을 지정할 수 있다. (ResourceQuota 사용) namespace 별로 리소스(Pod, Service)를 나눠서 관리할 수 있다. 주의해야할 점 namespace는 클러스터..

[Kubernetes] Service Discovery
DevOps/Kubernetes2022. 3. 17. 15:39[Kubernetes] Service Discovery

✔️ Service Discovey MSA와 같은 분산 환경은 서비스 간의 원격 호출로 구성이 된다. 원격 서비스 호출은 IP 주소와 포트를 이용하는 방식이 있다. 클라우드 환경으로 변하면서 서비스가 오토 스케일링 등에 의해 동적으로 생성되거나, 컨테이너 기반의 배포로 인해 서비스의 IP가 동적으로 변경되는 일이 잦아졌다. 그래서 서비스 Client가 서비스를 호출할 때 서비스의 위치 (즉 IP주소와 포트)를 알아낼 수 있는 기능이 필요한데, 이것을 바로 서비스 디스커버리라고 한다. Service A의 인스턴스들이 생성이 될때, Service A에 대한 주소를 Service registry (서비스 등록 서버)에 등록해놓는다. Service A를 호출하고자 하는 클라이언트는 Service registry..

[Kubernetes] Object - Service
DevOps/Kubernetes2022. 3. 17. 12:12[Kubernetes] Object - Service

✔️ Service Object의 개념 쿠버네티스에서의 Service는 Pod들의 집합이며 동일한 서비스 동작을 구현하는 여러가지 Pod를 묶어 하나로 관리하는 오브젝트이다. [Kubernetes] Object 개념 ✔️ Kubernetes 구성 쿠버네티스는 크게 오브젝트(Object)와 오브젝트를 관리하는 컨트롤러(Controller)로 나눠져 있다. 쿠버네티스 오브젝트는 쿠버네티스 시스템에서 영속성을 가진다. 오브젝트를 nice-engineer.tistory.com ✔️ Service Object의 등장 배경 1. 서비스를 위한 고정 IP의 필요성 서버는 문제가 생기면 서버를 재시작하고 서비스를 재시작하지만 Pod는 문제가 생기면 그 Pod를 삭제한 뒤 새로운 Pod를 생성한다. 따라서 Pod의 IP..

[Kubernetes] Object 개념
DevOps/Kubernetes2022. 3. 17. 10:23[Kubernetes] Object 개념

✔️ Kubernetes 구성 쿠버네티스는 크게 오브젝트(Object)와 오브젝트를 관리하는 컨트롤러(Controller)로 나눠져 있다. 쿠버네티스 오브젝트는 쿠버네티스 시스템에서 영속성을 가진다. 오브젝트를 생성하면 쿠버네티스는 원하는 상태를 보장하기 위해 지속적으로 작동한다. 쿠버네티스는 클러스터의 상태(Status)를 나타내기 위해 이 오브젝트를 이용한다. 거의 모든 쿠버네티스 오브젝트는 오브젝트 구성을 결정해주는 두개의 중첩된 오브젝트 필드인 status와 spec을 포함한다. status : 쿠버네티스 시스템과 컴포넌트에 의해 제공되고 업데이트된 오브젝트의 현재 상태를 설명 spec : 오브젝트의 특성으로 추구하는(Desired) 상태를 설명 컨트롤러는 status가 spec과 일치하도록 오브..

[Kubernetes] Workload Resources
DevOps/Kubernetes2022. 3. 16. 18:03[Kubernetes] Workload Resources

✔️ Workload란 ?! 워크로드란 쿠버네티스에서 구동되는 어플리케이션이다. 워크로드가 단일 구성 요소든 함게 작동하는 여러 구성 요소이든 상관없이 쿠버네티스에서는 Pod 세트 내에서 실행한다. 쿠버네티스 Pod에는 LifeCycle이 정의되어 있다. 예를 들어 클러스터에서 Pod가 실행 중에 그 Pod가 실행 중인 노드에 심각한 장애가 발생하면 해당 노드의 모든 Pod에 장애가 발생한다는 것을 의미한다. 노드가 나중에 정상 상태가 되더라도 복구하려면 새 Pod를 생성해야 한다. 그러나 Pod의 LifeCycle을 관리하기 위해 우리는 각 Pod를 직접 관리할 필요가 없다. 우리대신 Pod set을 관리하는 Workload Resources를 사용할 수 있다. ✔️ Workload Resources란..

[Kubernetes] Pod란 ?
DevOps/Kubernetes2022. 3. 16. 16:33[Kubernetes] Pod란 ?

AWS EKS 실습을 진행하면서 만났던 생소한 개념들을 정리하는 글. 하단 링크 글이 많은 도움이 되었다. [Kubernetes] 쿠버네티스 Pod 안녕하세요. 개발자 김모씨입니다. 쿠버네티스 시리즈를 이어가고 있죠. 혹시 이전 포스팅 '쿠버네티스 구조'를 아직 안 보신 분은 얼렁 다녀오세요~ artist-developer.tistory.com/31 안 artist-developer.tistory.com ✔️ Pod란 ? Pod란 쿠버네티스의 가장 기본적인 배포 단위이다. 마스터 노드에서는 워커 노드로 Pod를 전달하고 워커 노드에서는 Pod를 수행하는 구조이다. 한 개의 워커 노드에는 N개의 Pod들이 돌아가게 된다. 쿠버네티스는 컨테이너(Docker 등)를 개별적으로 배포하는 것이 아닌 Pod 안에 ..

image