There are two similar but seperate demos here in this repo:
1- K8S operator to automate Skupper networking between clusters - with all the fixins
2- Step by step process for exposing Dapr service invocation over the Skupper VAN
To run this sample ensure you have the following installed
- Docker
- KinD (Kubernetes in Docker)
- Powershell Core
Steps:
- Stand up a Vault docker image to act as our shared secret store:
- Run the
.\gitops\create_vault.ps1
script to create the image with a weak default password
- Create at least 2 clusters
- Run the
.\gitops\init.ps1
to register the two function calls in your session. - To create a
public
cluster (i.e. a cluster that can be reached externally somehow) we will create a Cluster and add aNodePort
to a pre-determined port mapped to the docker image. - Note: in this example, we are using ports
30080
and30081
but you can use whatever you have available as long as you pass them into yourClusterPool
CRD later on - run
createcluster publiccluster @(30080,30081)
- Next create a private cluster (i.e. one that has no external access)
- run
createcluster privatecluster
- Now you will have 2 clusters with FluxCD installed pointing to this repo.
- Once all is complete, connect to these clusters and run
kubectl get clusterpools -A
. The result should look like this:
NAMESPACE NAME CONNECTED CLUSTERS LOCAL EXPOSED SERVICES TOTAL EXPOSED SERVICES STATE HAS EXTERNAL ACCESS
vslive vslive 1 0 0 Registered true
- Verify you have 2 clusters connected.
- run
createcluster privatecluster2
- Once complete, rerun the above
kubectl command
and verify there are 3 clusters connected.
- Tear down:
- Run
kind delete cluster --name=publiccluster;kind delete cluster --name=privatecluster;kind delete cluster --name=privatecluster2;
to reset your machine state
-- coming soon