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.ps1script to create the image with a weak default password
- Create at least 2 clusters
- Run the
.\gitops\init.ps1to register the two function calls in your session. - To create a
publiccluster (i.e. a cluster that can be reached externally somehow) we will create a Cluster and add aNodePortto a pre-determined port mapped to the docker image. - Note: in this example, we are using ports
30080and30081but you can use whatever you have available as long as you pass them into yourClusterPoolCRD 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 commandand 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