JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

만약 MySQL과 연결이 제대로 되지 않았다면 어떻게 될까?

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
쿠버네티스
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 쿠버네티스 입문/실전
slug
what-if-mysql-connection-fails
type
post
updatedAt
Dec 6, 2025 04:46 AM

✅ 만약 MySQL과 연결이 제대로 되지 않았다면 어떻게 될까?

  1. 매니페스트 파일 수정하기
    1. DB 정보를 일부러 틀리게 바꿔보자.
      spring-deployment.yaml
      apiVersion: apps/v1 kind: Deployment # Deployment 기본 정보 metadata: name: spring-deployment # Deployment 이름 # Deployment 세부 정보 spec: replicas: 3 # 생성할 파드의 복제본 개수 selector: matchLabels: app: backend-app # 아래에서 정의한 Pod 중 'app: backend-app'이라는 값을 가진 파드를 선택 # 배포할 Pod 정의 template: metadata: labels: # 레이블 (= 카테고리) app: backend-app spec: containers: - name: spring-container # 컨테이너 이름 image: spring-server # 컨테이너를 생성할 때 사용할 이미지 imagePullPolicy: IfNotPresent # 로컬에서 이미지를 먼저 가져온다. 없으면 레지스트리에서 가져온다. ports: - containerPort: 8080 # 컨테이너에서 사용하는 포트를 명시적으로 표현 env: - name: DB_HOST value: mysql-service # Service의 name만 입력하면 다른 서비스와 통신할 수 있다. - name: DB_PORT value: "3306" # 숫자값을 문자로 인식하게 만들기 위해 쌍따옴표 붙여야 한다. - name: DB_NAME value: kub-practice - name: DB_USERNAME value: root - name: DB_PASSWORD value: wrong-password
 
  1. 디플로이먼트 적용 및 재시작
    1. $ kubectl apply -f spring-deployment.yaml $ kubectl rollout restart deployment spring-deployment
 
  1. 잘 작동하는 지 확인
    1. $ kubectl get pods
      notion image
       
      [에러 메시지 확인하기]
      DB 정보가 잘못돼서 연결이 제대로 안 되면 아래와 같은 에러 메시지가 발생하면서 파드가 실행되지 않는다.
      $ kubectl logs [파드명]
      notion image
       
  1. 다시 DB 정보를 올바르게 바꾸고 실행시키기
    1. spring-deployment.yaml
      apiVersion: apps/v1 kind: Deployment # Deployment 기본 정보 metadata: name: spring-deployment # Deployment 이름 # Deployment 세부 정보 spec: replicas: 3 # 생성할 파드의 복제본 개수 selector: matchLabels: app: backend-app # 아래에서 정의한 Pod 중 'app: backend-app'이라는 값을 가진 파드를 선택 # 배포할 Pod 정의 template: metadata: labels: # 레이블 (= 카테고리) app: backend-app spec: containers: - name: spring-container # 컨테이너 이름 image: spring-server # 컨테이너를 생성할 때 사용할 이미지 imagePullPolicy: IfNotPresent # 로컬에서 이미지를 먼저 가져온다. 없으면 레지스트리에서 가져온다. ports: - containerPort: 8080 # 컨테이너에서 사용하는 포트를 명시적으로 표현 env: - name: DB_HOST value: mysql-service # Service의 name만 입력하면 다른 서비스와 통신할 수 있다. - name: DB_PORT value: "3306" # 숫자값을 문자로 인식하게 만들기 위해 쌍따옴표 붙여야 한다. - name: DB_NAME value: kub-practice - name: DB_USERNAME value: root - name: DB_PASSWORD value: password123
$ kubectl apply -f spring-deployment.yaml $ kubectl rollout restart deployment spring-deployment
 
정상적으로 작동되는 걸 확인할 수 있다.
$ kubectl get pods
notion image
notion image
author
category
쿠버네티스
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 쿠버네티스 입문/실전
slug
type
series-footer
updatedAt
Dec 6, 2025 04:46 AM
📎
이 글은 비전공자도 이해할 수 있는 쿠버네티스 입문/실전 강의의 수업 자료 중 일부입니다.