DevOps/Kubernetes 3

[Kubernates] 쿠버네티스 워크로드

워크로드 쿠버네티스 상에서 작동되는 애플리케이션 +) 클라우드 분야에서는 애플리케이션을 실행할 때 필요한 IT 리소스의 집합이라는 의미로 통용됨 파드(Pods) 쿠버네티스의 배포 가능한 가장 작은 컴퓨팅 유닛 그 자체로 하나의 논리적인 호스트 파드에 포함된 항목(도커 컨테이너처럼 파드 내에서 다음 요소들은 격리됨) 하나 이상의 애플리케이션 컨테이너 IP 주소 볼륨과 같은 공유 스토리지 파드를 생성하기 위해 파드를 정의할 때, YAML 파일을 사용할 수 있음 apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 YAML 파일로 정의된 파..

DevOps/Kubernetes 2023.10.13

[Kubernates] 쿠버네티스 작동 원리

쿠버네티스 아키텍처 클러스터는 하나 이상의 제어판(Control Plane) 컴포넌트와 이와 연결된 몇 개의 워커 노드로 구성됨 워커 노드 kublet이라는 프로세스가 돌가가고 있는데, 이는 다른 노드와 서로 통신하거나 컨테이너를 실행하는 등 태스크를 실행할 수 있게 함 워커 안에는 한 개 이상의 컨테이너가 자리잡고 있음, 즉 워커 노드는 실제로 애플리케이션이 실행되고 있는 곳 컨테이너, 볼륨, 작동 정보 등을 파드(Pod)라고 부름 제어판(Control Palne) 관리를 위해 필요한 프로세스들이 존재하며, 클러스터가 잘 작동할 수 있게 도움 API 서버 모든 클러스터 관리의 입구로서, 명령을 내릴 수 있는 관문 쿠버네티스에서 제공되는 UI, CLI 등에서 클러스터 관리를 위해 명령을 내리면 API가 ..

DevOps/Kubernetes 2023.10.13

[Kubernetes] 쿠버네티스와 컨테이너 오케스트레이션

컨테이너 오케스트레이션 수십~수백 개의 컨테이너를 관리하고자 할 때 사용하는 툴 왜 수십~수백 개의 컨테이너가 필요한가? - 아키텍처의 트랜드: 모놀리식 -> 마이크로서비스 - 컨테이너 개수 증가 - 확장성을 고려한 스케일링 쿠버네티스(Kubernates, k8s) 오픈소스로 만들어진 컨테이너 오케스트레이션 도구 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링하는 등 관리 기능 제공 온프레미스, VM, 클라우드 등 각기 다른 환경에 대응 가능 사용이 적합하지 않은 경우 여러 단계로 나뉘지 않은 모놀리식 아키텍처 마이크로서비스 분해 전략을 세우는 것이 우선 서너 개에 불과한 컨테이너 docker-compose로 충분 비교적 단순한 아키텍처, 스케일링이 필요하지 않은 경우 트래픽이 증가하거나 스케일링이 ..

DevOps/Kubernetes 2023.10.13