When inside a DevBox context (i.e. when connected to a workspace), the CLI is able to retrieve environmental information from /etc/devzero.
In a fresh new workspace, you can immediately run:
kubectl get pods
DevZero reserves the default namespace for it's managed deployments. Do not operate on this namespace. Adding or removing resources in this namespace will lead to undocumented behaviors and cause potential data loss.
dz workspace kubeconfig -h
This kubeconfig can be used by any kubectl to interact with the virtual cluster backing a workspace.
Usage: kubectl --kubeconfig <(dz ws kubeconfig <workspace_id | workspace_name>) ...
Usage:
dz workspace kubeconfig <workspace_id | workspace_name> [flags]
Aliases:
kubeconfig, kc
Flags:
-h, --help help for kubeconfig
-u, --update-kubeconfig update local kubeconfig (default: $HOME/.kube/config)
Global Flags:
--verbose Get detailed output
Tutorial Video
Here's a video covering how you can access and deploy apps to your workspace's Kubernetes cluster...
Tutorial Steps
Create a recipe that you can use at devzero.io/dashboard/recipes/new (give it any name and leave everything else blank and click Create a recipe).
Use the following recipe, then Save and Build and then Publish once the build completes successfully (it uses Google Cloud Platform's microservices-demo repo).
Build a workspace from the recipe, and run the following in your terminal:
dz workspace connect <workspace-name>
Run the following steps inside the SSH session that's connected to your workspace:
kubectl get pods # verification
cd /home/devzero/microservices-demo
skaffold run --default-repo ttl.sh # this will take a bit of time since its building multiple docker images (~5mins)
Verify that all the pods are running:
kubectl get pods
Port forward the frontend to your terminal session