mirror of
https://github.com/alibaba/higress.git
synced 2026-02-22 19:51:03 +08:00
770 lines
26 KiB
YAML
770 lines
26 KiB
YAML
revision: ""
|
|
global:
|
|
enableH3: false
|
|
enableIPv6: false
|
|
enableProxyProtocol: false
|
|
enableLDSCache: false
|
|
enablePushAllMCPClusters: true
|
|
liteMetrics: false
|
|
xdsMaxRecvMsgSize: "104857600"
|
|
defaultUpstreamConcurrencyThreshold: 10000
|
|
enableSRDS: true
|
|
# -- Whether to enable Redis(redis-stack-server) for Higress, default is false.
|
|
enableRedis: false
|
|
onDemandRDS: false
|
|
hostRDSMergeSubset: false
|
|
onlyPushRouteCluster: true
|
|
# -- 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.
|
|
ingressClass: "higress"
|
|
# -- 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.
|
|
watchNamespace: ""
|
|
# -- Whether to disable HTTP/2 in ALPN
|
|
disableAlpnH2: false
|
|
# -- 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.
|
|
enableStatus: true
|
|
# -- whether to use autoscaling/v2 template for HPA settings
|
|
# for internal usage only, not to be configured by users.
|
|
autoscalingv2API: true
|
|
# -- When deploying to a local cluster (e.g.: kind cluster), set this to true.
|
|
local: false
|
|
kind: false # Deprecated. Please use "global.local" instead. Will be removed later.
|
|
# -- If true, Higress Controller will monitor istio resources as well
|
|
enableIstioAPI: true
|
|
# -- If true, Higress Controller will monitor Gateway API resources as well
|
|
enableGatewayAPI: false
|
|
# -- Used to locate istiod.
|
|
istioNamespace: istio-system
|
|
# -- enable pod disruption budget for the control plane, which is used to
|
|
# ensure Istio control plane components are gradually upgraded or recovered.
|
|
defaultPodDisruptionBudget:
|
|
enabled: false
|
|
# The values aren't mutable due to a current PodDisruptionBudget limitation
|
|
# minAvailable: 1
|
|
|
|
# -- 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.
|
|
defaultResources:
|
|
requests:
|
|
cpu: 10m
|
|
# memory: 128Mi
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
# -- Default hub for Istio images.
|
|
# Releases are published to docker hub under 'istio' project.
|
|
# Dev builds from prow are on gcr.io
|
|
hub: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress
|
|
|
|
# -- Specify image pull policy if default behavior isn't desired.
|
|
# Default behavior: latest images will be Always else IfNotPresent.
|
|
imagePullPolicy: ""
|
|
|
|
# -- 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.
|
|
imagePullSecrets: []
|
|
# - private-registry-key
|
|
|
|
# -- Enabled by default in master for maximising testing.
|
|
istiod:
|
|
enableAnalysis: false
|
|
|
|
# -- To output all istio components logs in json format by adding --log_as_json argument to each container argument
|
|
logAsJson: false
|
|
|
|
# -- Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>
|
|
# 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
|
|
logging:
|
|
level: "default:info"
|
|
|
|
omitSidecarInjectorConfigMap: false
|
|
|
|
# -- Whether to restrict the applications namespace the controller manages;
|
|
# If not set, controller watches all namespaces
|
|
oneNamespace: 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.
|
|
operatorManageWebhooks: false
|
|
|
|
# Custom DNS config for the pod to resolve names of services in other
|
|
# clusters. Use this to add additional search domains, and other settings.
|
|
# see
|
|
# https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-config
|
|
# This does not apply to gateway pods as they typically need a different
|
|
# set of DNS settings than the normal application pods (e.g., in
|
|
# multicluster scenarios).
|
|
# NOTE: If using templates, follow the pattern in the commented example below.
|
|
#podDNSSearchNamespaces:
|
|
#- global
|
|
#- "{{ valueOrDefault .DeploymentMeta.Namespace \"default\" }}.global"
|
|
|
|
# -- 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.
|
|
priorityClassName: ""
|
|
|
|
proxy:
|
|
image: proxyv2
|
|
|
|
# -- This controls the 'policy' in the sidecar injector.
|
|
autoInject: enabled
|
|
|
|
# -- CAUTION: It is important to ensure that all Istio helm charts specify the same clusterDomain value
|
|
# cluster domain. Default value is "cluster.local".
|
|
clusterDomain: "cluster.local"
|
|
|
|
# -- 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.
|
|
componentLogLevel: "misc:error"
|
|
|
|
# -- If set, newly injected sidecars will have core dumps enabled.
|
|
enableCoreDump: false
|
|
|
|
# istio ingress capture allowlist
|
|
# examples:
|
|
# Redirect only selected ports: --includeInboundPorts="80,8080"
|
|
excludeInboundPorts: ""
|
|
includeInboundPorts: "*"
|
|
|
|
# -- 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
|
|
includeIPRanges: "*"
|
|
excludeIPRanges: ""
|
|
includeOutboundPorts: ""
|
|
excludeOutboundPorts: ""
|
|
|
|
# -- Log level for proxy, applies to gateways and sidecars.
|
|
# Expected values are: trace|debug|info|warning|error|critical|off
|
|
logLevel: warning
|
|
|
|
# -- If set to true, istio-proxy container will have privileged securityContext
|
|
privileged: false
|
|
|
|
# -- The number of successive failed probes before indicating readiness failure.
|
|
readinessFailureThreshold: 30
|
|
|
|
# -- The number of successive successed probes before indicating readiness success.
|
|
readinessSuccessThreshold: 30
|
|
|
|
# -- The initial delay for readiness probes in seconds.
|
|
readinessInitialDelaySeconds: 1
|
|
|
|
# -- The period between readiness probes.
|
|
readinessPeriodSeconds: 2
|
|
|
|
# -- The readiness timeout seconds
|
|
readinessTimeoutSeconds: 3
|
|
|
|
# -- Resources for the sidecar.
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
limits:
|
|
cpu: 2000m
|
|
memory: 1024Mi
|
|
|
|
# -- Default port for Pilot agent health checks. A value of 0 will disable health checking.
|
|
statusPort: 15020
|
|
|
|
# -- 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.
|
|
tracer: ""
|
|
|
|
# -- 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
|
|
holdApplicationUntilProxyStarts: false
|
|
|
|
# -- Proxy stats name regexps matcher for inclusion
|
|
proxyStatsMatcher:
|
|
inclusionRegexps:
|
|
- ".*"
|
|
|
|
proxy_init:
|
|
# -- Base name for the proxy_init container, used to configure iptables.
|
|
image: proxyv2
|
|
resources:
|
|
limits:
|
|
cpu: 2000m
|
|
memory: 1024Mi
|
|
requests:
|
|
cpu: 10m
|
|
memory: 10Mi
|
|
|
|
# -- configure remote pilot and istiod service and endpoint
|
|
remotePilotAddress: ""
|
|
|
|
##############################################################################################
|
|
# The following values are found in other charts. To effectively modify these values, make #
|
|
# make sure they are consistent across your Istio helm charts #
|
|
##############################################################################################
|
|
|
|
# -- 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.
|
|
caAddress: ""
|
|
|
|
# -- 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.
|
|
externalIstiod: false
|
|
|
|
# -- Configure a remote cluster as the config cluster for an external istiod.
|
|
configCluster: false
|
|
|
|
# -- Configure the policy for validating JWT.
|
|
# Currently, two options are supported: "third-party-jwt" and "first-party-jwt".
|
|
jwtPolicy: "third-party-jwt"
|
|
|
|
# Mesh ID means Mesh Identifier. It should be unique within the scope where
|
|
# meshes will interact with each other, but it is not required to be
|
|
# globally/universally unique. For example, if any of the following are true,
|
|
# then two meshes must have different Mesh IDs:
|
|
# - Meshes will have their telemetry aggregated in one place
|
|
# - Meshes will be federated together
|
|
# - Policy will be written referencing one mesh from the other
|
|
#
|
|
# If an administrator expects that any of these conditions may become true in
|
|
# the future, they should ensure their meshes have different Mesh IDs
|
|
# assigned.
|
|
#
|
|
# Within a multicluster mesh, each cluster must be (manually or auto)
|
|
# configured to have the same Mesh ID value. If an existing cluster 'joins' a
|
|
# multicluster mesh, it will need to be migrated to the new mesh ID. Details
|
|
# of migration TBD, and it may be a disruptive operation to change the Mesh
|
|
# ID post-install.
|
|
#
|
|
# -- 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.
|
|
meshID: ""
|
|
|
|
# Configure the mesh networks to be used by the Split Horizon EDS.
|
|
#
|
|
# The following example defines two networks with different endpoints association methods.
|
|
# For `network1` all endpoints that their IP belongs to the provided CIDR range will be
|
|
# mapped to network1. The gateway for this network example is specified by its public IP
|
|
# address and port.
|
|
# The second network, `network2`, in this example is defined differently with all endpoints
|
|
# retrieved through the specified Multi-Cluster registry being mapped to network2. The
|
|
# gateway is also defined differently with the name of the gateway service on the remote
|
|
# cluster. The public IP for the gateway will be determined from that remote service (only
|
|
# LoadBalancer gateway service type is currently supported, for a NodePort type gateway service,
|
|
# it still need to be configured manually).
|
|
#
|
|
# meshNetworks:
|
|
# network1:
|
|
# endpoints:
|
|
# - fromCidr: "192.168.0.1/24"
|
|
# gateways:
|
|
# - address: 1.1.1.1
|
|
# port: 80
|
|
# network2:
|
|
# endpoints:
|
|
# - fromRegistry: reg1
|
|
# gateways:
|
|
# - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local
|
|
# port: 443
|
|
#
|
|
meshNetworks: {}
|
|
|
|
# -- Use the user-specified, secret volume mounted key and certs for Pilot and workloads.
|
|
mountMtlsCerts: false
|
|
|
|
multiCluster:
|
|
# -- 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.
|
|
enabled: true
|
|
# -- Should be set to the name of the cluster this installation will run in. This is required for sidecar injection
|
|
# to properly label proxies
|
|
clusterName: ""
|
|
|
|
# -- Network defines the network this cluster belong to. This name
|
|
# corresponds to the networks in the map of mesh networks.
|
|
network: ""
|
|
|
|
# -- 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
|
|
pilotCertProvider: istiod
|
|
|
|
sds:
|
|
# -- 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.
|
|
token:
|
|
aud: istio-ca
|
|
|
|
sts:
|
|
# -- 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.
|
|
servicePort: 0
|
|
|
|
# -- Configuration for each of the supported tracers
|
|
tracer:
|
|
# -- Configuration for envoy to send trace data to LightStep.
|
|
# Disabled by default.
|
|
# address: the <host>:<port> of the satellite pool
|
|
# accessToken: required for sending data to the pool
|
|
#
|
|
datadog:
|
|
# -- Host:Port for submitting traces to the Datadog agent.
|
|
address: "$(HOST_IP):8126"
|
|
lightstep:
|
|
# -- example: lightstep-satellite:443
|
|
address: ""
|
|
# -- example: abcdefg1234567
|
|
accessToken: ""
|
|
stackdriver:
|
|
# -- enables trace output to stdout.
|
|
debug: false
|
|
# -- The global default max number of message events per span.
|
|
maxNumberOfMessageEvents: 200
|
|
# -- The global default max number of annotation events per span.
|
|
maxNumberOfAnnotations: 200
|
|
# -- The global default max number of attributes per span.
|
|
maxNumberOfAttributes: 200
|
|
# -- Use the Mesh Control Protocol (MCP) for configuring Istiod. Requires an MCP source.
|
|
useMCP: false
|
|
|
|
# -- Observability (o11y) configurations
|
|
o11y:
|
|
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: {}
|
|
|
|
# -- 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).
|
|
caName: ""
|
|
hub: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress
|
|
|
|
clusterName: ""
|
|
# -- 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:
|
|
enablePrometheusMerge: true
|
|
# Config for the default ProxyConfig.
|
|
# Initially using directly the proxy metadata - can also be activated using annotations
|
|
# on the pod. This is an unsupported low-level API, pending review and decisions on
|
|
# enabling the feature. Enabling the DNS listener is safe - and allows further testing
|
|
# and gradual adoption by setting capture only on specific workloads. It also allows
|
|
# VMs to use other DNS options, like dnsmasq or unbound.
|
|
|
|
# -- 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.
|
|
rootNamespace:
|
|
|
|
# -- 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
|
|
trustDomain: "cluster.local"
|
|
|
|
# TODO: the intent is to eventually have this enabled by default when security is used.
|
|
# It is not clear if user should normally need to configure - the metadata is typically
|
|
# used as an escape and to control testing and rollout, but it is not intended as a long-term
|
|
# stable API.
|
|
|
|
# What we may configure in mesh config is the ".global" - and use of other suffixes.
|
|
# No hurry to do this in 1.6, we're trying to prove the code.
|
|
|
|
gateway:
|
|
name: "higress-gateway"
|
|
# -- Number of Higress Gateway pods
|
|
replicas: 2
|
|
image: gateway
|
|
|
|
# -- Use a `DaemonSet` or `Deployment`
|
|
kind: Deployment
|
|
|
|
# -- The number of successive failed probes before indicating readiness failure.
|
|
readinessFailureThreshold: 30
|
|
|
|
# -- The number of successive successed probes before indicating readiness success.
|
|
readinessSuccessThreshold: 1
|
|
|
|
# -- The initial delay for readiness probes in seconds.
|
|
readinessInitialDelaySeconds: 1
|
|
|
|
# -- The period between readiness probes.
|
|
readinessPeriodSeconds: 2
|
|
|
|
# -- The readiness timeout seconds
|
|
readinessTimeoutSeconds: 3
|
|
|
|
hub: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress
|
|
tag: ""
|
|
# -- revision declares which revision this gateway is a part of
|
|
revision: ""
|
|
|
|
rbac:
|
|
# -- If enabled, roles will be created to enable accessing certificates from Gateways. This is not needed
|
|
# when using http://gateway-api.org/.
|
|
enabled: true
|
|
|
|
serviceAccount:
|
|
# -- If set, a service account will be created. Otherwise, the default is used
|
|
create: true
|
|
# -- Annotations to add to the service account
|
|
annotations: {}
|
|
# -- The name of the service account to use.
|
|
# If not set, the release name is used
|
|
name: ""
|
|
|
|
# -- Pod environment variables
|
|
env: {}
|
|
httpPort: 80
|
|
httpsPort: 443
|
|
hostNetwork: false
|
|
|
|
# -- Labels to apply to all resources
|
|
labels: {}
|
|
|
|
# -- Annotations to apply to all resources
|
|
annotations: {}
|
|
|
|
podAnnotations:
|
|
prometheus.io/port: "15020"
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/path: "/stats/prometheus"
|
|
sidecar.istio.io/inject: "false"
|
|
|
|
# -- Labels to apply to the pod
|
|
podLabels: {}
|
|
|
|
# -- 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.
|
|
securityContext: ~
|
|
containerSecurityContext: ~
|
|
unprivilegedPortSupported: ~
|
|
|
|
service:
|
|
# -- Type of service. Set to "None" to disable the service entirely
|
|
type: LoadBalancer
|
|
ports:
|
|
- name: http2
|
|
port: 80
|
|
protocol: TCP
|
|
targetPort: 80
|
|
- name: https
|
|
port: 443
|
|
protocol: TCP
|
|
targetPort: 443
|
|
annotations: {}
|
|
loadBalancerIP: ""
|
|
loadBalancerClass: ""
|
|
loadBalancerSourceRanges: []
|
|
externalTrafficPolicy: ""
|
|
|
|
rollingMaxSurge: 100%
|
|
# -- If global.local is true, the default value is 100%, otherwise it is 25%
|
|
rollingMaxUnavailable: 25%
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 2000m
|
|
memory: 2048Mi
|
|
limits:
|
|
cpu: 2000m
|
|
memory: 2048Mi
|
|
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 5
|
|
targetCPUUtilizationPercentage: 80
|
|
|
|
nodeSelector: {}
|
|
|
|
tolerations: []
|
|
|
|
affinity: {}
|
|
|
|
# -- If specified, the gateway will act as a network gateway for the given network.
|
|
networkGateway: ""
|
|
|
|
metrics:
|
|
# -- If true, create PodMonitor or VMPodScrape for gateway
|
|
enabled: false
|
|
# -- provider group name for CustomResourceDefinition, can be monitoring.coreos.com or operator.victoriametrics.com
|
|
provider: monitoring.coreos.com
|
|
interval: ""
|
|
scrapeTimeout: ""
|
|
honorLabels: false
|
|
# -- for monitoring.coreos.com/v1.PodMonitor
|
|
metricRelabelings: []
|
|
relabelings: []
|
|
# -- for operator.victoriametrics.com/v1beta1.VMPodScrape
|
|
metricRelabelConfigs: []
|
|
relabelConfigs: []
|
|
# -- some more raw podMetricsEndpoints spec
|
|
rawSpec: {}
|
|
|
|
controller:
|
|
name: "higress-controller"
|
|
# -- Number of Higress Controller pods
|
|
replicas: 1
|
|
image: higress
|
|
|
|
hub: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress
|
|
tag: ""
|
|
env: {}
|
|
|
|
labels: {}
|
|
|
|
probe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 8888
|
|
initialDelaySeconds: 1
|
|
periodSeconds: 3
|
|
timeoutSeconds: 5
|
|
|
|
imagePullSecrets: []
|
|
|
|
rbac:
|
|
create: true
|
|
|
|
serviceAccount:
|
|
# -- Specifies whether a service account should be created
|
|
create: true
|
|
# -- Annotations to add to the service account
|
|
annotations: {}
|
|
# -- The name of the service account to use.
|
|
# -- If not set and create is true, a name is generated using the fullname template
|
|
name: ""
|
|
|
|
podAnnotations: {}
|
|
|
|
# -- Labels to apply to the pod
|
|
podLabels: {}
|
|
|
|
podSecurityContext:
|
|
{}
|
|
# fsGroup: 2000
|
|
|
|
ports:
|
|
- name: http
|
|
protocol: TCP
|
|
port: 8888
|
|
targetPort: 8888
|
|
- name: http-solver
|
|
protocol: TCP
|
|
port: 8889
|
|
targetPort: 8889
|
|
- name: grpc
|
|
protocol: TCP
|
|
port: 15051
|
|
targetPort: 15051
|
|
|
|
service:
|
|
type: ClusterIP
|
|
|
|
securityContext:
|
|
{}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 500m
|
|
memory: 2048Mi
|
|
limits:
|
|
cpu: 1000m
|
|
memory: 2048Mi
|
|
|
|
nodeSelector: {}
|
|
|
|
tolerations: []
|
|
|
|
affinity: {}
|
|
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 5
|
|
targetCPUUtilizationPercentage: 80
|
|
automaticHttps:
|
|
enabled: true
|
|
email: ""
|
|
|
|
## -- Discovery Settings
|
|
pilot:
|
|
autoscaleEnabled: false
|
|
autoscaleMin: 1
|
|
autoscaleMax: 5
|
|
replicaCount: 1
|
|
rollingMaxSurge: 100%
|
|
rollingMaxUnavailable: 25%
|
|
|
|
hub: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress
|
|
tag: ""
|
|
|
|
# -- Can be a full hub/image:tag
|
|
image: pilot
|
|
traceSampling: 1.0
|
|
|
|
# -- Resources for a small pilot install
|
|
resources:
|
|
requests:
|
|
cpu: 500m
|
|
memory: 2048Mi
|
|
|
|
env:
|
|
PILOT_SCOPE_GATEWAY_TO_NAMESPACE: "false"
|
|
PILOT_ENABLE_METADATA_EXCHANGE: "false"
|
|
PILOT_ENABLE_CROSS_CLUSTER_WORKLOAD_ENTRY: "false"
|
|
VALIDATION_ENABLED: "false"
|
|
|
|
cpu:
|
|
targetAverageUtilization: 80
|
|
|
|
# -- if protocol sniffing is enabled for outbound
|
|
enableProtocolSniffingForOutbound: true
|
|
# -- if protocol sniffing is enabled for inbound
|
|
enableProtocolSniffingForInbound: true
|
|
|
|
nodeSelector: {}
|
|
podAnnotations: {}
|
|
serviceAnnotations: {}
|
|
|
|
# -- You can use jwksResolverExtraRootCA to provide a root certificate
|
|
# in PEM format. This will then be trusted by pilot when resolving
|
|
# JWKS URIs.
|
|
jwksResolverExtraRootCA: ""
|
|
|
|
# -- This is used to set the source of configuration for
|
|
# the associated address in configSource, if nothing is specified
|
|
# the default MCP is assumed.
|
|
configSource:
|
|
subscribedResources: []
|
|
|
|
plugins: []
|
|
|
|
# -- 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.
|
|
keepaliveMaxServerConnectionAge: 30m
|
|
|
|
# -- Additional labels to apply to the deployment.
|
|
deploymentLabels: {}
|
|
|
|
## Mesh config settings
|
|
|
|
# -- Install the mesh config map, generated from values.yaml.
|
|
# If false, pilot wil use default values (by default) or user-supplied values.
|
|
configMap: true
|
|
|
|
# -- Additional labels to apply on the pod level for monitoring and logging configuration.
|
|
podLabels: {}
|
|
|
|
# Tracing config settings
|
|
tracing:
|
|
enable: false
|
|
sampling: 100
|
|
timeout: 500
|
|
skywalking:
|
|
# access_token: ""
|
|
service: ""
|
|
port: 11800
|
|
# zipkin:
|
|
# service: ""
|
|
# port: 9411
|
|
|
|
# -- Downstream config settings
|
|
downstream:
|
|
idleTimeout: 180
|
|
maxRequestHeadersKb: 60
|
|
connectionBufferLimits: 32768
|
|
http2:
|
|
maxConcurrentStreams: 100
|
|
initialStreamWindowSize: 65535
|
|
initialConnectionWindowSize: 1048576
|
|
routeTimeout: 0
|
|
|
|
# -- Upstream config settings
|
|
upstream:
|
|
idleTimeout: 10
|
|
connectionBufferLimits: 10485760
|
|
|
|
redis:
|
|
redis:
|
|
name: redis-stack-server
|
|
# -- Specify the image
|
|
image: "redis-stack-server"
|
|
# -- Specify the tag
|
|
tag: "7.4.0-v3"
|
|
# -- Specify the number of replicas
|
|
replicas: 1
|
|
# -- Specify the password, if not set, no password is used
|
|
password: ""
|
|
# -- Service parameters
|
|
service:
|
|
# -- Exporter service type
|
|
type: ClusterIP
|
|
# -- Exporter service port
|
|
port: 6379
|
|
# -- Specify the resources
|
|
resources: {}
|
|
# -- NodeSelector Node labels for Redis
|
|
nodeSelector: {}
|
|
# -- Tolerations for Redis
|
|
tolerations: []
|
|
# -- Affinity for Redis
|
|
affinity: {}
|
|
persistence:
|
|
# -- Enable persistence on Redis, default is false
|
|
enabled: false
|
|
# -- If defined, storageClassName: <storageClass>
|
|
# -- If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner
|
|
storageClass: ""
|
|
# -- Persistent Volume access modes
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
# -- Persistent Volume size
|
|
size: 1Gi |