Confirm each prerequisite on this page before you start a migration of a self-managed deployment into Kubernetes.
A Ops Manager or Cloud Manager connection
ConfigMapwith the keysbaseUrl,orgId, andprojectName.An API key
Secretwith the keyspublicKeyandprivateKey.The Kubernetes Operator
ServiceAccounthasbatch/jobspermissions (create,get,list,watch, anddelete) for the dry-run connectivity Job.The project contains exactly one deployment.
Deployment and Cluster Requirements
You need:
An existing replica set or sharded cluster that Ops Manager or Cloud Manager manages.
A Kubernetes cluster, or clusters, with Kubernetes Operator already installed. For a multi-cluster target, provision and bring every cluster under operator management before migration begins, and confirm that cross-cluster FQDN resolution already works.
A deployment that is healthy and at goal state.
Plugin and Operator RBAC
You need:
The
kubectl mongodbplugin, at a version that matches Kubernetes Operator. Kubernetes Operator enforces this version match on every reconcile, including the dry run, through themongodb.com/migrate-tool-versionannotation.Operator Role-Based Access Control (RBAC) restricts system access based on assigned roles. Here, it includes
batch/jobspermissions (create, get, list, watch, and delete), which Kubernetes Operator requires to run the dry-run connectivity Job.
Network and Certificates
You need:
Bidirectional network connectivity between the virtual machine hosts and the Kubernetes Pods. You provision this connectivity yourself. Agent-to-
mongodandmongod-to-mongodtraffic must flow in both directions across the boundary, and your drivers must reach both sides.cert-manageror an equivalent certificate issuer, if the deployment uses TLS.
Credentials and Backup
You need:
The SCRAM user passwords in hand. You cannot recover them from the automation config, which stores only the salt, the server key, and the stored key.
A backup taken before you start.
Supported Topologies and Authentication
Migration supports replica sets and sharded clusters. It supports No Auth, SCRAM-SHA-256, X.509, LDAP, and TLS, in any combination. When you use LDAP, the bindMethod must be simple.