XXC demo
XXC: https://github.com/vmware-tanzu/cross-cluster-connectivity
How to run the demo (using Kind as your local cluster)
Create a local kind cluster:
kind create cluster --name xcc-demo --config kind.config.yaml
NOTE: You can find this config file in the repo
Deploy contour on your local kind cluster (and a sample kuard application to test):
kubectl apply -f https://projectcontour.io/quickstart/contour.yaml --context kind-xcc-demo
kubectl patch daemonsets -n projectcontour envoy -p '{"spec":{"template":{"spec":{"nodeSelector":{"ingress-ready":"true"},"tolerations":[{"key":"node-role.kubernetes.io/master","operator":"Equal","effect":"NoSchedule"}]}}}}' --context kind-xcc-demo
ytt -f values.yaml -f cluster-local/sample-app.yaml | kubectl apply --context kind-xcc-demo -f -
NOTE: You should be able to access your local application at http://kuard.127.0.0.1.nip.io
Deploy xcc-demo to cluster-b
ytt -f values.yaml -f cluster-remote/resources.yaml | kubectl apply --kubeconfig ~/.kube/config.d/kubeconfig-dev-eduk8s-io.yml -f -
NOTE: Use your own remote kubeconfig file
Deploy xxc (dns and endpointSlice to cluster-a)
ytt -f values.yaml -f cluster-local/xcc-dns.yaml | kubectl apply --context kind-xcc-demo -f -
ytt -f values.yaml -f cluster-local/EndpointSlice.yaml | kubectl apply --context kind-xcc-demo -f -
Deploy xcc-demo to cluster-a configured to talk to cluster-b mysql
ytt -f values.yaml -f cluster-local/resources.yaml | kubectl apply --context kind-xcc-demo -f -
Test xcc-demo:
curl xcc-demo.127.0.0.1.nip.io