본문 바로가기
  • _^**_
무근본 IT 지식 공유/무근본 쿠버네티스(Kubernetes)

[무근본 쿠버네티스 공부] YAML 기초 문법 3가지 ! - 왕초보도 이해하는 쿠버네티스 기본문법

by 크리드로얄워터 2023. 3. 25.
반응형
쿠버네티스의 기초 문법에 대한 예시를 몇 가지 들어보겠습니다.

 

 

파드(Pod)

 

아래는 nginx 이미지를 사용하는 파드를 생성하는 YAML 파일의 예시입니다.

 

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80

 

의 YAML 파일에서 apiVersion은 쿠버네티스 API 버전을 나타내며, kind는 생성하려는 객체 종류를 나타냅니다.

 

metadata는 파드의 이름과 레이블 정보를 지정하며, spec은 파드에 대한 세부 정보를 지정합니다.

 

이 예시에서는 하나의 컨테이너를 포함하는 파드를 생성하고, 해당 컨테이너는 nginx 이미지를 사용하며 80번 포트를 열어 두었습니다.

 

 

레이블(Label)

 

아래는 레이블을 사용하여 파드를 그룹화하는 YAML 파일의 예시입니다.

 

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx
    tier: frontend
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80

 

위의 YAML 파일에서 metadata의 labels 항목에서 app: nginx와 tier: frontend라는 두 개의 레이블을 지정했습니다.

 

이 레이블을 사용하여 같은 애플리케이션의 다른 파드들과 그룹화할 수 있습니다.

 

 

서비스(Service)

 

아래는 서비스를 생성하는 YAML 파일의 예시입니다.

 

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
    tier: frontend
  ports:
  - name: http
    port: 80
    targetPort: 80
  type: ClusterIP

 

yaml 위의 YAML 파일에서 metadata의 name 항목에서 서비스의 이름을 지정하였고,

 

spec 항목에서는 selector 항목에서 app: nginx와 tier: frontend 라는 레이블을 사용하여 이전에 만들어진 파드들을 선택하고,

 

ports 항목에서는 80번 포트를 사용하는 http 서비스를 정의하였습니다.

 

type 항목은 서비스의 유형을 나타냅니다. 이 예시에서는 ClusterIP 유형을 사용하여 클러스터 내부에서만 서비스에 접근할 수 있도록 설정하였습니다.

 

반응형

댓글