# Prepare a Local Kubernetes Environment

The following tutorial uses [**kind**](https://kind.sigs.k8s.io/) to [prepare/set up a local **Kubernetes** environment](/ess/2.3/installation.md#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. [Install **kind**](https://kind.sigs.k8s.io/docs/user/quick-start#installing-from-release-binaries)**.**
4. Optional. Create a directory for your **`kind`** configuration and go to that directory.
5. Create a **`kind-config.yaml`** file:

   <pre class="language-sh"><code class="lang-sh"> cat &#x3C; kind-config.yaml
    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
   <strong> name: my-local-kind
   </strong> 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
   </code></pre>

   This example configuration specifies the cluster name of **`my-local-kind`** . You can specify a different name for the cluster.
6. Create a cluster, specifying your **`kind-config.yaml`** file:

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

7\. Enable [Certificate management controller](https://cert-manager.io/docs/installation/) :

```

kubectl apply -f https://github.com/jetstack/cert-manager/releases/2.3/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](/ess/2.3/installation.md#installation) . See [Installation](/ess/2.3/installation.md) for details.

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.inrupt.com/ess/2.3/installation/appendix/appendix-setup-local-kubernetes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
