k3d

    k3d makes it very easy to create single- and multi-node k3s clusters in docker, e.g. for local development on Kubernetes.

    • To use k3d, you will also need to .
    • Install the latest version of k3d.
    • To interact with the Kubernetes cluster
    • (Optional) Helm is the package manager for Kubernetes
    1. Create a cluster and disable Traefik with the following command:

      Zip

    2. To see the list of k3d clusters, use the following command:

      1. $ k3d cluster list
      2. k3s-default
    3. If you run multiple clusters, you need to choose which cluster kubectl talks to. You can set a default cluster for kubectl by setting the current context in the file. Additionally you can run following command to set the current context for kubectl.

      1. $ kubectl config use-context k3d-k3s-default
      2. Switched to context "k3d-k3s-default".
    1. Once you are done setting up a k3d cluster, you can proceed to on it.

    2. (Optional) Install an ingress gateway:

      1. $ kubectl label namespace istio-system istio-injection=enabled
      2. $ helm install istio-ingressgateway istio/gateway -n istio-system --wait

    k3d does not have a built in Dashboard UI like minikube. But you can still set up Dashboard, a web based Kubernetes UI, to view your cluster. Follow these instructions to set up Dashboard for .

    1. To deploy Dashboard, run the following command:

      1. $ GITHUB_URL=https://github.com/kubernetes/dashboard/releases
      2. $ VERSION_KUBE_DASHBOARD=$(curl -w '%{url_effective}' -I -L -s -S ${GITHUB_URL}/latest -o /dev/null | sed -e 's|.*/||')
      1. $ kubectl get pod -n kubernetes-dashboard
      2. NAME READY STATUS RESTARTS AGE
      3. dashboard-metrics-scraper-8c47d4b5d-dd2ks 1/1 Running 0 25s
      4. kubernetes-dashboard-67bd8fc546-4xfmm 1/1 Running 0 25s
    2. Create a ServiceAccount and ClusterRoleBinding to provide admin access to the newly created cluster.

    3. To log in to your Dashboard, you need a Bearer Token. Use the following command to store the token in a variable.

      1. $ token=$(kubectl -n kubernetes-dashboard create token admin-user)

      Display the token using the echo command and copy it to use for logging in to your Dashboard.

      1. $ echo $token
    4. You can access your Dashboard using the kubectl command-line tool by running the following command:

      1. Starting to serve on 127.0.0.1:8001

      Click to view your deployments and services.

    1. When you are done experimenting and you want to delete the existing cluster, use the following command: