Quantcast
Channel: User mikyll98 - Stack Overflow
Viewing all articles
Browse latest Browse all 102

Apisix on Kubernetes: is it possible to deploy Apisix without the Database support (Standalone mode)?

$
0
0

TL;DR

I'd like to know if it's possible to deploy Apisix on a Kubernetes cluster, without the Database support (etcd), via Helm.

If it's possible, how do I need to configure the Helm chart values?


Long Version

Base Setup

My setup is based on minikube and I'm using the apisix/apisix Helm chart.

  1. Start a minikube cluster:
minikube start --driver=docker
  1. Run minikube tunnel and leave it running in a separate terminal:
minikube tunnel
  1. Install Apisix:
helm repo add apisix https://charts.apiseven.comhelm repo add bitnami https://charts.bitnami.com/bitnamihelm repo updatekubectl create ns "ingress-apisix"helm install apisix apisix/apisix --namespace "ingress-apisix" \  --namespace ingress-apisix \  --set service.type=LoadBalancer \  --set ingress-controller.enabled=true \  --set ingress-controller.config.apisix.serviceNamespace=ingress-apisix

NB: I'm using a LoadBalancer for easier route testing on localhost (that's why I'm using minikube tunnel)

What I Tried

I noticed from the documentation that there's a "Standalone" deployment mode which:

will no longer use the default etcd as the configuration center.

And is suitable for Kubernetes users due to:

Declarative API that dynamically updates the routing rules with a full yaml configuration.

However, when I tried to deploy Apisix with what I think are the necessary config values, the installation gets stuck:

  1. File values-dbless.yaml (values from apisix/apisix Helm chart):
apisix:  deployment:    mode: standalone    role: "data_plane"etcd:  enabled: falseservice:  type: LoadBalanceringress-controller:  enabled: true  config:    apisix:      serviceNamespace: ingress-apisix      adminAPIVersion: v3
  1. Install Apisix with the following command:
helm repo add apisix https://charts.apiseven.comhelm repo add bitnami https://charts.bitnami.com/bitnamihelm repo updatekubectl create ns "ingress-apisix"helm install apisix apisix/apisix --namespace "ingress-apisix" \  -f "./values-dbless.yaml"
  1. It doesn't start the etcd pods anymore, but the apisix-ingress-controller Pod is forever stuck waiting for the wait-apisix-admin InitContainer, which spams the following log messages:
waiting for apisix-adminwaiting for apisix-adminwaiting for apisix-adminwaiting for apisix-admin

Viewing all articles
Browse latest Browse all 102

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>