본문 바로가기
IT 끄적이기

쿠버네티스(k8s) 학습하기 - yaml 파일 작성 후 포드 통신 확인

by 미르아 2024. 12. 27.
728x90

쿠버네티스에서 YAML 코드 작성 및 실행은 간단한 단계로 이루어집니다.

아래는 Mac에서 Minikube를 사용해 테스트하는 과정입니다.


1. YAML 파일 작성

YAML 코드는 텍스트 파일 형식으로 작성한 후, 쿠버네티스 클러스터에 적용합니다.

파일 작성 위치:

  • Mac에서는 편한 디렉토리에 YAML 파일을 생성하면 됩니다. 예를 들어, Documents 폴더에서 작업할 수 있습니다.

작성 방법:

  1. 터미널에서 작업 디렉토리로 이동:
  2. bash 코드 복사 cd ~/Documents
  3. YAML 파일 생성 및 작성:
    • 아래 명령으로 파일을 생성한 뒤 편집기를 엽니다:
    • bash 코드 복사 nano frontend-deployment.yaml
    • 내용을 붙여넣고 저장합니다:
    • yaml 코드 복사 apiVersion: apps/v1 kind: Deployment metadata: name: frontend spec: replicas: 1 selector: matchLabels: app: frontend template: metadata: labels: app: frontend spec: containers: - name: frontend image: curlimages/curl command: ["sleep", "3600"]
    • 저장 후 종료(Ctrl + O → Enter → Ctrl + X).

2. YAML 파일 실행

작성한 YAML 파일을 쿠버네티스 클러스터에 적용하여 리소스를 생성합니다.

Minikube 클러스터 확인

Minikube 클러스터가 실행 중인지 확인:

bash
코드 복사
minikube status

만약 실행 중이 아니라면 클러스터를 시작하세요:

bash
코드 복사
minikube start

kubectl 명령어로 적용

YAML 파일을 쿠버네티스에 적용합니다:

bash
코드 복사
kubectl apply -f frontend-deployment.yaml

실행 결과 확인

Deployment와 Pod가 생성되었는지 확인합니다:

bash
코드 복사
kubectl get deployments
kubectl get pods


3. 백엔드 서비스와 Deployment 추가

프론트엔드 포드와 통신할 백엔드 리소스도 같은 방식으로 생성합니다.

  1. 새로운 YAML 파일 생성:
  2. bash 코드 복사 nano backend-deployment.yaml
  3. 아래 내용을 추가:
  4. yaml 코드 복사 apiVersion: apps/v1 kind: Deployment metadata: name: backend spec: replicas: 1 selector: matchLabels: app: backend template: metadata: labels: app: backend spec: containers: - name: backend image: hashicorp/http-echo args: - "-text=Hello from backend"
  5. YAML 파일을 적용:
  6. bash 코드 복사 kubectl apply -f backend-deployment.yaml
  7. 서비스 생성:
    • 백엔드 포드와 통신하기 위한 서비스 설정도 추가합니다:
      yaml
      코드 복사
      apiVersion: v1
      kind: Service
      metadata:
        name: backend-service
      spec:
        selector:
          app: backend
        ports:
          - protocol: TCP
            port: 80
            targetPort: 5678
      
      
    • bash 코드 복사 nano backend-service.yaml
    • 적용 명령 실행:
    • bash 코드 복사 kubectl apply -f backend-service.yaml

4. 포드 간 통신 테스트

프론트엔드 포드에서 백엔드 서비스로 요청을 보냅니다:

  1. 프론트엔드 Pod의 이름 확인:
  2. bash 코드 복사 kubectl get pods
  3. 프론트엔드 Pod에 접속:
  4. bash 코드 복사 kubectl exec -it <frontend-pod-name> -- sh
  5. 백엔드 서비스로 요청 보내기:
  6. bash 코드 복사 curl <http://backend-service>
  7. 결과 확인:
    • 출력: Hello from backend

정리

  1. YAML 파일 작성 위치: Mac의 로컬 디렉토리(예: ~/Documents).
  2. 작성 도구: 텍스트 편집기(nanovim, 또는 Visual Studio Code).
  3. 적용: kubectl apply -f <파일명> 명령어로 클러스터에 적용.
  4. 테스트: **kubectl exec**로 포드에 접속해 네트워크 통신 확인.
728x90