Overview
The cert-manager integration enables vCluster to leverage an existing cert-manager installation running on the host cluster. This integration allows you to manage TLS certificates within your virtual cluster while utilizing the host cluster’s cert-manager infrastructure.Key Benefits:
- Reuse existing cert-manager installation on the host cluster
- No need to deploy cert-manager in each virtual cluster
- Seamless certificate management across cluster boundaries
- Access to host cluster’s ClusterIssuers from within virtual clusters
How It Works
When the cert-manager integration is enabled, vCluster automatically syncs specific cert-manager custom resources between the virtual and host clusters: From Virtual Cluster → Host Cluster:Certificates- Certificate requests created in the virtual cluster are synced to the hostIssuers- Namespace-scoped issuers are synced to the host cluster
ClusterIssuers- Cluster-wide issuers from the host are available in the virtual cluster
Prerequisites
Before enabling the cert-manager integration:-
cert-manager must be installed on the host cluster
-
Verify cert-manager is running
-
Ensure cert-manager CRDs are installed
Setup Instructions
Basic Configuration
Enable the cert-manager integration in your vCluster values file:values.yaml
Advanced Configuration
You can customize which resources are synced:values.yaml
Selective ClusterIssuer Syncing
To sync only specific ClusterIssuers from the host cluster, use label selectors:values.yaml
Usage Examples
Using a ClusterIssuer from the Host
Once enabled, ClusterIssuers from the host cluster are automatically available in your virtual cluster:certificate.yaml
Creating a Virtual Cluster Issuer
You can create Issuers within your virtual cluster that will be synced to the host:issuer.yaml
Using Certificates with Ingress
Automatically provision TLS certificates for your Ingress resources:ingress.yaml
Validation
Verify that the integration is working correctly:1. Check Certificate Status
2. Verify Secret Creation
3. Check Host Cluster Resources
Common Issues and Solutions
Issue: Certificates Not Being Issued
Symptoms: Certificate remains in pending state Solution:-
Check cert-manager logs on the host cluster:
-
Verify the ClusterIssuer exists and is ready:
-
Check Certificate events:
Issue: ClusterIssuers Not Visible in Virtual Cluster
Symptoms:kubectl get clusterissuers shows no resources
Solution:
-
Verify the integration is enabled:
-
Check if label selectors are too restrictive:
-
Restart the vCluster control plane:
Issue: Duplicate Resources on Host
Symptoms: Multiple certificates with similar names on the host cluster Solution: This is expected behavior. vCluster translates resource names to avoid conflicts. The naming pattern is:Issue: Integration Conflicts with Custom Resources
Error:cert-manager integration is enabled but cert-manager custom resource is also set in sync.toHost.customResources
Solution:
Remove cert-manager CRDs from manual sync configuration:
Configuration Reference
Complete configuration options fromchart/values.yaml:970-989:
Best Practices
-
Use ClusterIssuers for Shared Infrastructure
- Create ClusterIssuers on the host cluster for common certificate authorities
- Let multiple virtual clusters reuse the same issuers
-
Implement Label-Based Filtering
- Use label selectors to control which ClusterIssuers are visible to virtual clusters
- Prevent access to sensitive or internal-only issuers
-
Monitor Certificate Renewal
- Set up monitoring for certificate expiration
- Use cert-manager’s Prometheus metrics on the host cluster
-
Test in Development First
- Enable the integration in a development virtual cluster first
- Verify certificate issuance before promoting to production
-
Avoid Manual Sync Configuration
- Don’t manually configure cert-manager CRDs in
sync.toHost.customResources - Use the integration’s built-in sync logic instead
- Don’t manually configure cert-manager CRDs in