사용자 지정 리소스를 사용하면 사용자가 에 액세스하는 데 필요한 인증 및 역할 을 구성할 수 MongoDBUser MongoDB database 있습니다.
예시
다음 예는 MongoDBUser 사용자 지정 리소스에 대한 리소스 사양을 보여줍니다.
apiVersion: mongodb.com/v1kind: MongoDBUsermetadata: name: ldap-user-1spec: username: "uid=mdb0,dc=example,dc=org" db: "$external" mongodbResourceRef: name: ldap-replica-set roles: - db: "admin" name: "clusterAdmin" - db: "admin" name: "readWriteAnyDatabase" - db: "admin" name: "dbAdminAnyDatabase"
필수 MongoDBUser 리소스 설정
이 섹션에서는 모든 MongoDBUser 리소스에 사용해야 하는 설정에 대해 설명합니다.
apiVersion유형: 문자열
MongoDB Kubernetes 리소스 스키마의 버전입니다.
kind유형: 문자열
생성할 MongoDB Kubernetes 리소스의 종류입니다. 이를
MongoDBUser으로 설정합니다.
metadata.name유형: 문자열
이 특정
MongoDBUser리소스를 식별할 수 있도록 사람이 읽을 수 있는 이름입니다.리소스 이름은 44자 이내여야 합니다.
spec.db유형: 문자열
이러한 사용자가 액세스할 MongoDB database 의 이름입니다. 기본값은
admin입니다.spec.db사용자의 인증 데이터베이스를 설정합니다. Kubernetes Operator는 이 데이터베이스를 사용하여 사용자를 식별합니다. 또한 생성된 연결 문자열에서authSource매개변수를 설정하고 생성된 연결 문자열 비밀의 이름을 지정합니다.연결 문자열 URI 경로에서 데이터베이스를 설정하려면 spec.connectionStringDatabase.를 사용하세요.
spec.username유형: 문자열
MongoDB database 또는 컬렉션에 인증하는 데 필요한 사용자를 식별하는 사람이 읽을 수 있는 레이블입니다.
선택적 MongoDBUser 리소스 설정
MongoDBUser 사용자 지정 리소스는 다음 설정을 사용할 수 있습니다.
spec.connectionStringDatabase유형: 문자열
이 사용자를 위해 Kubernetes 연산자가 생성하는 연결 문자열의 URI 경로에 있는 데이터베이스 이름입니다. 연결 문자열 암호를 읽는 클라이언트는 기본적으로 이 데이터베이스를 사용합니다.
spec.connectionStringDatabaseURI 경로를 변경하지만 인증은 변경하지 않습니다. 이는 spec.db에서 제어합니다. 예시를 들어,spec.db이admin이고spec.connectionStringDatabase가myapp인 사용자는admin에 대해 인증하고 기본적으로myapp을 사용합니다.mongodb://my-user:pass@host:27017/myapp?authSource=adminKubernetes 연산자는 연결 문자열 비밀의
connectionString.standard및connectionString.standardSrv키 모두에 데이터베이스를 적용합니다.이 설정을 비워 두면 빈 URI 경로가 됩니다. 이 경우 클라이언트가 활성 데이터베이스를 결정합니다. 예를 들어
mongosh는 ``test``를 기본값으로 사용합니다.spec.connectionStringSecretName유형: 문자열
Operator가 생성하는 연결 string Kubernetes 시크릿의 이름입니다.
새 MongoDB database 사용자를 생성하면 Kubernetes Operator는 자동으로 새 Kubernetes 시크릿을 생성합니다. Kubernetes 시크릿 에는 새 데이터베이스 사용자에 대한 다음 정보가 포함되어 있습니다.
username: 데이터베이스 사용자의 사용자 이름password: 데이터베이스 사용자의 비밀번호connectionString.standard: 이 데이터베이스 사용자로 데이터베이스에 연결할 수 있는 표준 연결 string 입니다.connectionString.standardSrv: 이 데이터베이스 사용자로 데이터베이스에 연결할 수 있는 DNS 시드 목록 연결 string 입니다.
spec.mongodbResourceRef.name유형: 문자열
이 사용자가 연결된 MongoDB 리소스 의 이름입니다. 예를 들어
my-resource입니다.spec.mongodbResourceRef.namespace유형: 문자열
이 사용자의 시크릿이 포함된 네임스페이스 입니다. 지정하지 않으면 Kubernetes Operator는 사용자 지정 리소스 와 동일한
MongoDBUser네임스페이스 에 연결 비밀을 유지합니다.spec.passwordSecretKeyRef.name유형: 문자열
metadata.name사용자의 비밀번호를 저장하는 시크릿의 값입니다. 예를 들어my-secret-name입니다.spec.passwordSecretKeyRef.key유형: 문자열
이 MongoDB database 사용자의 비밀번호가 포함된 시크릿 필드의 이름입니다.
spec.roles.db유형: 문자열
역할 이MongoDB database 작동할 수 있는 입니다. 예를 들어
admin입니다.spec.roles.name유형: 문자열
데이터베이스 사용자에게 부여할 역할 의 이름입니다.