고양이와 코딩
쿠버네티스 클러스터 CrashLoopBackOff 에러 해결 본문
728x90
kubectl create namespace db
kubectl apply ‒f notes-db-volume.yaml
kubectl apply ‒f note-db.yaml
위 명령어를 전부 실행하고
mysql --protocol tcp ‒P 30036 ‒u root ‒p < init-user.sql
mysql --protocol tcp ‒P 30036 ‒u root ‒p < init-db.sql
mysql --protocol tcp –P 30036 –u prgms -p
초기화 파일을 적용하려고 하는데, 반복적으로 에러가 발생했습니다
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
원인을 찾다가 pod의 상태가 이상한것을 발견했습니다!
kubectl describe pod notes-db-795546676c-rr9hv -n db
// 에러 로그 확인
로그를 살펴봤을 때 MariaDB 서버가 시작되지만 데이터베이스 파일을 초기화하는 동안 오류가 발생하여 시스템 테이블을 설치하지 못했다는 것을 알 수 있었습니다.
그 결과, InnoDB 스토리지 엔진이 초기화되지 않았고, 이로 인해 MariaDB가 종료됩니다.
brew unlink mysql mariadb-connector-c
brew install mariadb
mariadb 설치 중 오류가 발생하여 mariadb를 찾을 수 없다고 했기 때문에 mariadb-connector-c를 unlink 한 뒤,
재설치합니다!
그리고 나서 Docker Desktop을 열어서
- 메뉴 -> Preferences (환경설정) 으로 이동
- Resources (자원) 으로 이동
- File Sharing (파일 공유) 아래 디렉토리 목록에 /Desktop/document-editor/data (yaml 파일이 들어있는 경로)를 추가합니다
- 변경사항을 저장하고 Docker 재시작
mysql --protocol tcp ‒P 30036 ‒u root ‒p < init-user.sql
mysql --protocol tcp ‒P 30036 ‒u root ‒p < init-db.sql
이후 다시 터미널에서 두 명령어를 입력하면 아래와 같이 설정이 되는데요,
mysql --protocol tcp –P 30036 –u prgms -p
데이터베이스 구성 확인 명령어를 입력하자 또 다음과 같은 오류가 발생했습니다!
결국 Docker Desktop -> 환경설정 -> Kubernetes -> Reset Kubernetes Cluster
여기까지는 된 것 같습니다.
mysql --protocol tcp -P 30036 -u prgms -p
확인 과정에서 password 오류가 발생해서 host부터 확인했습니다.
HOST관련 문제는 아님을 확인할 수 있습니다.
'데브코스 TIL' 카테고리의 다른 글
[스프린트4] - 데이터베이스 설계 (0) | 2024.03.23 |
---|---|
[스프린트4] - 19주차 Day3 협업, API, 테스트 및 문서화 전략 (0) | 2024.03.21 |
[스프린트 3] 도서 구매 사이트 - 카테고리별 도서 렌더링을 구현해보자 (0) | 2024.03.02 |
[스프린트 3] 도서 구매 사이트 FE 이모저모 (0) | 2024.02.29 |
[웹 풀사이클 데브코스 TIL] 15주차 Day 3 - 리액트 폴더구조와 TSC, global style (0) | 2024.02.21 |