deploy/platform/kubernetes/values.yaml (396 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. skywalking: fullnameOverride: "sw-demo" oap: name: oap image: repository: ~ tag: ~ pullPolicy: IfNotPresent replicas: 1 storageType: ~ ports: grpc: 11800 rest: 12800 promql: 9090 logql: 3100 zipkin: 9411 zipkin-query: 9412 metrics: 1234 env: SW_HEALTH_CHECKER: default SW_OTEL_RECEIVER: default # @feature: so11y;,mysql;kubernetes-monitor enable OpenTelemetry receiver to receive OpenTelemetry metrics # @feature: vm; enable vm rules to analyze VM metrics # @feature: so11y; enable oap rules to analyze OAP metrics # @feature: kubernetes-monitor; enable rules to analyze Kubernetes Cluster/Node/Service metrics # @feature: istiod-monitor; enable rules to analyze Istio control plane metrics # @feature: mysql; enable mysql rules to analyze MySQL metrics # @feature: apisix-monitor; enable APISIX rules to analyze APISIX metrics SW_OTEL_RECEIVER_ENABLED_OTEL_METRICS_RULES: vm,oap,k8s/*,istio-controlplane,mysql/*,postgresql/*,apisix,elasticsearch/*,rabbitmq/*,mongodb/*,nginx/*,rocketmq/*,pulsar/*,activemq/*,flink/* SW_TELEMETRY: prometheus # @feature: so11y; expose the metrics of self o11y through prometheus SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS: "mx-mesh,persistence" # @feature: als; enable mesh analyzer (mx-mesh) to analyze ALS logs K8S_SERVICE_NAME_RULE: "mesh-svr::${service.metadata.name}.${service.metadata.namespace}" SW_CONFIGURATION: k8s-configmap SW_ENVOY_METRIC_ALS_TCP_ANALYSIS: "mx-mesh" SW_ENABLE_UPDATE_UI_TEMPLATE: "false" SW_SLOW_DB_THRESHOLD: default:0,mongodb:100 SW_ENABLE_ON_DEMAND_POD_LOG: "true" SW_METER_ANALYZER_ACTIVE_FILES: datasource,threadpool,satellite,network-profiling,go-runtime,python-runtime,spring-micrometer,continuous-profiling,java-agent,go-agent SW_STORAGE_ES_RESPONSE_TIMEOUT: "50000" SW_STORAGE_ES_INDEX_SHARDS_NUMBER: "6" SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR: "2" SW_RECEIVER_ZIPKIN: default SW_QUERY_ZIPKIN: default # @feature: r3; some basic settings for R3 SW_CORE_ENABLE_ENDPOINT_NAME_GROUPING_BY_OPENAPI: "false" SW_CORE_MAX_HTTP_URIS_NUMBER_PER_SVR: "3000" SW_AI_PIPELINE_URI_RECOGNITION_SERVER_PORT: "17128" # 85% for test recovery, remove it after the test SW_CORE_MAX_HEAP_MEMORY_USAGE_PERCENT: 85 startupProbe: failureThreshold: 10 tcpSocket: port: 12800 initialDelaySeconds: 120 periodSeconds: 10 config: metadata-service-mapping.yaml: | serviceName: mesh-svr::${LABELS."service.istio.io/canonical-name",LABELS."app.kubernetes.io/name",LABELS.app}.${NAMESPACE} serviceInstanceName: ${NAME} alarm-settings.yml: | rules: service_resp_time_rule: # 20ms is just for demo expression: sum(service_resp_time > 20) >= 1 period: 5 tags: level: WARNING message: Response time of service {name} is more than 20ms. core.default.log4j-xml: |- <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout charset="UTF-8" pattern="%d - %c - %L [%t] %-5p %x - %m%n"/> </Console> </Appenders> <Loggers> <logger name="org.apache.skywalking.oap.server.storage" level="INFO"/> <Root level="INFO"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration> cilium-rules: exclude.yaml: | namespaces: - kube-system - skywalking-showcase - sample-services labels: - k8s:io.cilium.k8s.namespace.labels.istio-injection: enabled k8s:security.istio.io/tlsMode: istio metadata-service-mapping.yaml: | serviceName: cilium::${LABELS."app.kubernetes.io/name",LABELS.component,LABELS.app,LABELS.k8s-app}.${NAMESPACE} serviceInstanceName: ${NAME} ui: name: ui replicas: 1 image: repository: ~ tag: ~ pullPolicy: IfNotPresent env: SW_ZIPKIN_ADDRESS: "" banyandb: enabled: false image: repository: ~ tag: ~ standalone: enabled: false cluster: enabled: true liaison: replicas: 2 httpSvc: type: ClusterIP data: replicas: 2 env: - name: GOMEMLIMIT value: "3GiB" resources: requests: - key: cpu value: 100m - key: memory value: 1Gi limits: - key: cpu value: 4 - key: memory value: 4Gi storage: enabled: true persistentVolumeClaims: - mountTargets: ["stream"] claimName: stream-data size: 10Gi accessModes: - ReadWriteOnce storageClass: ~ volumeMode: Filesystem - mountTargets: ["measure"] claimName: measure-data size: 10Gi accessModes: - ReadWriteOnce storageClass: ~ volumeMode: Filesystem etcd: enabled: true auth: rbac: create: true allowNoneAuthentication: false rootPassword: banyandb replicaCount: 1 persistence: size: 10Gi storageClass: ~ startupProbe: enabled: true initialDelaySeconds: 20 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 60 livenessProbe: enabled: true initialDelaySeconds: 0 periodSeconds: 30 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 readinessProbe: enabled: false elasticsearch: enabled: false image: ~ imageTag: ~ imagePullPolicy: "IfNotPresent" antiAffinity: "soft" postgresql: enabled: false # Whether to start a demo postgresql deployment, don't use this for production. config: # The hostname of your own postgresql service, this only takes effect when postgresql.enabled is false. host: postgresql-service.your-awesome-company.com auth: username: postgres password: "123456" postgresPassword: "123456" database: skywalking containerPorts: postgresql: 5432 primary: persistence: enabled: false readReplicas: persistence: enabled: false satellite: name: satellite replicas: 1 enabled: false image: repository: ~ tag: ~ pullPolicy: IfNotPresent ports: grpc: 11800 prometheus: 1234 env: SATELLITE_TELEMETRY_EXPORT_TYPE: metrics_service podAnnotations: sidecar.istio.io/inject: "false" resources: limits: cpu: 2 memory: 4Gi requests: cpu: 2 memory: 4Gi sampleServices: hub: ~ tag: ~ namespace: sample-services ciliumServices: hub: ~ tag: ~ namespace: cilium-services # @feature: java-agent-injector; the java agent injector is a component of the swck operator, so we need to deploy the swck operator firstly swck: image: repository: ~ tag: ~ # @feature: java-agent-injector; the swck operator depends on the certificate management of the cert-manager cert-manager: enabled: true fullnameOverride: "swck-demo" istio: enabled: false base: enableCRDTemplates: true global: istioNamespace: demo istiod: global: istioNamespace: demo meshConfig: accessLogFile: /dev/stdout ingressClass: istio ingressService: istio-ingressgateway ingressSelector: istio-ingressgateway enableEnvoyAccessLogService: true enableTracing: true defaultConfig: tracing: sampling: 100 zipkin: address: "" envoyMetricsService: address: "" envoyAccessLogService: address: "" proxyStatsMatcher: inclusionRegexps: - ".*membership_healthy.*" - ".*upstream_cx_active.*" - ".*upstream_cx_total.*" - ".*upstream_rq_active.*" - ".*upstream_rq_total.*" - ".*upstream_rq_pending_active.*" - ".*lb_healthy_panic.*" - ".*upstream_cx_none_healthy.*" # @feature: kubernetes-monitor; extra resources to install for kubernetes monitoring, standard kube-state-metrics kube-state-metrics: enabled: false rabbitmq: enabled: false replicaCount: 1 persistence: enabled: false metrics: enabled: true auth: username: guest password: guest erlangCookie: skywalking-showcase mongodb: enabled: false architecture: replicaset replicaCount: 2 auth: enabled: false persistence: enabled: false metrics: enabled: true compatibleMode: true collector: dbstats: true diagnosticdata: true replicasetstatus: true prometheus-elasticsearch-exporter: enabled: false fullnameOverride: prometheus-elasticsearch-exporter service: httpPort: 9114 es: uri: "http://elasticsearch-master:9200" opentelemetry: enabled: false opentelemetry-collector: mode: deployment replicaCount: 1 clusterRole: create: true rules: - apiGroups: [""] resources: # @feature: kubernetes-monitor; permissions to read resources - "endpoints" - "pods" - "services" - "nodes" - "nodes/metrics" - "nodes/proxy" verbs: ["get", "watch", "list"] resources: limits: cpu: 1024m memory: 2Gi image: repository: ~ tag: ~ configMap: create: false command: name: otelcol extraArgs: ["--config=/conf/config.yaml"] extraVolumes: - name: otelcol-configmap configMap: name: otel-collector-config defaultMode: 420 extraVolumeMounts: - name: otelcol-configmap mountPath: /conf features: kubernetesMonitor: enabled: false elasticsearchMonitor: enabled: false rabbitmqMonitor: enabled: false mongodbMonitor: enabled: false mysqlMonitor: enabled: false postgresqlMonitor: enabled: false event: enabled: false exporter: image: ~ istiodMonitor: enabled: false nginxMonitor: enabled: false apisixMonitor: enabled: false traceProfiling: enabled: false swctl: image: ~ rover: enabled: false image: ~ swctl: image: ~ vmMonitor: enabled: false grafana: enabled: false image: ~ function: enabled: false so11y: enabled: false als: enabled: false meshWithAgent: enabled: false agent: enabled: false # @feature: java-agent-injector; enable java agent injector and set the java agent image javaAgentInjector: enabled: false agentImage: ~ r3: enabled: false image: ~ rocketmqMonitor: enabled: false pulsarMonitor: enabled: false activemqMonitor: enabled: false cilium: enabled: false flinkMonitor: enabled: false