이번 시간엔 쿠버네티스의 매니페스트 파일에 대해서 정리해본다.
그 전에 파드(Pod)에 대한 내용을 조금 정리해보자
파드 (Pod)
- 파드는 쿠버네티스에서 배포 가능한 가장 작은 컴퓨팅 단위 이다.
- 파드는 하나의 애플리케이션을 갖는다.
- 파드는 노드(Node) 안에 자리 잡고, 노드의 자원이 충분하지 않는 경우 새로운 노드를 만들어 파드를 생성한다.
- 스케일 아웃을 하는 경우, 파드 단위로 늘어난다. (애플리케이션 단위 X)
- 하나의 파드 안에 2개의 컨테이너를 생성한 경우 데이터 공간을 공유하며 서로 통신이 가능하다. (docker 의 link 옵션을 대체)
쿠버네티스의 매니페스트 파일은 YAML 양식을 사용하며, 아래와 비슷한 형식을 가진다.
pod-definition.yaml
# 아래 apiVersion, kind, metadata, spec 은 필수 값이다.
# kubernetes API 버전
# 사용할 수 있는 버전은 v1 || apps/v1 || apps/v1-beta || extension/v1-beta 가 있다.
apiVersion: v1
# 사용할 수 있는 종류는 Pod || Service || ReplicaSet || Deployment 가 있다.
kind: Pod
# name, label 등의 필드를 사용할 수 있다.
# label 에는 원하는 값을 설정할 수 있다.
# Dictonary 형식
metadata:
name: myapp-pod
label:
app: myapp
type: server
# 컨테이너와 이미지를 설정하는 아주 중요한 값이다.
spec:
# 컨테이너는 List/Array 형식을 갖으며, 여러개의 컨테이너를 가질 수 있다.
containers:
# '-' 는 리스트의 첫번째라는 것을 표현할 때 쓴다.
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
# - name: backend-container
# image: redis
완성된 매니페스트 파일은 kubectl create -f pod-definition.yaml 로 생성이 가능하다.
이렇게 생성된 pod 는 kubectl port-forward my-app-nginx 8080:80 으로 설정 후 접근이 가능했다.
(임시 설정인 것 같다.)
$ kubectl port-forward my-app-nginx 8080:80
Forwarding from 127.0.0.1:8080 -> 80
Forwarding from [::1]:8080 -> 80
Handling connection for 8080
Handling connection for 8080
이후 Udemy 에서 제공해준 KodeKloud 를 등록했다.
실습 작업 해볼 예정..
'Dev > Kubernetes' 카테고리의 다른 글
[CKAD] section 2. Core Concepts (3) - ReplicaSet & Deployment (0) | 2022.03.11 |
---|---|
[CKAD] section 2. Practice Test (KodeKloud) (0) | 2022.03.08 |
[CKAD] section 2. Core Concepts (1) - Basic (0) | 2022.03.04 |
[CKAD] section 1. Introduction (0) | 2022.03.03 |
[Kubernetes & Docker] 4-3. kubectl 기초 (2/2) (0) | 2022.02.28 |