mirror of
https://github.com/alibaba/higress.git
synced 2026-02-06 23:21:08 +08:00
Higress for Kubernetes
Higress is a cloud-native api gateway based on Alibaba's internal gateway practices.
Powered by Istio and Envoy, Higress realizes the integration of the triple gateway architecture of traffic gateway, microservice gateway and security gateway, thereby greatly reducing the costs of deployment, operation and maintenance.
Setup Repo Info
helm repo add higress.io https://higress.io/helm-charts
helm repo update
Install
To install the chart with the release name higress:
helm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes
Uninstall
To uninstall/delete the higress deployment:
helm delete higress -n higress-system
The command removes all the Kubernetes components associated with the chart and deletes the release.
Parameters
Values
| Key | Type | Default | Description |
|---|---|---|---|
| clusterName | string | "" |
|
| controller.affinity | object | {} |
|
| controller.automaticHttps.email | string | "" |
|
| controller.automaticHttps.enabled | bool | true |
|
| controller.autoscaling.enabled | bool | false |
|
| controller.autoscaling.maxReplicas | int | 5 |
|
| controller.autoscaling.minReplicas | int | 1 |
|
| controller.autoscaling.targetCPUUtilizationPercentage | int | 80 |
|
| controller.env | object | {} |
|
| controller.hub | string | "higress-registry.cn-hangzhou.cr.aliyuncs.com/higress" |
|
| controller.image | string | "higress" |
|
| controller.imagePullSecrets | list | [] |
|
| controller.labels | object | {} |
|
| controller.name | string | "higress-controller" |
|
| controller.nodeSelector | object | {} |
|
| controller.podAnnotations | object | {} |
|
| controller.podLabels | object | {} |
Labels to apply to the pod |
| controller.podSecurityContext | object | {} |
|
| controller.ports[0].name | string | "http" |
|
| controller.ports[0].port | int | 8888 |
|
| controller.ports[0].protocol | string | "TCP" |
|
| controller.ports[0].targetPort | int | 8888 |
|
| controller.ports[1].name | string | "http-solver" |
|
| controller.ports[1].port | int | 8889 |
|
| controller.ports[1].protocol | string | "TCP" |
|
| controller.ports[1].targetPort | int | 8889 |
|
| controller.ports[2].name | string | "grpc" |
|
| controller.ports[2].port | int | 15051 |
|
| controller.ports[2].protocol | string | "TCP" |
|
| controller.ports[2].targetPort | int | 15051 |
|
| controller.probe.httpGet.path | string | "/ready" |
|
| controller.probe.httpGet.port | int | 8888 |
|
| controller.probe.initialDelaySeconds | int | 1 |
|
| controller.probe.periodSeconds | int | 3 |
|
| controller.probe.timeoutSeconds | int | 5 |
|
| controller.rbac.create | bool | true |
|
| controller.replicas | int | 1 |
Number of Higress Controller pods |
| controller.resources.limits.cpu | string | "1000m" |
|
| controller.resources.limits.memory | string | "2048Mi" |
|
| controller.resources.requests.cpu | string | "500m" |
|
| controller.resources.requests.memory | string | "2048Mi" |
|
| controller.securityContext | object | {} |
|
| controller.service.type | string | "ClusterIP" |
|
| controller.serviceAccount.annotations | object | {} |
Annotations to add to the service account |
| controller.serviceAccount.create | bool | true |
Specifies whether a service account should be created |
| controller.serviceAccount.name | string | "" |
If not set and create is true, a name is generated using the fullname template |
| controller.tag | string | "" |
|
| controller.tolerations | list | [] |
|
| downstream | object | {"connectionBufferLimits":32768,"http2":{"initialConnectionWindowSize":1048576,"initialStreamWindowSize":65535,"maxConcurrentStreams":100},"idleTimeout":180,"maxRequestHeadersKb":60,"routeTimeout":0} |
Downstream config settings |
| gateway.affinity | object | {} |
|
| gateway.annotations | object | {} |
Annotations to apply to all resources |
| gateway.autoscaling.enabled | bool | false |
|
| gateway.autoscaling.maxReplicas | int | 5 |
|
| gateway.autoscaling.minReplicas | int | 1 |
|
| gateway.autoscaling.targetCPUUtilizationPercentage | int | 80 |
|
| gateway.containerSecurityContext | string | nil |
|
| gateway.env | object | {} |
Pod environment variables |
| gateway.hostNetwork | bool | false |
|
| gateway.httpPort | int | 80 |
|
| gateway.httpsPort | int | 443 |
|
| gateway.hub | string | "higress-registry.cn-hangzhou.cr.aliyuncs.com/higress" |
|
| gateway.image | string | "gateway" |
|
| gateway.kind | string | "Deployment" |
Use a DaemonSet or Deployment |
| gateway.labels | object | {} |
Labels to apply to all resources |
| gateway.metrics.enabled | bool | false |
If true, create PodMonitor or VMPodScrape for gateway |
| gateway.metrics.honorLabels | bool | false |
|
| gateway.metrics.interval | string | "" |
|
| gateway.metrics.metricRelabelConfigs | list | [] |
for operator.victoriametrics.com/v1beta1.VMPodScrape |
| gateway.metrics.metricRelabelings | list | [] |
for monitoring.coreos.com/v1.PodMonitor |
| gateway.metrics.provider | string | "monitoring.coreos.com" |
provider group name for CustomResourceDefinition, can be monitoring.coreos.com or operator.victoriametrics.com |
| gateway.metrics.rawSpec | object | {} |
some more raw podMetricsEndpoints spec |
| gateway.metrics.relabelConfigs | list | [] |
|
| gateway.metrics.relabelings | list | [] |
|
| gateway.metrics.scrapeTimeout | string | "" |
|
| gateway.name | string | "higress-gateway" |
|
| gateway.networkGateway | string | "" |
If specified, the gateway will act as a network gateway for the given network. |
| gateway.nodeSelector | object | {} |
|
| gateway.podAnnotations."prometheus.io/path" | string | "/stats/prometheus" |
|
| gateway.podAnnotations."prometheus.io/port" | string | "15020" |
|
| gateway.podAnnotations."prometheus.io/scrape" | string | "true" |
|
| gateway.podAnnotations."sidecar.istio.io/inject" | string | "false" |
|
| gateway.podLabels | object | {} |
Labels to apply to the pod |
| gateway.rbac.enabled | bool | true |
If enabled, roles will be created to enable accessing certificates from Gateways. This is not needed when using http://gateway-api.org/. |
| gateway.readinessFailureThreshold | int | 30 |
The number of successive failed probes before indicating readiness failure. |
| gateway.readinessInitialDelaySeconds | int | 1 |
The initial delay for readiness probes in seconds. |
| gateway.readinessPeriodSeconds | int | 2 |
The period between readiness probes. |
| gateway.readinessSuccessThreshold | int | 1 |
The number of successive successed probes before indicating readiness success. |
| gateway.readinessTimeoutSeconds | int | 3 |
The readiness timeout seconds |
| gateway.replicas | int | 2 |
Number of Higress Gateway pods |
| gateway.resources.limits.cpu | string | "2000m" |
|
| gateway.resources.limits.memory | string | "2048Mi" |
|
| gateway.resources.requests.cpu | string | "2000m" |
|
| gateway.resources.requests.memory | string | "2048Mi" |
|
| gateway.revision | string | "" |
revision declares which revision this gateway is a part of |
| gateway.rollingMaxSurge | string | "100%" |
|
| gateway.rollingMaxUnavailable | string | "25%" |
If global.local is true, the default value is 100%, otherwise it is 25% |
| gateway.securityContext | string | nil |
Define the security context for the pod. If unset, this will be automatically set to the minimum privileges required to bind to port 80 and 443. On Kubernetes 1.22+, this only requires the net.ipv4.ip_unprivileged_port_start sysctl. |
| gateway.service.annotations | object | {} |
|
| gateway.service.externalTrafficPolicy | string | "" |
|
| gateway.service.loadBalancerClass | string | "" |
|
| gateway.service.loadBalancerIP | string | "" |
|
| gateway.service.loadBalancerSourceRanges | list | [] |
|
| gateway.service.ports[0].name | string | "http2" |
|
| gateway.service.ports[0].port | int | 80 |
|
| gateway.service.ports[0].protocol | string | "TCP" |
|
| gateway.service.ports[0].targetPort | int | 80 |
|
| gateway.service.ports[1].name | string | "https" |
|
| gateway.service.ports[1].port | int | 443 |
|
| gateway.service.ports[1].protocol | string | "TCP" |
|
| gateway.service.ports[1].targetPort | int | 443 |
|
| gateway.service.type | string | "LoadBalancer" |
Type of service. Set to "None" to disable the service entirely |
| gateway.serviceAccount.annotations | object | {} |
Annotations to add to the service account |
| gateway.serviceAccount.create | bool | true |
If set, a service account will be created. Otherwise, the default is used |
| gateway.serviceAccount.name | string | "" |
The name of the service account to use. If not set, the release name is used |
| gateway.tag | string | "" |
|
| gateway.tolerations | list | [] |
|
| gateway.unprivilegedPortSupported | string | nil |
|
| global.autoscalingv2API | bool | true |
whether to use autoscaling/v2 template for HPA settings for internal usage only, not to be configured by users. |
| global.caAddress | string | "" |
The customized CA address to retrieve certificates for the pods in the cluster. CSR clients such as the Istio Agent and ingress gateways can use this to specify the CA endpoint. If not set explicitly, default to the Istio discovery address. |
| global.caName | string | "" |
The name of the CA for workload certificates. For example, when caName=GkeWorkloadCertificate, GKE workload certificates will be used as the certificates for workloads. The default value is "" and when caName="", the CA will be configured by other mechanisms (e.g., environmental variable CA_PROVIDER). |
| global.configCluster | bool | false |
Configure a remote cluster as the config cluster for an external istiod. |
| global.defaultPodDisruptionBudget | object | {"enabled":false} |
enable pod disruption budget for the control plane, which is used to ensure Istio control plane components are gradually upgraded or recovered. |
| global.defaultResources | object | {"requests":{"cpu":"10m"}} |
A minimal set of requested resources to applied to all deployments so that Horizontal Pod Autoscaler will be able to function (if set). Each component can overwrite these default values by adding its own resources block in the relevant section below and setting the desired resources values. |
| global.defaultUpstreamConcurrencyThreshold | int | 10000 |
|
| global.disableAlpnH2 | bool | false |
Whether to disable HTTP/2 in ALPN |
| global.enableGatewayAPI | bool | false |
If true, Higress Controller will monitor Gateway API resources as well |
| global.enableH3 | bool | false |
|
| global.enableIPv6 | bool | false |
|
| global.enableIstioAPI | bool | true |
If true, Higress Controller will monitor istio resources as well |
| global.enableLDSCache | bool | false |
|
| global.enablePluginServer | bool | false |
|
| global.enableProxyProtocol | bool | false |
|
| global.enablePushAllMCPClusters | bool | true |
|
| global.enableRedis | bool | false |
Whether to enable Redis(redis-stack-server) for Higress, default is false. |
| global.enableSRDS | bool | true |
|
| global.enableStatus | bool | true |
If true, Higress Controller will update the status field of Ingress resources. When migrating from Nginx Ingress, in order to avoid status field of Ingress objects being overwritten, this parameter needs to be set to false, so Higress won't write the entry IP to the status field of the corresponding Ingress object. |
| global.externalIstiod | bool | false |
Configure a remote cluster data plane controlled by an external istiod. When set to true, istiod is not deployed locally and only a subset of the other discovery charts are enabled. |
| global.hostRDSMergeSubset | bool | false |
|
| global.hub | string | "higress-registry.cn-hangzhou.cr.aliyuncs.com/higress" |
Default hub for Istio images. Releases are published to docker hub under 'istio' project. Dev builds from prow are on gcr.io |
| global.imagePullPolicy | string | "" |
Specify image pull policy if default behavior isn't desired. Default behavior: latest images will be Always else IfNotPresent. |
| global.imagePullSecrets | list | [] |
ImagePullSecrets for all ServiceAccount, list of secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. For components that don't use ServiceAccounts (i.e. grafana, servicegraph, tracing) ImagePullSecrets will be added to the corresponding Deployment(StatefulSet) objects. Must be set for any cluster configured with private docker registry. |
| global.ingressClass | string | "higress" |
IngressClass filters which ingress resources the higress controller watches. The default ingress class is higress. There are some special cases for special ingress class. 1. When the ingress class is set as nginx, the higress controller will watch ingress resources with the nginx ingress class or without any ingress class. 2. When the ingress class is set empty, the higress controller will watch all ingress resources in the k8s cluster. |
| global.istioNamespace | string | "istio-system" |
Used to locate istiod. |
| global.istiod | object | {"enableAnalysis":false} |
Enabled by default in master for maximising testing. |
| global.jwtPolicy | string | "third-party-jwt" |
Configure the policy for validating JWT. Currently, two options are supported: "third-party-jwt" and "first-party-jwt". |
| global.kind | bool | false |
|
| global.liteMetrics | bool | false |
|
| global.local | bool | false |
When deploying to a local cluster (e.g.: kind cluster), set this to true. |
| global.logAsJson | bool | false |
|
| global.logging | object | {"level":"default:info"} |
Comma-separated minimum per-scope logging level of messages to output, in the form of :,: The control plane has different scopes depending on component, but can configure default log level across all components If empty, default scope and level will be used as configured in code |
| global.meshID | string | "" |
If the mesh admin does not specify a value, Istio will use the value of the mesh's Trust Domain. The best practice is to select a proper Trust Domain value. |
| global.meshNetworks | object | {} |
|
| global.mountMtlsCerts | bool | false |
Use the user-specified, secret volume mounted key and certs for Pilot and workloads. |
| global.multiCluster.clusterName | string | "" |
Should be set to the name of the cluster this installation will run in. This is required for sidecar injection to properly label proxies |
| global.multiCluster.enabled | bool | true |
Set to true to connect two kubernetes clusters via their respective ingressgateway services when pods in each cluster cannot directly talk to one another. All clusters should be using Istio mTLS and must have a shared root CA for this model to work. |
| global.network | string | "" |
Network defines the network this cluster belong to. This name corresponds to the networks in the map of mesh networks. |
| global.o11y | object | {"enabled":false,"promtail":{"image":{"repository":"higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/promtail","tag":"2.9.4"},"port":3101,"resources":{"limits":{"cpu":"500m","memory":"2Gi"}},"securityContext":{}}} |
Observability (o11y) configurations |
| global.omitSidecarInjectorConfigMap | bool | false |
|
| global.onDemandRDS | bool | false |
|
| global.oneNamespace | bool | false |
Whether to restrict the applications namespace the controller manages; If not set, controller watches all namespaces |
| global.onlyPushRouteCluster | bool | true |
|
| global.operatorManageWebhooks | bool | false |
Configure whether Operator manages webhook configurations. The current behavior of Istiod is to manage its own webhook configurations. When this option is set as true, Istio Operator, instead of webhooks, manages the webhook configurations. When this option is set as false, webhooks manage their own webhook configurations. |
| global.pilotCertProvider | string | "istiod" |
Configure the certificate provider for control plane communication. Currently, two providers are supported: "kubernetes" and "istiod". As some platforms may not have kubernetes signing APIs, Istiod is the default |
| global.priorityClassName | string | "" |
Kubernetes >=v1.11.0 will create two PriorityClass, including system-cluster-critical and system-node-critical, it is better to configure this in order to make sure your Istio pods will not be killed because of low priority class. Refer to https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass for more detail. |
| global.proxy.autoInject | string | "enabled" |
This controls the 'policy' in the sidecar injector. |
| global.proxy.clusterDomain | string | "cluster.local" |
CAUTION: It is important to ensure that all Istio helm charts specify the same clusterDomain value cluster domain. Default value is "cluster.local". |
| global.proxy.componentLogLevel | string | "misc:error" |
Per Component log level for proxy, applies to gateways and sidecars. If a component level is not set, then the global "logLevel" will be used. |
| global.proxy.enableCoreDump | bool | false |
If set, newly injected sidecars will have core dumps enabled. |
| global.proxy.excludeIPRanges | string | "" |
|
| global.proxy.excludeInboundPorts | string | "" |
|
| global.proxy.excludeOutboundPorts | string | "" |
|
| global.proxy.holdApplicationUntilProxyStarts | bool | false |
Controls if sidecar is injected at the front of the container list and blocks the start of the other containers until the proxy is ready |
| global.proxy.image | string | "proxyv2" |
|
| global.proxy.includeIPRanges | string | "*" |
istio egress capture allowlist https://istio.io/docs/tasks/traffic-management/egress.html#calling-external-services-directly example: includeIPRanges: "172.30.0.0/16,172.20.0.0/16" would only capture egress traffic on those two IP Ranges, all other outbound traffic would be allowed by the sidecar |
| global.proxy.includeInboundPorts | string | "*" |
|
| global.proxy.includeOutboundPorts | string | "" |
|
| global.proxy.logLevel | string | "warning" |
Log level for proxy, applies to gateways and sidecars. Expected values are: trace |
| global.proxy.privileged | bool | false |
If set to true, istio-proxy container will have privileged securityContext |
| global.proxy.proxyStatsMatcher | object | {"inclusionRegexps":[".*"]} |
Proxy stats name regexps matcher for inclusion |
| global.proxy.readinessFailureThreshold | int | 30 |
The number of successive failed probes before indicating readiness failure. |
| global.proxy.readinessInitialDelaySeconds | int | 1 |
The initial delay for readiness probes in seconds. |
| global.proxy.readinessPeriodSeconds | int | 2 |
The period between readiness probes. |
| global.proxy.readinessSuccessThreshold | int | 30 |
The number of successive successed probes before indicating readiness success. |
| global.proxy.readinessTimeoutSeconds | int | 3 |
The readiness timeout seconds |
| global.proxy.resources | object | {"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"100m","memory":"128Mi"}} |
Resources for the sidecar. |
| global.proxy.statusPort | int | 15020 |
Default port for Pilot agent health checks. A value of 0 will disable health checking. |
| global.proxy.tracer | string | "" |
Specify which tracer to use. One of: lightstep, datadog, stackdriver. If using stackdriver tracer outside GCP, set env GOOGLE_APPLICATION_CREDENTIALS to the GCP credential file. |
| global.proxy_init.image | string | "proxyv2" |
Base name for the proxy_init container, used to configure iptables. |
| global.proxy_init.resources.limits.cpu | string | "2000m" |
|
| global.proxy_init.resources.limits.memory | string | "1024Mi" |
|
| global.proxy_init.resources.requests.cpu | string | "10m" |
|
| global.proxy_init.resources.requests.memory | string | "10Mi" |
|
| global.remotePilotAddress | string | "" |
configure remote pilot and istiod service and endpoint |
| global.sds.token | object | {"aud":"istio-ca"} |
The JWT token for SDS and the aud field of such JWT. See RFC 7519, section 4.1.3. When a CSR is sent from Istio Agent to the CA (e.g. Istiod), this aud is to make sure the JWT is intended for the CA. |
| global.sts.servicePort | int | 0 |
The service port used by Security Token Service (STS) server to handle token exchange requests. Setting this port to a non-zero value enables STS server. |
| global.tracer | object | {"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":""},"stackdriver":{"debug":false,"maxNumberOfAnnotations":200,"maxNumberOfAttributes":200,"maxNumberOfMessageEvents":200}} |
Configuration for each of the supported tracers |
| global.tracer.datadog | object | {"address":"$(HOST_IP):8126"} |
Configuration for envoy to send trace data to LightStep. Disabled by default. address: the : of the satellite pool accessToken: required for sending data to the pool |
| global.tracer.datadog.address | string | "$(HOST_IP):8126" |
Host:Port for submitting traces to the Datadog agent. |
| global.tracer.lightstep.accessToken | string | "" |
example: abcdefg1234567 |
| global.tracer.lightstep.address | string | "" |
example: lightstep-satellite:443 |
| global.tracer.stackdriver.debug | bool | false |
enables trace output to stdout. |
| global.tracer.stackdriver.maxNumberOfAnnotations | int | 200 |
The global default max number of annotation events per span. |
| global.tracer.stackdriver.maxNumberOfAttributes | int | 200 |
The global default max number of attributes per span. |
| global.tracer.stackdriver.maxNumberOfMessageEvents | int | 200 |
The global default max number of message events per span. |
| global.useMCP | bool | false |
Use the Mesh Control Protocol (MCP) for configuring Istiod. Requires an MCP source. |
| global.watchNamespace | string | "" |
If not empty, Higress Controller will only watch resources in the specified namespace. When isolating different business systems using K8s namespace, if each namespace requires a standalone gateway instance, this parameter can be used to confine the Ingress watching of Higress within the given namespace. |
| global.xdsMaxRecvMsgSize | string | "104857600" |
|
| hub | string | "higress-registry.cn-hangzhou.cr.aliyuncs.com/higress" |
|
| meshConfig | object | {"enablePrometheusMerge":true,"rootNamespace":null,"trustDomain":"cluster.local"} |
meshConfig defines runtime configuration of components, including Istiod and istio-agent behavior See https://istio.io/docs/reference/config/istio.mesh.v1alpha1/ for all available options |
| meshConfig.rootNamespace | string | nil |
The namespace to treat as the administrative root namespace for Istio configuration. When processing a leaf namespace Istio will search for declarations in that namespace first and if none are found it will search in the root namespace. Any matching declaration found in the root namespace is processed as if it were declared in the leaf namespace. |
| meshConfig.trustDomain | string | "cluster.local" |
The trust domain corresponds to the trust root of a system Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain |
| pilot.autoscaleEnabled | bool | false |
|
| pilot.autoscaleMax | int | 5 |
|
| pilot.autoscaleMin | int | 1 |
|
| pilot.configMap | bool | true |
Install the mesh config map, generated from values.yaml. If false, pilot wil use default values (by default) or user-supplied values. |
| pilot.configSource | object | {"subscribedResources":[]} |
This is used to set the source of configuration for the associated address in configSource, if nothing is specified the default MCP is assumed. |
| pilot.cpu.targetAverageUtilization | int | 80 |
|
| pilot.deploymentLabels | object | {} |
Additional labels to apply to the deployment. |
| pilot.enableProtocolSniffingForInbound | bool | true |
if protocol sniffing is enabled for inbound |
| pilot.enableProtocolSniffingForOutbound | bool | true |
if protocol sniffing is enabled for outbound |
| pilot.env.PILOT_ENABLE_CROSS_CLUSTER_WORKLOAD_ENTRY | string | "false" |
|
| pilot.env.PILOT_ENABLE_METADATA_EXCHANGE | string | "false" |
|
| pilot.env.PILOT_SCOPE_GATEWAY_TO_NAMESPACE | string | "false" |
|
| pilot.env.VALIDATION_ENABLED | string | "false" |
|
| pilot.hub | string | "higress-registry.cn-hangzhou.cr.aliyuncs.com/higress" |
|
| pilot.image | string | "pilot" |
Can be a full hub/image:tag |
| pilot.jwksResolverExtraRootCA | string | "" |
You can use jwksResolverExtraRootCA to provide a root certificate in PEM format. This will then be trusted by pilot when resolving JWKS URIs. |
| pilot.keepaliveMaxServerConnectionAge | string | "30m" |
The following is used to limit how long a sidecar can be connected to a pilot. It balances out load across pilot instances at the cost of increasing system churn. |
| pilot.nodeSelector | object | {} |
|
| pilot.plugins | list | [] |
|
| pilot.podAnnotations | object | {} |
|
| pilot.podLabels | object | {} |
Additional labels to apply on the pod level for monitoring and logging configuration. |
| pilot.replicaCount | int | 1 |
|
| pilot.resources | object | {"requests":{"cpu":"500m","memory":"2048Mi"}} |
Resources for a small pilot install |
| pilot.rollingMaxSurge | string | "100%" |
|
| pilot.rollingMaxUnavailable | string | "25%" |
|
| pilot.serviceAnnotations | object | {} |
|
| pilot.tag | string | "" |
|
| pilot.traceSampling | float | 1 |
|
| pluginServer.hub | string | "higress-registry.cn-hangzhou.cr.aliyuncs.com/higress" |
|
| pluginServer.image | string | "plugin-server" |
|
| pluginServer.imagePullSecrets | list | [] |
|
| pluginServer.labels | object | {} |
|
| pluginServer.name | string | "higress-plugin-server" |
|
| pluginServer.podLabels | object | {} |
Labels to apply to the pod |
| pluginServer.replicas | int | 2 |
Number of Higress Plugin Server pods, 2 recommended for high availability |
| pluginServer.resources.limits.cpu | string | "500m" |
|
| pluginServer.resources.limits.memory | string | "256Mi" |
|
| pluginServer.resources.requests.cpu | string | "200m" |
|
| pluginServer.resources.requests.memory | string | "128Mi" |
|
| pluginServer.service.port | int | 80 |
|
| pluginServer.tag | string | "" |
|
| redis.redis.affinity | object | {} |
Affinity for Redis |
| redis.redis.image | string | "redis-stack-server" |
Specify the image |
| redis.redis.name | string | "redis-stack-server" |
|
| redis.redis.nodeSelector | object | {} |
NodeSelector Node labels for Redis |
| redis.redis.password | string | "" |
Specify the password, if not set, no password is used |
| redis.redis.persistence.accessModes | list | ["ReadWriteOnce"] |
Persistent Volume access modes |
| redis.redis.persistence.enabled | bool | false |
Enable persistence on Redis, default is false |
| redis.redis.persistence.size | string | "1Gi" |
Persistent Volume size |
| redis.redis.persistence.storageClass | string | "" |
If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner |
| redis.redis.replicas | int | 1 |
Specify the number of replicas |
| redis.redis.resources | object | {} |
Specify the resources |
| redis.redis.service | object | {"port":6379,"type":"ClusterIP"} |
Service parameters |
| redis.redis.service.port | int | 6379 |
Exporter service port |
| redis.redis.service.type | string | "ClusterIP" |
Exporter service type |
| redis.redis.tag | string | "7.4.0-v3" |
Specify the tag |
| redis.redis.tolerations | list | [] |
Tolerations for Redis |
| revision | string | "" |
|
| tracing.enable | bool | false |
|
| tracing.sampling | int | 100 |
|
| tracing.timeout | int | 500 |
|
| upstream | object | {"connectionBufferLimits":10485760,"idleTimeout":10} |
Upstream config settings |