
mysql
Ubuntu 컴퓨터에 설치했습니다 . 또한 로컬에서 배포를 실행 Kubernetes
하고 배포했으며 명령을 사용하여 해당 배포에 연결할 수 있습니다 .mysql
Kubernetes
kubectl exec -it mysql-b4769786-5hf4m sh
mysql -p
지금은 조금 혼란스럽습니다. 두 개의 분리된 데이터베이스가 있는지 모르겠습니다. 하나는 내 OS에서 로컬로 실행되고 다른 하나는 로컬에서도 실행되지만 내 Kubernetes 클러스터에서 실행됩니까? 그렇다면 어떻게 그들 각각에게 다가갈 수 있습니까? 작업 중인 셸이 Kubernetes mysql 또는 내 OS mysql에 연결되어 있는지 어떻게 알 수 있나요?
아니면 NodeJS 앱을 작성할 때 Ubuntu에 설치된 mysql에 연결되거나 로컬 Kubernetes에서 실행 중인 mysql 포드에 연결됩니까?
답변1
실제로 두 개의 서로 다른 데이터베이스가 있습니다. 컨테이너는 완전히 다른 운영 체제(기본 이미지)를 가질 수도 있습니다.
간단한 테스트를 실행하여 다시 확인할 수 있습니다.
MySQL 컨테이너 내에 "컨테이너" 데이터베이스 생성
SHOW DATABASES를 실행하세요. 다른 MySQL 인스턴스에서. 아무것도 발견하면 안 됩니다.
답변2
두 개의 mysql 데이터베이스가 있습니다. 하나는 Ubuntu 시스템에 있고 다른 하나는 kubernetes에 있습니다.하지만 Ubuntu 시스템의 kubernetes에서 mysql을 사용하려면 Nodeport를 생성해야 합니다. mysql 서비스를 노출하지 않으면 Ubuntu 시스템의 로컬 애플리케이션이 kubernetes mysql 포드에 연결할 수 없습니다. mysql 포드를 노출하는 경우 mysql 문제를 방지하기 위해 다른 포트를 사용하십시오.