Skip to content
Get Started for Free
Starting on March 23, 2026, LocalStack for AWS will consolidate into a single image that requires authentication. Learn more about what’s changing and what this means for your setup in this blog post.

FAQ

This section covers common issues when running LocalStack on Kubernetes and how to diagnose them.

  • The auth token is invalid. If license activation fails, the Pod will terminate immediately.
  • The container image cannot be pulled or takes a long time to pull.
  • The Pod cannot be scheduled because no nodes have sufficient capacity or nodes are tainted.
  • When using the Operator: the Operator cannot validate the LocalStack license and refuses to create the Pod.
  1. Check the Pod status

    List all Pods in the cluster and locate the LocalStack Pod:

    Terminal window
    kubectl get pods -A
  2. Describe the Pod

    If the Pod exists, inspect it for scheduling or startup errors:

    Terminal window
    kubectl describe pod -n <namespace> <pod-name>

    Errors are typically visible in the Events: section.

    Example:

    Back-off restarting failed container localstack in pod <pod-name>

    This indicates that the LocalStack container crashed after startup.

  3. Check Pod logs

    If the Pod started but then crashed:

    Terminal window
    kubectl logs -n <namespace> <pod-name>

    Startup errors are usually found near the end of the log output. Debugging is similar to running LocalStack in Docker—there is nothing Kubernetes-specific about most startup failures.

  4. If the Pod was never created

    • Helm: check the output of helm install

    • Operator: check the Operator logs:

      Terminal window
      kubectl logs -n localstack-operator-system deployments/localstack-operator-system

If an AWS service fails to start or respond:

  • Verify that your LocalStack license includes the service you are trying to use.
  • Check the LocalStack Pod logs for license-related or service-specific errors.

There are typically no additional Kubernetes-level actions required for this issue.

If you see errors such as:

Unable to get DNS result from upstream server <IP> for domain <domain>. The DNS operation timed out.
  • Check whether the upstream DNS server was detected correctly.

  • Look for a log line like:

    Determined fallback dns: <IP>
  • If the detected DNS server is not valid for your cluster, set it explicitly using the DNS_SERVER configuration option.

localhost.localstack.cloud does not resolve

Section titled “localhost.localstack.cloud does not resolve”
  • Inside LocalStack-spawned compute Pods

    • Ensure DNS_ADDRESS is not set to 0.
  • Inside other Pods in the cluster

  • Alternative

    • Configure your cluster DNS (for example CoreDNS) to forward requests ending in localhost.localstack.cloud to the LocalStack DNS server.
    • This is done automatically when using the LocalStack Operator.
Creating Docker SDK client failed

This is expected in Kubernetes. LocalStack attempts to connect to a Docker socket, which is typically unavailable in Pods. Docker is not required for running LocalStack on Kubernetes.

PermissionError: [Errno 13] Permission denied: '/etc/resolv.conf'

This is expected when running LocalStack as a non-root user. Transparent endpoint injection may not work for init scripts or extensions in this case.

kubernetes.client.exceptions.ApiException: (403) Reason: Forbidden

This indicates missing or incorrect RBAC permissions for the LocalStack Pod’s ServiceAccount.

LocalStack or spawned Pods cannot connect to other cluster resources

Section titled “LocalStack or spawned Pods cannot connect to other cluster resources”
  • Ensure the LocalStack Pod uses:

    dnsPolicy: ClusterFirst

Common causes:

  • Spawned compute workloads should connect to LocalStack using:

    localhost.localstack.cloud
  • Using the Kubernetes Service name is possible, but host-based access (for example S3 virtual-host addressing) will not work.

  • Verify that the LocalStack DNS server is running (see DNS resolution failures).

  • Use the Kubernetes Service name created by Helm or the Operator.
  • Confirm the LocalStack Pod is running.
DockerNotAvailable: Docker not available
  • Ensure CONTAINER_RUNTIME=kubernetes is set.
  • Verify your license includes Kubernetes support.
  • When using Helm, ensure lambda.executor: kubernetes is not overriding the runtime unintentionally.
ErrImagePull

This usually means the cluster restricts which images can be pulled.

Errors such as:

kubernetes.utils.create_from_yaml.FailToCreateError

If a child Pod is created but times out:

  • This is commonly caused by slow or blocked image pulls.
  • Inspect the child Pod status and events, similar to diagnosing a LocalStack Pod startup failure.
  • Check LocalStack Pod logs as described in The LocalStack Pod won’t start

  • If using the Operator, also check the Operator logs:

    Terminal window
    kubectl logs -n localstack-operator-system deployments/localstack-operator-system