tree: c867b8ac05d0a0798265d5484571355f6a5071cd [path history] [tgz]
  1. charts/
  2. templates/
  3. .helmignore
  4. Chart.lock
  5. Chart.yaml
  6. README.md
  7. values.yaml
charts/apisix/README.md

Apache APISIX for Kubernetes

Apache APISIX is a dynamic, real-time, high-performance API gateway.

APISIX provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more.

You can use Apache APISIX to handle traditional north-south traffic, as well as east-west traffic between services. It can also be used as a k8s ingress controller.

This chart bootstraps all the components needed to run Apache APISIX on a Kubernetes Cluster using Helm.

TL;DR

 helm repo add apisix https://charts.apiseven.com
 helm repo update

 helm install apisix/apisix --generate-name

Prerequisites

  • Kubernetes v1.14+
  • Helm v3+

Install

To install the chart with the release name my-apisix:

 helm repo add apisix https://charts.apiseven.com
 helm repo update

 helm install my-apisix apisix/apisix

Uninstall

To uninstall/delete a Helm release my-apisix:

 helm delete my-apisix

The command removes all the Kubernetes components associated with the chart and deletes the release.

Parameters

The following tables lists the configurable parameters of the apisix chart and their default values per section/component:

Global parameters

ParameterDescriptionDefault
global.imagePullSecretsGlobal Docker registry secret names as an array[] (does not add image pull secrets to deployed pods)

apisix parameters

ParameterDescriptionDefault
apisix.enabledEnable or disable Apache APISIX itselftrue
apisix.image.repositoryApache APISIX image repositoryapache/apisix
apisix.image.tagApache APISIX image tag{TAG_NAME} (the latest Apache APISIX image tag)
apisix.image.pullPolicyApache APISIX image pull policyIfNotPresent
apisix.replicaCountApache APISIX deploy replica count1
apisix.podAnnotationsAnnotations to add to each pod{}
apisix.podSecurityContextSet the securityContext for Apache APISIX pods{}
apisix.securityContextSet the securityContext for Apache APISIX container{}
apisix.resourcesSet pod resource requests & limits{}
apisix.nodeSelectorNode labels for Apache APISIX pod assignment{}
apisix.tolerationsList of node taints to tolerate{}
apisix.affinitySet affinity for Apache APISIX deploy{}
apisix.podAntiAffinity.enabledEnable or disable podAntiAffinityfalse

gateway parameters

Apache APISIX service parameters, this determines how users can access itself.

ParameterDescriptionDefault
gateway.typeApache APISIX service type for user access itselfNodePort
gateway.externalTrafficPolicySetting how the Service route external trafficCluster
gateway.httpApache APISIX service settings for http
gateway.tlsApache APISIX service settings for tls
gateway.streamApache APISIX service settings for stream
gateway.ingressUsing ingress access Apache APISIX service

admin parameters

ParameterDescriptionDefault
admin.enabledEnable or disable Apache APISIX admin APItrue
admin.portwhich port to use for Apache APISIX admin API9180
admin.servicePortService port to use for Apache APISIX admin API9180
admin.typeApache APISIX admin API service typeClusterIP
admin.externalIPsIPs for which nodes in the cluster will also accept traffic for the servic[]
admin.corsApache APISIX admin API support CORS response headerstrue
admin.credentials.adminApache APISIX admin API admin role credentialsedd1c9f034335f136f87ad84b625c8f1
admin.credentials.viewerApache APISIX admin API viewer role credentials4054f7cf07e344346cd3f287985e76a2
admin.allow.ipListthe IP range allowed to Apache APISIX admin APItrue

plugins and stream_plugins parameters

Default enabled plugins. See configmap template for details.

etcd parameters

Configurations for etcd sub chart.

dashboard parameters

Configurations for apisix-dashboard sub chart.

ingress-controller parameters

Configurations for Apache APISIX ingress-controller sub chart.