Kubernetes 내부에서 MongoDB 데이터베이스 리소스에 연결하기
다음 절차에서는 Kubernetes 클러스터 내부에서 Kubernetes에 의해 배포된 MongoDB 리소스에 연결하는 방법을 설명합니다.
고려 사항
Kubernetes 리소스를 배포한 호스트 및 포트에 연결할 수 있어야 합니다. 배포서버에 연결하는 방법에 대해 자세히 알아보려면 MongoDB 프로세스에 연결을 참조하세요.
절차
배포서버 에 대한 연결 명령을 검색하고 실행 합니다. 클러스터가 호스팅되는 위치에 따라 Ops Manager 또는 Cloud Manager 애플리케이션 에서 연결 명령을 조회 할 수 있습니다. Kubernetes 시크릿 에서 연결 명령을 조회 할 수도 있습니다. SCRAM 인증 MongoDB X 를 사용하여 MongoDB 사용자를 추가할 때 Kubernetes Operator가 자동으로 생성하는 .509
MongoDB database 리소스에 연결하는 절차는 연결 문자열을 조회하는 방법에 따라 다릅니다.
클러스터가 호스팅되는 위치에 따라 Ops Manager 또는 Cloud Manager 애플리케이션에서 다음 단계를 수행합니다.
대화 상자에 표시된 연결 Connect to your Deployment 명령을 복사합니다.
Kubernetes 내부에서 리소스에 연결할 때 연결하는 호스트 이름의 형식은 다음과 같습니다.
<k8s-pod-name>.<k8s-internal-service-name>.<k8s-namespace>.<cluster-name>
새 MongoDB database 사용자를 생성하면 Operator가 새 시크릿Kubernetes 을 자동으로 Kubernetes 생성합니다. . Kubernetes 시크릿 에는 새 데이터베이스 사용자에 대한 다음 정보가 포함되어 있습니다.
username
: 데이터베이스 사용자의 사용자 이름password
: 데이터베이스 사용자의 비밀번호connectionString.standard
: 이 데이터베이스 사용자로 데이터베이스에 연결할 수 있는 표준 연결 string 입니다.connectionString.standardSrv
: 이 데이터베이스 사용자로 데이터베이스에 연결할 수 있는 DNS 시드 목록 연결 string 입니다.
참고
또는 MongoDB 사용자 리소스 사양 에 선택 사항인 spec.connectionStringSecretName
필드를 지정하여 Kubernetes 연산자가 생성하는 연결 문자열 시크릿의 이름을 지정할 수 있습니다.
다음 단계를 수행하여 자격 증명을 보고 연결 string 을 사용하여 MongoDB 에 연결합니다.
명령을 실행하여 Kubernetes 시크릿 파일을 확인합니다.
터미널에서 다음 명령을 실행하여 시크릿 을 확인합니다. , 변수를 테이블의 값으로 바꿉니다.
자리 표시자 | 설명 |
---|---|
{MongoDB-Resource-Name} | MongoDB 리소스를 식별하는 사람이 읽을 수 있는 레이블입니다. |
{User-Name} | MongoDB 사용자를 식별하는 사람이 읽을 수 있는 레이블입니다. |
kubectl get secret {MongoDB-Resource-Name}-{User-Name}-admin -o jsonpath='{.data}'
이 명령이 오류를 반환하면 시크릿 이름을 확인할 수 있습니다. 다음 명령을 실행하고 올바른 이름을 검색하여
kubectl get secrets
연결 명령을 실행합니다.
연결 string 내의 connectionString.standard
값을 사용하여 배포서버에 연결합니다.
mongosh {connectionString.standard}
(선택 사항) Pod에 Kubernetes 시크릿을 마운트합니다.
pod에 시크릿을 마운트 할 수 있습니다. 애플리케이션이 자격 증명에 액세스할 수 있도록 합니다.