빅토리 코딩
728x90
반응형

개요

kubernetes에서 쓰이는 구성요소들을 yaml 또는 JSON파일에 작성된다. 작성시에 쓰이는 각 Obejct에대해 알아본다.

구성 Object

먼저 주로 사용되는 3가지는 pod, Service, deployment 이다.

pod

Pod는 Kubernetes 객체 모델에서 가장 작고 단순한 단위이다. Cluster에서 실행 중인 프로세스의 단일 인스턴스를 나타내며 밀접하게 결합되고 동일한 네트워크 네임스페이스와 파일 시스템을 공유하는 하나 이상의 컨테이너를 포함할 수 있다.

Service

서비스는 Pod의 논리적 집합과 이에 대한 액세스 정책을 정의하는 추상화입니다. 서비스를 사용하면 애플리케이션이 구현되는 방식에 대한 세부 정보에서 애플리케이션에 액세스하는 방식을 분리하고 Pod 집합에 대해 일관된 IP 주소와 DNS 이름을 제공할 수 있습니다.

type 별로 크게3개로 나누어진다.

ClusterIP

ClusterIP는 안정적인 IP 주소를 사용하여 클러스터의 다른 개체에 Pod 집합을 노출하는 서비스 유형이다. 클러스터 내에서만 액세스할 수 있으며 클러스터 외부에서 서비스의 IP 주소에 대한 요청은 서비스로 라우팅되지 않는다.  Pod를 추가하거나 제거하여 수평으로 확장할 수 있는 웹 서버와 같은 상태 비저장 애플리케이션을 프런트 엔드하는 데 자주 사용된다.

Nodeport

NodePort는 클러스터의 각 노드에 있는 포트를 서비스에 매핑하여 Pod 집합을 외부 세계에 노출하는 서비스 유형이다. 서비스를 생성하면 Kubernetes는 클러스터의 각 노드에 고유한 포트 번호를 할당하고 로드 밸런싱 알고리즘을 기반으로 서비스와 연결된 포드에 트래픽을 전달하며 트래픽은 서비스와 연결된 포드 간에 로드 밸런싱된다. 클러스터 외부에서 액세스해야 하는 데이터베이스 또는 API 서버와 같은 상태 저장 애플리케이션을 노출하는 데 자주 사용된다.

LoadBalancer

LoadBalancer는 클라우드 제공업체의 네트워크에 로드 밸런서를 생성하여 Pod 집합에 대한 외부 액세스를 제공하는 서비스 유형이다. LoadBalancer 유형의 서비스를 생성하면 Kubernetes는 클라우드 제공자로부터 로드 밸런서를 요청하고 고유한 IP 주소를 할당한다. 그런 다음 로드 밸런서는 로드 밸런싱 알고리즘을 기반으로 서비스와 연결된 포드로 트래픽을 전달한다.클러스터 외부에서 액세스해야 하는 웹 서버 또는 마이크로 서비스와 같은 상태 비저장 애플리케이션을 노출하는 데 자주 사용된다.

Deployment

Deployment는 Cluster에 있는 pod 집합의 복제 및 확장을 관리한다. 애플리케이션의 원하는 상태를 선언적으로 관리하고 롤링 업데이트, 롤백 및 확장과 같은 기능을 설정할 수 있다.

그외 오브젝트들

 

ConfigMap

ConfigMap은 key-value 의  데이터를 저장하는 데 사용된다. ConfigMap을 사용하면 애플리케이션 코드에서 구성 데이터를 분리하고 Cluster에서 데이터를 유연하게 관리할 수 있다.

Secret

Secret은 암호나 API 키와 같은 기밀 데이터를 저장하는 데 사용된다. 미사용 및 전송 중에 암호화되며 Cluster에서 중요한 데이터를 안전하게 관리할 수 있는 방법을 제공합니다.

PersistentVolume

PersistentVolume은 Pod가 데이터를 지속적으로 저장하는 데 사용할 수 있는 클러스터의 스토리지이다. Pod 수명 주기와 독립적으로 데이터를 저장하는 방법을 제공하며 Kubernetes에서 동적으로 프로비저닝 및 관리할 수 있다.

Namespace

Namespace는 클러스터의 개체를 논리적 그룹으로 구성하는 데 사용된다. 클러스터의 리소스를 분할하고 단일 클러스터 내에서 여러 애플리케이션과 팀을 격리하고 관리하는 방법을 제공한다.

다음은 yaml 작성하는 내용을 정리 해볼것이다.

728x90
반응형

'Server > kubernetes' 카테고리의 다른 글

Kubernetes 구성 및 Object (yaml 작성)[2]  (0) 2023.05.04
Kubernetes 구성 및 Object (yaml 작성)[3]  (0) 2023.05.03
Kubernetes 기초  (0) 2023.05.02
kubernetes 명령어  (0) 2023.04.28
profile

빅토리 코딩

@빅토리 코딩

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그