Prepare a Local Kubernetes Environment

The following tutorial uses kind to prepare/set up a local Kubernetes environment for a local ESS standalone deployment on Linux.

  1. Start Docker if it is not already running. The below steps have been tested with Docker CPU setting of 6.

  2. Open a Terminal window.

  3. Optional. Create a directory for your kind configuration and go to that directory.

  4. Create a kind-config.yaml file:

     cat < kind-config.yaml
     kind: Cluster
     apiVersion: kind.x-k8s.io/v1alpha4
     name: my-local-kind
     nodes:
     - role: control-plane
       kubeadmConfigPatches:
       - |
         kind: InitConfiguration
         nodeRegistration:
           kubeletExtraArgs:
             node-labels: "ingress-ready=true"
       extraPortMappings:
       - containerPort: 80
         hostPort: 80
         protocol: TCP
       - containerPort: 443
         hostPort: 443
         protocol: TCP
     EOF

    This example configuration specifies the cluster name of my-local-kind . You can specify a different name for the cluster.

  5. Create a cluster, specifying your kind-config.yaml file:

    kind create cluster --config=kind-config.yaml

7. Enable Certificate management controller :


kubectl apply -f https://github.com/jetstack/cert-manager/releases/2.4/download/cert-manager.yaml

8. Wait for successful setup and rollout of the cert manager and ingress controller.


kubectl -n cert-manager wait --for condition=established --timeout=60s customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io
kubectl -n cert-manager rollout status deployment/cert-manager-webhook
kubectl -n ingress-nginx rollout status deployment/ingress-nginx-controller

Upon successful completion, this local Kubernetes environment can be used for a standalone ESS deployment . See Installation for details.

For more information on kind, see https://kind.sigs.k8s.io/ .

Last updated