In correlation with the end of life (EOL) for MKE 3.7.x, maintenance of this documentation set was discontinued as of 2025-AUG-29. Click here for the latest MKE 3.x version documentation.
Migrate Calico to Kubernetes Datastore Driver (KDD) from etcd
Important
Before you attempt to enable KDD, Mirantis strongly suggests that you make a backup, as you cannot go back to non-KDD/etcd from KDD or recover from a failure in moving to KDD without rolling the cluster back to a known good state in which it was using an etcdv3 datastore.
Obtain the MKE 3 configuration file:
export MKE_USERNAME=<mke-username> export MKE_PASSWORD=<mke-password> export MKE_HOST=<mke-fqdn-or-ip-address> AUTHTOKEN=$(curl --silent --insecure --data '{"username":"'$MKE_USERNAME'","password":"'$MKE_PASSWORD'"}' https://$MKE_HOST/auth/login | jq --raw-output .auth_token) curl --silent --insecure -X GET "https://$MKE_HOST/api/ucp/config-toml" -H "accept: application/toml" -H "Authorization: Bearer $AUTHTOKEN" > mke-config.toml
In the
cluster_configsection of the MKE 3 configuration file, check the setting of thecalico_kddparameter. If it is set totrue, skip the remaining steps. Otherwise, edit the setting totrue.Apply the modified MKE 3 configuration file:
$ curl --silent --insecure -X PUT -H "accept: application/toml" -H "Authorization: Bearer $AUTHTOKEN" --upload-file 'mke-config.toml' https://$MKE_HOST/api/ucp/config-toml
On completion, the following confirmation displays:
{"message":"Calico datastore upgrade from etcd to kdd successful"}
Refer to the official Calico documentation, Configure calicoctl to connect to the Kubernetes API datastore for more information on KDD.