For all Kubernetes-based migrations, Mirantis recommends running MMT in a Pod rather than using the docker run deployment method. Migration scenarios in which this does not apply are limited to MSR 2.9.x source systems and Swarm-based MSR 3.1.x source and target systems.
All Kubernetes-based migrations that use a filesystem back end must run MMT in a Pod.
When performing a restore from within the MMT Pod, the Persistent Volume Claim (PVC) used by the Pod must contain the data extracted from the source MSR system.
Before you perform the migration, deploy the following Pod onto your Kubernetes-based source and target systems:
apiVersion: v1 kind: ServiceAccount metadata: name: mmt-serviceaccount --- kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mmt-role rules: - apiGroups: ["", "apps", "rbac.authorization.k8s.io", "cert-manager.io", "acid.zalan.do"] resources: ["*"] verbs: ["*"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: mmt-rolebinding subjects: - kind: ServiceAccount name: mmt-serviceaccount roleRef: kind: Role name: mmt-role apiGroup: rbac.authorization.k8s.io --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mmt-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: "20Gi" --- apiVersion: v1 kind: Pod metadata: name: mmt spec: serviceAccountName: mmt-serviceaccount volumes: - name: storage persistentVolumeClaim: claimName: msr - name: migration persistentVolumeClaim: claimName: mmt-pvc containers: - name: mmt image: registry.mirantis.com/msr/mmt:2.0.1 imagePullPolicy: IfNotPresent command: ["sh", "-c", "tail -f /dev/null"] volumeMounts: - name: storage mountPath: /storage - name: migration mountPath: /migration resources: limits: cpu: 500m memory: 256Mi requests: cpu: 100m memory: 256Mi restartPolicy: Never
rulessection of the
Roledefinition, add or remove permissions according to your requirements.
PersistentVolumeClaimdefinition, modify the the
spec.resources.storagevalue according to your requirements.
spec.volumes.persistentVolumeClaim.claimNamefield refers to the PVC used by the target MSR 3.x system. Modify the value as required.