본문 바로가기
인프라

쿠버네티스(Kubernetes) 포트포워딩(PortForward), YAML/POD란? 생성 조회 및 삭제

by 유일리 2024. 1. 12.

먼저 포트포워딩부터 해보자. window powershell에서 실행한다.

 

1. 가상머신 실행

ssh Azure아이디@할당받은IP주소

 

2. 설치

curl -LO https://storage.googleapis.com/minikube/releases/v1.22.0/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube --help
curl -LO https://dl.k8s.io/release/v1.22.1/bin/linux/amd64/kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

 

1) 버전 확인해보기

minikube start --driver=docker

 

2) 상태 확인해보기

minikube status
kubectl get pod -n kube-system

 

YAML, POD이란?

 

YAML은 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식이다. 개발자 또는 시스템 관리자는 yaml 또는 json 파일을 사용하여 정의된 상태를 지정하고 쿠버네티스 API에 제출한다.

POD는 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위이다. 파드는 한 개 이상의 리눅스 컨테이너로 구성된다.

3. nginx를 컨테이너로 실행 : nginx 이미지로 pod 만들기

kubectl run nginx --image nginx --port=80

 

nginx pod에 포트포워딩으로 테스트해보기

kubectl port-forward nginx 18080:80

다음과 같이 나오면 성공한 것을 확인할 수 있다.


이제 YAML 파일로 Pod를 구성하고 생성해보자.

 

1. YAML 파일 생성

vi pod.yaml

 

pod.yaml

apiVersion: v1 # kubernetes resource 의 API Version
kind: Pod # kubernetes resource name
metadata: # 메타데이터 : name, namespace, labels, annotations 등을 포함
  name: counter
spec: # 메인 파트 : resource 의 desired state 를 명시
  containers:
  - name: count # container 의 이름
    image: busybox # container 의 image
    args: [/bin/sh, -c, 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1; done'] # 해당 image 의 entrypoint 의 args 로 입력하고 싶은 부분

esc 후 :wq로 저장 후 종료

 

2. 적용

kubectl apply -f pod.yaml

 

3. 확인 및 조회하기

kubectl describe pod counter
kubectl get pod -w

로그를 확인해보면 계속 찍고 있는 것을 확인할 수 있다.

 

4. 삭제

kubectl delete pod counter

 

댓글