Production-ready Helm charts for deploying Skupper with HashiCorp Vault integration for enterprise Kubernetes/OpenShift environments.
Skupper enables secure, layer-7 service connectivity across Kubernetes clusters without VPNs, special firewall rules, or cluster admin privileges.
``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ SKUPPER MULTI-CLUSTER MESH │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────┐ ┌─────────────────────────┐ │ │ │ CLUSTER A (Site 1) │ │ CLUSTER B (Site 2) │ │ │ │ ┌─────────────────┐ │ │ ┌─────────────────┐ │ │ │ │ │ skupper-router │◄──┼───────────┼──►│ skupper-router │ │ │ │ │ └────────┬────────┘ │ AMQP 1.0 │ └────────┬────────┘ │ │ │ │ │ │ over TLS │ │ │ │ │ │ ┌────────▼────────┐ │ │ ┌────────▼────────┐ │ │ │ │ │service-controller│ │ │ │service-controller│ │ │ │ │ └─────────────────┘ │ │ └─────────────────┘ │ │ │ │ ┌─────────────────┐ │ │ ┌─────────────────┐ │ │ │ │ │ site-controller │ │ │ │ site-controller │ │ │ │ │ └─────────────────┘ │ │ └─────────────────┘ │ │ │ │ │ │ │ │ │ │ ┌─────────────────┐ │ │ ┌─────────────────┐ │ │ │ │ │ Your Service │ │ │ │ Your Service │ │ │ │ │ │ (Backend) │ │ │ │ (Frontend) │ │ │ │ │ └─────────────────┘ │ │ └─────────────────┘ │ │ │ └─────────────────────────┘ └─────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ HASHICORP VAULT │ │ │ │ • mTLS Certificates (auto-rotated) │ │ │ │ • Inter-router authentication │ │ │ │ • Secrets management │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ```
| Feature | Description |
|---|---|
| 🔐 Vault Integration | Certificates pulled from HashiCorp Vault at deploy time |
| 🌐 Multi-Cluster | Connect services across any Kubernetes clusters |
| 📦 Modular Charts | Three separate Helm charts for flexible deployment |
| 🔄 GitOps Ready | Fully declarative, works with ArgoCD/Flux |
| ⚡ Layer 7 Routing | Application-level traffic management |
| 🛡️ Zero Trust | mTLS encryption for all inter-cluster traffic |
| 📊 Resource Controls | CPU/memory limits and autoscaling support |
```
skupper-helm/
├── skupper-site/ # Site configuration (deploy first)
├── skupper/ # Router + core components
├── skupper-controllers/ # Service & Site controllers
├── values.yaml # Global configuration
└── install.sh # Quick install script
```
- Kubernetes 1.21+ or OpenShift 4.x
- Helm 3.x
- HashiCorp Vault with certificates configured
```bash
helm upgrade --install skupper-site ./skupper-site --namespace my-namespace
helm upgrade --install skupper ./skupper --namespace my-namespace -f values.yaml
helm upgrade --install skupper-controllers ./skupper-controllers --namespace my-namespace ```
| Parameter | Description | Default |
|---|---|---|
| `skupper.router.replicaCount` | Number of router replicas | `1` |
| `skupper.router.resources.limits.memory` | Router memory limit | `256Mi` |
| `ingress.enabled` | Enable inter-router ingress | `true` |
| `remoteSites` | List of remote Skupper sites | `[]` |
```yaml remoteSites:
- name: production-east host: skupper-inter-router.prod-east.example.com ```
- Hybrid Cloud Connectivity - Connect on-prem to cloud without VPNs
- Multi-Cluster Service Mesh - Lightweight Istio alternative
- Database Access - Expose Redis/PostgreSQL across clusters
- Gradual Migration - Run services in both environments seamlessly
| Component | Purpose |
|---|---|
| skupper-router | AMQP router for inter-cluster traffic |
| service-controller | Service exposure and sync |
| site-controller | Annotation-based automation |
| config-sync | Configuration synchronization |
Rakesh Kumar Mallam - Senior Architect @ Red Hat
LinkedIn • GitHub • Portfolio