- Deploy MongoDB Resources on Multiple Kubernetes Clusters >
- Secure Client Connections >
- Secure Deployments with X.509
Secure Deployments with X.509¶
On this page
You can configure the Kubernetes Operator to use X.509 certificates to authenticate your client applications in a multi-Kubernetes-cluster deployment.
To secure your multi-Kubernetes-cluster deployment with X.509 certificates, you run all actions on the central cluster. The Kubernetes Operator propagates the X.509 configuration to each member cluster and updates the Kubernetes Operator configuration on each member cluster.
Prerequisites¶
Before you secure your multi-Kubernetes-cluster deployment using TLS encryption, complete the following tasks:
- Follow the steps in the Multi-Cluster Quick Start Prerequisites.
- Deploy a TLS-encrypted multi-cluster.
- Create credentials for the Kubernetes Operator for the Kubernetes Operator.
Enabling X.509 authentication at the project level configures all agents to use X.509 client authentication when communicating with MongoDB deployments.
X.509 client authentication requires one of the following:
- Cloud Manager
- Ops Manager 5.0.7 or later
Enable X.509 Authentication for a MongoDBMultiCluster Resource¶
Create the secret for your agent’s X.509 certificate of your MongoDBMultiCluster
resource.¶
Run the kubectl
command to create a new secret that stores the agent’s X.509 certificate:
Update your MongoDBMultiCluster
resource to enable X509 authentication.¶
Update your MongoDBMultiCluster custom resource with security settings from the Kubernetes Operator MongoDBMultiCluster resource specification. The resulting configuration may look similar to the following example:
The Kubernetes Operator copies the ConfigMap with the CA created in the central cluster to each member cluster, generates a concatenated PEM secret, and distributes it to the member clusters.
Verify that the MongoDBMultiCluster
resources are running.¶
For member clusters, run the following commands to verify that the MongoDB Pods are in the running state:
In the central cluster, run the following command to verify that the
MongoDBMultiCluster
resource is in the running state:
Renew X.509 Certificates for a MongoDBMultiCluster Resource¶
If you have already created X.509 certificates, renew them periodically using the following procedure.
Renew the secret for your agent’s X.509 certificates.¶
Run the kubectl
command to renew an existing secret that stores
the MongoDBMultiCluster
resource agent certificates: