Skupper
Skupper is an over-the-top, multi-platform application interconnect. Skupper makes it easy to deploy private application networks that span multiples sites and platforms.
- Over-the-top - Skupper operates at the application layer, on top of existing IP networks. Services connect across network boundaries without VPNs or special firewall rules.
- Multi-platform - Skupper works on Kubernetes, Docker, Podman, and Linux. It scales up to multi-tenant clusters and down to edge devices.
- Application-centric - Skupper creates isolated application-focused networks with logical service addresses that enable application portability.
- Secure - Skupper uses mutual TLS authentication and encryption to protect all communication. Application services are never exposed on the public internet.
Skupper v2 is the latest generation of Skupper. It has a new declarative API based on CRDs, a new CLI, improved performance, and broader platform support.
Skupper v1 resources are available here.
Use cases
- Remote resource access - Access on-prem resources from the public cloud. Access cloud resources from the private cloud.
- Platform migration - Move application components one at a time to a new platform, with the ability to rollback at any time.
- Application resiliency - High availability and disaster recovery. Data distribution and load balancing.
- Highly distributed applications - Multi-geo retail and logistics applications. Edge applications with diverse compute environments.
Installation
Install Skupper on Kubernetes:
kubectl apply -f https://skupper.io/install.yaml
Install the Skupper CLI:
curl https://skupper.io/install.sh | sh
The Skupper API
Site 1
Site 2
kind: Site
metadata:
name: west
namespace: hello-world-west
spec:
linkAccess: default
--
kind: Listener
metadata:
name: backend
namespace: hello-world-west
spec:
routingKey: backend
host: backend
port: 8080
kind: Site
metadata:
name: east
namespace: hello-world-east
--
kind: Connector
metadata:
name: backend
namespace: hello-world-east
spec:
routingKey: backend
selector: app=backend
port: 8080
Use the CLI to link the sites:
Site 1
Site 2
skupper token issue ~/token.yaml
skupper token redeem ~/token.yaml
The Skupper CLI
Site 1
Site 2
skupper site create west --enable-link-access
skupper listener create backend 8080
skupper token issue ~/token.yaml
skupper site create east
skupper connector create backend 8080
skupper token redeem ~/token.yaml