added repo
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
# Cluster-based Custom Values
|
||||
|
||||
This folder contains the custom `values.yaml` files organized based on specific cluster names. Each subdirectory corresponds to a particular cluster and holds the configurations for the applications and tools deployed within that cluster.
|
||||
@@ -0,0 +1,53 @@
|
||||
fullnameOverride: "alloy-datascience-a-prd"
|
||||
|
||||
alloy:
|
||||
configMap:
|
||||
configFile: datascience.alloy
|
||||
|
||||
clustering:
|
||||
enabled: true
|
||||
|
||||
extraPorts:
|
||||
- name: "otlp-grpc"
|
||||
port: 4317
|
||||
targetPort: 4317
|
||||
protocol: "TCP"
|
||||
- name: "otlp-http"
|
||||
port: 4318
|
||||
targetPort: 4318
|
||||
protocol: "TCP"
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 7
|
||||
memory: 55Gi
|
||||
limits:
|
||||
cpu: 7.5
|
||||
memory: 60Gi
|
||||
|
||||
configReloader:
|
||||
enabled: true
|
||||
|
||||
serviceAccount:
|
||||
annotations: {
|
||||
iam.gke.io/gcp-service-account: sa-dsci-sre-grafna-obs-stk-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
}
|
||||
|
||||
controller:
|
||||
# Must be one of 'daemonset', 'deployment', or 'statefulset'.
|
||||
type: 'deployment'
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "alloy"
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "alloy"
|
||||
effect: "NoSchedule"
|
||||
|
||||
autoscaling:
|
||||
enabled: true
|
||||
minReplicas: 1
|
||||
maxReplicas: 50
|
||||
targetCPUUtilizationPercentage: 80
|
||||
targetMemoryUtilizationPercentage: 60
|
||||
@@ -0,0 +1,694 @@
|
||||
## Aurva Data Plane
|
||||
## Ref: https://github.com/aurva-io/aurva-charts.git
|
||||
|
||||
postgresql:
|
||||
enabled: true
|
||||
fullnameOverride: "aurva-dataplane-database"
|
||||
volumePermissions:
|
||||
## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume
|
||||
##
|
||||
enabled: true
|
||||
global:
|
||||
storageClass: hyperdisk-balanced
|
||||
postgresql:
|
||||
auth:
|
||||
postgresPassword: "aurva"
|
||||
database: "controller"
|
||||
# Add toleration to make sure where this postgres db pod should reside (Applicable for production workloads): For more detail ref: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
|
||||
primary:
|
||||
extendedConfiguration: |
|
||||
max_connections = 300
|
||||
|
||||
#PLACEHOLDER##
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: datascience-devops
|
||||
|
||||
# -- Select nodes to deploy which matches the following labels
|
||||
nodeSelector: ##PLACEHOLDER##
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
# -- Provide a name in place of `aurva`
|
||||
# namespaceOverride: aurva-dataplane
|
||||
|
||||
##########################################################
|
||||
# Global Configs
|
||||
##########################################################
|
||||
global:
|
||||
aurva_controller:
|
||||
enabled: true
|
||||
aurva_fastdet:
|
||||
enabled: false
|
||||
aurva_pii_analyzer:
|
||||
enabled: true
|
||||
aurva_ocr:
|
||||
enabled: true
|
||||
aurva_collector:
|
||||
enabled: true
|
||||
|
||||
deploymentAnnotations: {}
|
||||
|
||||
priorityClassName: ""
|
||||
|
||||
##########################################################
|
||||
# Aurva Controller
|
||||
##########################################################
|
||||
aurva_controller:
|
||||
|
||||
# -- Additional labels for aurva-controller
|
||||
additionalLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-devops"
|
||||
service: "aurva-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "aurva_controller"
|
||||
|
||||
# -- Annotations on aurva-controller
|
||||
annotations: {}
|
||||
# "key": "value"
|
||||
|
||||
revisionHistoryLimit: 3
|
||||
|
||||
# -- no of replicas for aurva controller
|
||||
replicas: 10
|
||||
|
||||
# -- Additional label added on pod which is used in Service's Label Selector
|
||||
podLabels: {}
|
||||
|
||||
# -- Additional Pod Annotations added on pod created by this Deployment
|
||||
additionalPodAnnotations: {}
|
||||
# "key": "value"
|
||||
|
||||
# -- Secrets used to pull image
|
||||
imagePullSecrets: ""
|
||||
image:
|
||||
# Image of the app container
|
||||
repository: asia-south1-docker.pkg.dev/aurva-gcp/aurva-controller/aurva-controller
|
||||
tag: "v3.20.3"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# Environment variables to be passed to the app container
|
||||
env: []
|
||||
|
||||
# -- If want to mount Envs from configmap or secret
|
||||
envFrom:
|
||||
- type: secret
|
||||
name: aurva-controller-secrets
|
||||
# - type: configmap
|
||||
# name: proxy-datasource-config
|
||||
|
||||
# -- Resources to be defined for pod
|
||||
resources:
|
||||
limits:
|
||||
memory: 2.5Gi
|
||||
cpu: 2
|
||||
requests:
|
||||
memory: 2Gi
|
||||
cpu: 1
|
||||
|
||||
aurvaFastdet:
|
||||
image:
|
||||
repository: asia-south1-docker.pkg.dev/aurva-gcp/aurva-fastdet/aurva-fastdet
|
||||
tag: "v2.30.13"
|
||||
pullPolicy: IfNotPresent
|
||||
envFrom: []
|
||||
env: []
|
||||
resources:
|
||||
limits:
|
||||
cpu: 0.5
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 0.5
|
||||
memory: 512Mi
|
||||
|
||||
nodeSelector: ##PLACEHOLDER##
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
# -- Taint tolerations for nodes
|
||||
##PLACEHOLDER##
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: datascience-devops
|
||||
|
||||
# -- Pod affinity and pod anti-affinity allow you to specify rules about how pods should be placed relative to other pods.
|
||||
affinity:
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# - key: disktype
|
||||
# operator: In
|
||||
# values:
|
||||
# - ssd
|
||||
|
||||
# -- [DNS configuration]
|
||||
dnsConfig: {}
|
||||
# -- Alternative DNS policy for application controller pods
|
||||
dnsPolicy: "ClusterFirst"
|
||||
|
||||
secret:
|
||||
name: "aurva-controller-secrets"
|
||||
# -- Additional Labels on secrets
|
||||
additionalLabels:
|
||||
# key: value
|
||||
# -- Annotations on secrets
|
||||
annotations:
|
||||
# key: value
|
||||
config:
|
||||
#variables
|
||||
COMPANY_ID: "65eeb832-67ba-40fb-b95a-30ca9eaa3409"
|
||||
COMMAND_URL: "command.aurva-prd.meeshogcp.in:80"
|
||||
DEPLOYMENT_TYPE: "kubernetes"
|
||||
PG_USERNAME: "postgres"
|
||||
PG_PASSWORD: "aurva"
|
||||
PG_DBNAME: "controller"
|
||||
FLUSHER_WORKER_POOL_SIZE: "10000"
|
||||
FLUSHER_BATCH_SIZE: "30000"
|
||||
UNIQUENESS_IDENTIFIER: "k8s-datascience-prd-ase1" #Recommendation: should be equal to cluster name
|
||||
PROVIDER_ACCOUNT_ID: "meesho-datascience-prd-0622" # GCP PROJECT ID (not Number)
|
||||
REGION: "asia-southeast1" #eg: asia-south1
|
||||
ENVIRONMENT: "prod"
|
||||
OCR_ENABLED: "true"
|
||||
MONITORING_ENABLED: "false"
|
||||
HYBRID_ONLY_MODE: "false"
|
||||
FORCE_TLS: "false"
|
||||
FASTDET_FLAG : "false"
|
||||
AADHAAR_ENHANCER: "0"
|
||||
WORKSPACE_EVENT_TRACKING_ENABLED: "false"
|
||||
ACCESS_IQ_ENABLED: "true"
|
||||
GRPC_ENFORCE_ALPN_ENABLED: "false"
|
||||
ENABLE_FASTDET: "true"
|
||||
FASTDET_MAX_BATCH_SIZE: "100"
|
||||
SCAN_UUID_ENABLED: "true"
|
||||
HEARTBEAT_INTERVAL: "5m"
|
||||
#pii data
|
||||
PII_BUCKET_NAME: "gcs-infra-devop-aurva-datascience-a-prd"
|
||||
PII_LOG_BUCKET_REGION: "asia-southeast1"
|
||||
PII_LOG_CRON: "*/5 * * * *"
|
||||
ENABLE_PII_LOG: "true"
|
||||
PII_EVIDENCE_UPLOAD_MAX_BLOCKING_TASKS: "50000"
|
||||
PII_EVIDENCE_UPLOAD_MAX_CONCURRENT_TASKS: "500"
|
||||
PII_EVIDENCE_MAX_CACHE_WEIGHT: "100"
|
||||
QUOTA_CLEANUP_CRON: "0 0 * * *"
|
||||
ENABLE_PII_QUOTA: "true"
|
||||
MAX_PII_EVIDENCES_PER_KEY_PER_WINDOW: "3"
|
||||
PII_QUOTA_SYNC_CRON: "*/2 * * * *"
|
||||
QUOTA_WINDOW_HOURS: "24"
|
||||
#constants
|
||||
SKIP_NAMESPACES: "contour-internal-1-datascience-a-prd,contour-internal-1-datascience-a-prd-intra,contour-internal-0-datascience-a-prd,contour-internal-0-datascience-a-prd-intra"
|
||||
CLOUD_PROVIDER: "gcp"
|
||||
LOG_ENV: "production"
|
||||
RDS_SCANNER_AVAILABILITY : "false"
|
||||
REDSHIFT_SCANNER_AVAILABILITY : "false"
|
||||
S3_SCANNER_AVAILABILITY : "false"
|
||||
DYNAMO_SCANNER_AVAILABILITY: "false"
|
||||
DOCDB_SCANNER_AVAILABILITY: "false"
|
||||
OPENSEARCH_SCANNER_AVAILABILITY: "false"
|
||||
CLOUDSQL_SCANNER_AVAILABILITY: "true"
|
||||
BIGQUERY_SCANNER_AVAILABILITY: "true"
|
||||
AWS_SNAPSHOT_SCANNER_AVAILABILITY: "false"
|
||||
CLOUDSTORAGE_SCANNER_AVAILABILITY: "true"
|
||||
KEYSPACES_SCANNER_AVAILABILITY: "false"
|
||||
ALLOYDB_SCANNER_AVAILABILITY: "true"
|
||||
BIGTABLE_SCANNER_AVAILABILITY: "true"
|
||||
GCP_BACKUP_AVAILABILITY: "true"
|
||||
EGRESS_MODE_ONLY: "false"
|
||||
SCAN_UUID_ENABLED : "true"
|
||||
SENTRY_DSN: "https://fd6738e1ee4a9a9c1f079d09953b43b1@sentry.aurva.io/4"
|
||||
|
||||
serviceAccount:
|
||||
# -- Create a service account for the aurva controller
|
||||
create: true
|
||||
# -- Service account name
|
||||
name: aurva-controller-sa
|
||||
# -- Annotations applied to created service account
|
||||
annotations:
|
||||
iam.gke.io/gcp-service-account: sa-datascience-prd-aurva-contr@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
# eks.amazonaws.com/role-arn: arn:aws:iam::<account-id>:role/<role-name>
|
||||
# -- Labels applied to created service account
|
||||
labels: {}
|
||||
autoscaling:
|
||||
enabled: true
|
||||
minReplicas: 10
|
||||
maxReplicas: 15
|
||||
metrics:
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: 70
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: 70
|
||||
|
||||
|
||||
##########################################################
|
||||
# Aurva OCR
|
||||
##########################################################
|
||||
aurva_ocr:
|
||||
# -- Additional labels for aurva-controller
|
||||
additionalLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-devops"
|
||||
service: "aurva-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "aurva_ocr"
|
||||
|
||||
# -- Annotations on aurva-controller
|
||||
annotations: {}
|
||||
# "key": "value"
|
||||
|
||||
revisionHistoryLimit: 3
|
||||
|
||||
# -- no of replicas for aurva controller
|
||||
replicas: 1
|
||||
|
||||
# -- Additional label added on pod which is used in Service's Label Selector
|
||||
podLabels: {}
|
||||
|
||||
# -- Additional Pod Annotations added on pod created by this Deployment
|
||||
additionalPodAnnotations: {}
|
||||
# "key": "value"
|
||||
|
||||
# -- Secrets used to pull image
|
||||
imagePullSecrets: ""
|
||||
|
||||
# Image of the app container
|
||||
image:
|
||||
repository: asia-south1-docker.pkg.dev/aurva-gcp/aurva-ocr/aurva-ocr
|
||||
tag: "v3.20.3"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# Environment variables to be passed to the app container
|
||||
env: []
|
||||
|
||||
# -- If want to mount Envs from configmap or secret
|
||||
envFrom:
|
||||
aurva-ocr:
|
||||
type: secret
|
||||
name: aurva-ocr-secrets
|
||||
|
||||
# -- Resources to be defined for pod
|
||||
resources:
|
||||
limits:
|
||||
memory: 2Gi
|
||||
cpu: 1
|
||||
requests:
|
||||
memory: 2Gi
|
||||
cpu: 1
|
||||
|
||||
# -- Select nodes to deploy which matches the following labels
|
||||
|
||||
nodeSelector: ##PLACEHOLDER##
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
##PLACEHOLDER##
|
||||
# -- Taint tolerations for nodes
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: datascience-devops
|
||||
|
||||
# -- Pod affinity and pod anti-affinity allow you to specify rules about how pods should be placed relative to other pods.
|
||||
affinity:
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# - key: disktype
|
||||
# operator: In
|
||||
# values:
|
||||
# - ssd
|
||||
|
||||
# -- [DNS configuration]
|
||||
dnsConfig: {}
|
||||
# -- Alternative DNS policy for application controller pods
|
||||
dnsPolicy: "ClusterFirst"
|
||||
|
||||
secret:
|
||||
name: "aurva-ocr-secrets"
|
||||
# -- Additional Labels on secrets
|
||||
additionalLabels:
|
||||
# key: value
|
||||
# -- Annotations on secrets
|
||||
annotations:
|
||||
# key: value
|
||||
|
||||
config:
|
||||
PG_USERNAME: "postgres"
|
||||
PG_PASSWORD: "aurva"
|
||||
PG_DBNAME: "controller"
|
||||
OCR_TIME_LIMIT: "1"
|
||||
COMPANY_ID: "65eeb832-67ba-40fb-b95a-30ca9eaa3409"
|
||||
UNIQUENESS_IDENTIFIER: "gke-datascience-prd-ase1a"
|
||||
DEPLOYMENT_TYPE: "kubernetes"
|
||||
MAX_HOURS_TO_KEEP_REGARDLESS_OF_ACK_STATUS : "2880"
|
||||
|
||||
serviceAccount:
|
||||
# -- Create a service account for the aurva controller
|
||||
create: true
|
||||
# -- Service account name
|
||||
name: aurva-ocr-sa
|
||||
# -- Annotations applied to created service account
|
||||
annotations:
|
||||
# eks.amazonaws.com/role-arn: arn:aws:iam::<account-id>:role/<role-name>
|
||||
# iam.gke.io/gcp-service-account: service-account@gcp.iam.gserviceaccount.com
|
||||
# -- Labels applied to created service account
|
||||
labels: {}
|
||||
|
||||
##########################################################
|
||||
# Aurva Collector
|
||||
##########################################################
|
||||
aurva_collector:
|
||||
|
||||
# -- Additional labels for aurva-analyzer
|
||||
additionalLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-devops"
|
||||
service: "aurva-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "aurva_collector"
|
||||
|
||||
|
||||
# -- Annotations on aurva-analyzer
|
||||
annotations: {}
|
||||
# "key": "value"
|
||||
|
||||
# -- Additional label added on pod which is used in Service's Label Selector
|
||||
podLabels: {}
|
||||
|
||||
# -- Additional Pod Annotations added on pod created by this Deployment
|
||||
additionalPodAnnotations: {}
|
||||
# "key": "value"
|
||||
|
||||
# -- Secrets used to pull image
|
||||
imagePullSecrets: ""
|
||||
|
||||
# Image of the app container
|
||||
image:
|
||||
repository: asia-south1-docker.pkg.dev/aurva-gcp/aurva-collector/aurva-collector
|
||||
tag: "v3.20.3"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# Environment variables to be passed to the app container
|
||||
env: []
|
||||
|
||||
# -- If want to mount Envs from configmap or secret
|
||||
envFrom:
|
||||
aurva-controller:
|
||||
type: secret
|
||||
name: aurva-collector-secrets
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 800Mi
|
||||
requests:
|
||||
cpu: 200m
|
||||
memory: 512Mi
|
||||
|
||||
podSecurityContext: {}
|
||||
|
||||
securityContext:
|
||||
privileged: true
|
||||
capabilities:
|
||||
add:
|
||||
# For kernel v5.8 and above we don't need CAP_SYS_ADMIN or CAP_SYS_RESOURCE
|
||||
# we just need CAP_BPF and CAP_PERFMON. This has been tested on our EKS node
|
||||
# which is on kernel v5.10.x
|
||||
# When SSL Tracing is required we need CAP_SYS_ADMIN and CAP_SYS_PTRACE
|
||||
# on top of the previous capabilities
|
||||
# So finally these are the 4 possible combinations for capabilies
|
||||
# 1. Newer Kernels without SSL
|
||||
# - BPF
|
||||
# - PERFMON
|
||||
# 2. Newer Kernels with SSL
|
||||
- SYS_ADMIN
|
||||
- SYS_PTRACE
|
||||
# 3. Older Kernels without SSL
|
||||
# - SYS_ADMIN
|
||||
# - SYS_RESOURCE
|
||||
# 4. Older Kernels with SSL
|
||||
# - SYS_ADMIN
|
||||
# - SYS_RESOURCE
|
||||
# - SYS_PTRACE
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
volumes:
|
||||
- name: debugfs
|
||||
mountPath: /sys/kernel/debug
|
||||
hostPath: /sys/kernel/debug
|
||||
- name: vmlinux
|
||||
mountPath: /sys/kernel/btf/vmlinux
|
||||
hostPath: /sys/kernel/btf/vmlinux
|
||||
- name: procfs
|
||||
mountPath: /host/proc
|
||||
hostPath: /proc
|
||||
- name: bpffs
|
||||
mountPath: /sys/fs/bpf
|
||||
hostPath: /sys/fs/bpf
|
||||
|
||||
# -- Taint tolerations for nodes
|
||||
tolerations:
|
||||
# - effect: NoSchedule
|
||||
# key: cloud.google.com/compute-class
|
||||
# operator: Equal
|
||||
# value: megatetra
|
||||
- operator: Exists
|
||||
|
||||
# -- Pod affinity and pod anti-affinity allow you to specify rules about how pods should be placed relative to other pods.
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: dedicated
|
||||
operator: NotIn
|
||||
values:
|
||||
- vm-stack-ht
|
||||
- vmagent-c4
|
||||
- vmagent
|
||||
- vmagent-mds
|
||||
- vmagent-n4
|
||||
- vminsert
|
||||
- vminsert-mds
|
||||
- vmselect
|
||||
- vmselect-mds
|
||||
- vmstorage-c4d
|
||||
- vmstorage
|
||||
- vmstorage-mds
|
||||
- vmstorage-n4
|
||||
- vmstorage-n4d
|
||||
- vmstorage-sale-24aug
|
||||
- vmstorage-tmp
|
||||
- contour-external
|
||||
- contour-internal-0
|
||||
- contour-internal-1
|
||||
- contour-internal-1-dataproc-cc
|
||||
- contour-intra-0
|
||||
- contour-intra-1
|
||||
- contour-shared
|
||||
- alloy
|
||||
- preprod-spot-16
|
||||
dnsPolicy: "ClusterFirst"
|
||||
|
||||
secret:
|
||||
name: "aurva-collector-secrets"
|
||||
# -- Additional Labels on secrets
|
||||
additionalLabels:
|
||||
# key: value
|
||||
# -- Annotations on secrets
|
||||
annotations:
|
||||
# key: value
|
||||
|
||||
config:
|
||||
# variables
|
||||
COMPANY_ID: "65eeb832-67ba-40fb-b95a-30ca9eaa3409"
|
||||
UNIQUENESS_IDENTIFIER: "gke-datascience-prd-ase1a"
|
||||
DEPLOYMENT_TYPE: "kubernetes"
|
||||
TRACE_INTERNAL_SVC: "true"
|
||||
TRACE_INTERNAL_SVC_HTTP: "true"
|
||||
INTERNAL_SVC_SAMPLE_INTERVAL: "10m"
|
||||
LOGS_TTL: "1h"
|
||||
TRACE_HTTP2: "true"
|
||||
TRACE_SSL: "false"
|
||||
TRACE_PSQL: "false"
|
||||
TRACE_SQLSERVER: "false"
|
||||
TRACE_MYSQL: "false"
|
||||
TRACE_EGRESS: "true"
|
||||
TRACE_GO_TLS: "false"
|
||||
TRACE_ML_SERVICES: "false"
|
||||
# constants
|
||||
LOG_ENV: production
|
||||
SENTRY_DSN: "https://fd6738e1ee4a9a9c1f079d09953b43b1@sentry.aurva.io/4"
|
||||
MONITORING_ENABLED: "false"
|
||||
ENABLE_INGRESS_INFORMER: "false"
|
||||
ENABLE_SERVICE_INFORMER: "false"
|
||||
ENABLE_ISTIO_INFORMER: "false"
|
||||
EXCLUDED_PII_REGEX_TYPES: "ip_address,us_bank_number,us_driver_license,us_itin,us_passport,us_routing,us_mbi,ssn"
|
||||
AGGREGATOR_MAX_CONNECTIONS: "1000"
|
||||
|
||||
serviceAccount:
|
||||
# -- Create a service account for the aurva controller
|
||||
create: true
|
||||
# -- Service account name
|
||||
name: aurva-collector-sa
|
||||
# -- Annotations applied to created service account
|
||||
annotations:
|
||||
# eks.amazonaws.com/role-arn: arn:aws:iam::<account-id>:role/<role-name>
|
||||
# -- Labels applied to created service account
|
||||
labels: {}
|
||||
|
||||
##########################################################
|
||||
# Aurva PII Analyzer
|
||||
##########################################################
|
||||
aurva_pii_analyzer:
|
||||
|
||||
# -- Additional labels for aurva-controller
|
||||
additionalLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-devops"
|
||||
service: "aurva-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "aurva_pii_analyzer"
|
||||
|
||||
# -- Annotations on aurva-controller
|
||||
annotations: {}
|
||||
# "key": "value"
|
||||
|
||||
revisionHistoryLimit: 3
|
||||
|
||||
# -- no of replicas for aurva controller
|
||||
replicas: 16
|
||||
|
||||
# -- Additional label added on pod which is used in Service's Label Selector
|
||||
podLabels: {}
|
||||
|
||||
# -- Additional Pod Annotations added on pod created by this Deployment
|
||||
additionalPodAnnotations: {}
|
||||
# "key": "value"
|
||||
|
||||
# -- Secrets used to pull image
|
||||
imagePullSecrets: ""
|
||||
|
||||
##PLACEHOLDER##
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
# Image of the app container
|
||||
image:
|
||||
repository: asia-south1-docker.pkg.dev/aurva-gcp/aurva-piianalyzer/aurva-piianalyzer
|
||||
tag: "v3.20.3"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# Environment variables to be passed to the app container
|
||||
env: []
|
||||
|
||||
# -- If want to mount Envs from configmap or secret
|
||||
envFrom:
|
||||
aurva-pii-analyzer:
|
||||
type: secret
|
||||
name: aurva-pii-analyzer-secrets
|
||||
|
||||
# -- Resources to be defined for pod
|
||||
resources:
|
||||
limits:
|
||||
memory: 5Gi
|
||||
cpu: 4
|
||||
requests:
|
||||
memory: 4Gi
|
||||
cpu: 2
|
||||
|
||||
nodeSelector: ##PLACEHOLDER##
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
##PLACEHOLDER##
|
||||
# -- Taint tolerations for nodes
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: datascience-devops
|
||||
|
||||
# -- Pod affinity and pod anti-affinity allow you to specify rules about how pods should be placed relative to other pods.
|
||||
affinity:
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# - key: disktype
|
||||
# operator: In
|
||||
# values:
|
||||
# - ssd
|
||||
|
||||
# -- [DNS configuration]
|
||||
dnsConfig: {}
|
||||
# -- Alternative DNS policy for application controller pods
|
||||
dnsPolicy: "ClusterFirst"
|
||||
|
||||
secret:
|
||||
name: "aurva-pii-analyzer-secrets"
|
||||
# -- Additional Labels on secrets
|
||||
additionalLabels:
|
||||
# key: value
|
||||
# -- Annotations on secrets
|
||||
annotations:
|
||||
# key: value
|
||||
|
||||
config:
|
||||
PG_USERNAME: "postgres"
|
||||
PG_PASSWORD: "aurva"
|
||||
PG_DBNAME: "controller"
|
||||
SCHEDULER_TIME: "1"
|
||||
SUPPORTED_REGION: "US"
|
||||
COMPANY_ID: "65eeb832-67ba-40fb-b95a-30ca9eaa3409"
|
||||
UNIQUENESS_IDENTIFIER: "gke-datascience-prd-ase1a"
|
||||
DEPLOYMENT_TYPE: "kubernetes"
|
||||
MAX_HOURS_TO_KEEP_REGARDLESS_OF_ACK_STATUS: "2880"
|
||||
|
||||
serviceAccount:
|
||||
# -- Create a service account for the aurva controller
|
||||
create: true
|
||||
# -- Service account name
|
||||
name: aurva-pii-analyzer-sa
|
||||
# -- Annotations applied to created service account
|
||||
annotations:
|
||||
# eks.amazonaws.com/role-arn: arn:aws:iam::<account-id>:role/<role-name>
|
||||
# -- Labels applied to created service account
|
||||
labels: {}
|
||||
|
||||
autoscaling:
|
||||
enabled: true
|
||||
minReplicas: 1
|
||||
maxReplicas: 2
|
||||
metrics:
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: 70
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: 70
|
||||
@@ -0,0 +1,129 @@
|
||||
global:
|
||||
logLevel: 2
|
||||
rbac:
|
||||
create: true
|
||||
priorityClassName: "high-priority"
|
||||
installCRDs: false
|
||||
|
||||
crds:
|
||||
enabled: true
|
||||
keep: true
|
||||
|
||||
# Cert-manager Controller
|
||||
replicaCount: 1
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/cert-manager/cert-manager-controller
|
||||
tag: v1.20.1
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
|
||||
# Webhook Configuration
|
||||
webhook:
|
||||
replicaCount: 1
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/cert-manager/cert-manager-webhook
|
||||
tag: v1.20.1
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 256Mi
|
||||
|
||||
# CA Injector Configuration
|
||||
cainjector:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/cert-manager/cert-manager-cainjector
|
||||
tag: v1.20.1
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 256Mi
|
||||
|
||||
# ACME Solver Configuration
|
||||
acmesolver:
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/cert-manager/cert-manager-acmesolver
|
||||
tag: v1.20.1
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# Startup API Check
|
||||
startupapicheck:
|
||||
enabled: true
|
||||
timeout: 1m
|
||||
backoffLimit: 4
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/cert-manager/cert-manager-startupapicheck
|
||||
tag: v1.20.1
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 32Mi
|
||||
limits:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
|
||||
# Prometheus Monitoring
|
||||
prometheus:
|
||||
enabled: true
|
||||
servicemonitor:
|
||||
enabled: false
|
||||
interval: 60s
|
||||
scrapeTimeout: 30s
|
||||
labels:
|
||||
prometheus: cert-manager
|
||||
@@ -0,0 +1,23 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: c3-standard-22-lssd
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: c3-standard-22-lssd
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3-standard-22-lssd
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-balanced
|
||||
localSSDCount: 4
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,28 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: contour-internal-0
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: contour-internal-0
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3d-highcpu-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c3-highcpu-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,34 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: contour-internal-1
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: contour-internal-1
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3d-highcpu-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c3-highcpu-22
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c4d-highcpu-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: contour-internal-dataproc
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: contour-internal-dataproc
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3d-highcpu-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c3-highcpu-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,28 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: contour-intra-0
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: contour-intra-0
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3d-highcpu-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c3-highcpu-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,28 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: contour-intra-1
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: contour-intra-1
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3d-highcpu-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c3-highcpu-22
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,28 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: contour-shared
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: contour-shared
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n4d-highcpu-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: hyperdisk-balanced
|
||||
- machineType: n4-highcpu-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 30
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: datascience-devops
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: datascience-devops
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: e2-standard-4
|
||||
maxPodsPerNode: 32
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: datascience-kyverno
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: datascience-kyverno
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n2-standard-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: ds-airflow
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: ds-airflow
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n2-standard-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,26 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: g2-l4-priority-class
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: g2-l4-priority-class
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: default
|
||||
type: nvidia-l4
|
||||
machineType: g2-standard-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: g2-standard-4-l4-compute-class
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: g2-standard-4-l4-compute-class
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: default
|
||||
type: nvidia-l4
|
||||
machineType: g2-standard-4
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: g2-standard-8-l4-300gb-compute-class
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: g2-standard-8-l4-300gb-compute-class
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: default
|
||||
type: nvidia-l4
|
||||
machineType: g2-standard-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 300
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: g2-standard-8-l4-compute-class
|
||||
spec:
|
||||
activeMigration:
|
||||
optimizeRulePriority: true
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: g2-standard-8-l4-compute-class
|
||||
priorities:
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: latest
|
||||
type: nvidia-l4
|
||||
location:
|
||||
zones:
|
||||
- asia-southeast1-a
|
||||
machineType: g2-standard-8
|
||||
maxPodsPerNode: 18
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: latest
|
||||
type: nvidia-l4
|
||||
location:
|
||||
zones:
|
||||
- asia-southeast1-b
|
||||
machineType: g2-standard-8
|
||||
maxPodsPerNode: 18
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: latest
|
||||
type: nvidia-l4
|
||||
location:
|
||||
zones:
|
||||
- asia-southeast1-c
|
||||
machineType: g2-standard-8
|
||||
maxPodsPerNode: 18
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: load-testing-v2-mlp
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: load-testing-v2-mlp
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n2d-standard-48
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,34 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: megaduo
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: megaduo
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3-highcpu-22
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c3-highcpu-44
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c4-highcpu-48
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: megaduo-ctz
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: megaduo-ctz
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3-highcpu-22
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: megaduo-rto-consumer
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: megaduo-rto-consumer
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3-highcpu-22
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: megaduolite
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: megaduolite
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n2-custom-16-32768
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: megaquad
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: megaquad
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3-standard-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: megatetra
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: megatetra
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n2-standard-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: megatetralite
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: megatetralite
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n2-standard-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,26 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: mlp-a2-highgpu-1
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: mlp-a2-highgpu-1
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: default
|
||||
type: nvidia-tesla-a100
|
||||
machineType: a2-highgpu-1g
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,28 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: mlp-c3d-hc-30-300-v1
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: mlp-c3d-hc-30-300-v1
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3d-highcpu-30
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 300
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c4d-standard-32
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 300
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: mlp-c3d-highcpu-30-sz
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: mlp-c3d-highcpu-30-sz
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3d-highcpu-30
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: mlp-c3d-highcpu-30-v1
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: mlp-c3d-highcpu-30-v1
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3d-highcpu-30
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: mlp-c4d-localssd
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: mlp-c4d-localssd
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c4d-standard-16-lssd
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,26 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: mlp-g2-standard-16-v2
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: mlp-g2-standard-16-v2
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: default
|
||||
type: nvidia-l4
|
||||
machineType: g2-standard-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: mlp-g2-standard-32-custom
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: mlp-g2-standard-32-custom
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: default
|
||||
type: nvidia-l4
|
||||
machineType: g2-custom-32-98304
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: mlp-g2-standard-8-zone-a
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: mlp-g2-standard-8-zone-a
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: default
|
||||
type: nvidia-l4
|
||||
machineType: g2-standard-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,23 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: n2d-standard-48-4lssd
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: n2d-standard-48-4lssd
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n2d-standard-48
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
localSSDCount: 4
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: nginx-internal
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: nginx-internal
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3-highcpu-4
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: np-dsci-ml-g2-standard-8-prd-ase1
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: np-dsci-ml-g2-standard-8-prd-ase1
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- gpu:
|
||||
count: 1
|
||||
driverVersion: default
|
||||
type: nvidia-l4
|
||||
machineType: g2-standard-8
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: rockdb-localssd-1
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: rockdb-localssd-1
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c4-standard-16-lssd
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: rust-onboard
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: rust-onboard
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c4a-highcpu-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: ssd-cosmos-v2
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: ssd-cosmos-v2
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n2-standard-32
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,34 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: sumoduo
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: sumoduo
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3-highcpu-44
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c3-highcpu-88
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
- machineType: c4-highcpu-96
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: sumotetra
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: sumotetra
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n2-standard-32
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmagent-dr
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmagent-dr
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: TODO-vmagent-dr
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmagent-mds
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmagent-mds
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: TODO-vmagent-mds
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmagent-n4
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmagent-n4
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n4d-highcpu-80
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,34 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmagent-n4d
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmagent-n4d
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n4d-highcpu-80
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
- machineType: c4-highcpu-192
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
- machineType: c4d-highcpu-384
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vminsert
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vminsert
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: TODO-vminsert
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vminsert-mds
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vminsert-mds
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n4-highcpu-16
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmselect
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmselect
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: c3-highcpu-44
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: pd-ssd
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmselect-mds
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmselect-mds
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: TODO-vmselect-mds
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmstorage-c4d
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmstorage-c4d
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: TODO-vmstorage-c4d
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmstorage-n4
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmstorage-n4
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n4-highmem-48
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,28 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmstorage-n4d
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmstorage-n4d
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: n4d-highmem-48
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
- machineType: n4d-highmem-64
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: cloud.google.com/v1
|
||||
kind: ComputeClass
|
||||
metadata:
|
||||
name: vmstorage-sale-24aug
|
||||
spec:
|
||||
nodePoolConfig:
|
||||
serviceAccount: sa-common-np-dsci-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
nodeLabels:
|
||||
dedicated: vmstorage-sale-24aug
|
||||
priorityDefaults:
|
||||
location:
|
||||
zones: ['asia-southeast1-a']
|
||||
nodePoolAutoCreation:
|
||||
enabled: true
|
||||
priorities:
|
||||
- machineType: TODO-vmstorage-sale-24aug
|
||||
maxPodsPerNode: 16
|
||||
spot: false
|
||||
storage:
|
||||
bootDiskSize: 100
|
||||
bootDiskType: hyperdisk-balanced
|
||||
whenUnsatisfiable: DoNotScaleUp
|
||||
@@ -0,0 +1,20 @@
|
||||
daemonSet:
|
||||
namespace: prd-conntrack-adjuster
|
||||
|
||||
conntrack:
|
||||
max: 2097152
|
||||
hashsize: 524288
|
||||
sleepInterval: 30
|
||||
|
||||
nodeAffinity:
|
||||
enabled: true
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: cloud.google.com/compute-class
|
||||
operator: In
|
||||
values:
|
||||
- "contour-external"
|
||||
- "contour-internal-0"
|
||||
- "contour-internal-1"
|
||||
- "contour-intra-0"
|
||||
- "contour-intra-1"
|
||||
@@ -0,0 +1,17 @@
|
||||
# ClusterIssuer override for gke-datascience-prd-ase1a (prd datascience cluster, ase1a zone).
|
||||
# ClusterIssuer is a cluster-scoped resource — this file pins the issuer
|
||||
# identity for this cluster so the name is auditable per-cluster.
|
||||
#
|
||||
# Must match the `issuerRef.name` in consuming Certificate CRs (see
|
||||
# devops-helm-charts/2.0.0/templates/proxyless-grpc-cert.yaml).
|
||||
|
||||
issuerName: contour-datascience-a-prd-ca-issuer
|
||||
rootCASecretName: contour-datascience-ca
|
||||
|
||||
externalSecret:
|
||||
enabled: true
|
||||
vaultPath: meesho/devops/contour/root-ca
|
||||
refreshInterval: "0"
|
||||
secretStoreRef:
|
||||
name: vault-backend
|
||||
namespace: cert-manager-datascience-prd
|
||||
@@ -0,0 +1,28 @@
|
||||
cronJob:
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/contour-cert-checker
|
||||
tag: v1.1
|
||||
schedule: "* 12 * * *"
|
||||
args: ["--cluster=gke-datascience-prd-ase1a"]
|
||||
resources:
|
||||
requests:
|
||||
memory: "50Mi"
|
||||
cpu: "50m"
|
||||
limits:
|
||||
memory: "100Mi"
|
||||
cpu: "100m"
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: datascience-devops
|
||||
backoffLimit: 3
|
||||
historyLimit:
|
||||
successfulJobs: 7
|
||||
failedJobs: 7
|
||||
|
||||
rbac:
|
||||
namespace: contour-cert-checker-ns
|
||||
serviceAccountName: contour-cert-checker-sa
|
||||
@@ -0,0 +1,127 @@
|
||||
fullnameOverride: "contour-internal-0-datascience-prd"
|
||||
configInline:
|
||||
enableExternalNameService: true
|
||||
timeouts:
|
||||
connection-idle-timeout: 305s
|
||||
connection-shutdown-grace-period: 300s
|
||||
max-connection-duration: 1200s
|
||||
disablePermitInsecure: false
|
||||
tls:
|
||||
fallback-certificate: {}
|
||||
accesslog-format: envoy
|
||||
accesslog-level: disabled
|
||||
contour:
|
||||
tlsExistingSecret: "contourcert"
|
||||
enabled: true
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 10%
|
||||
maxUnavailable: 0
|
||||
replicaCount: 3
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
manageCRDs: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 2
|
||||
memory: 4Gi
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-shared
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-shared
|
||||
service:
|
||||
tcpLB: true
|
||||
type: ClusterIP
|
||||
ports:
|
||||
xds: 8001
|
||||
metrics: 8000
|
||||
ingressClass:
|
||||
name: "contour-internal-0"
|
||||
create: true
|
||||
debug: false
|
||||
podAnnotations:
|
||||
prometheus.io/path: /metrics
|
||||
prometheus.io/port: '8000'
|
||||
prometheus.io/scrape: 'true'
|
||||
envoy:
|
||||
tlsExistingSecret: "envoycert"
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 10%
|
||||
enabled: true
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
kind: deployment
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-internal-0
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-internal-0
|
||||
logLevel: error
|
||||
autoscaling:
|
||||
behavior:
|
||||
scaleDown:
|
||||
policies:
|
||||
- periodSeconds: 60
|
||||
type: Pods
|
||||
value: 2
|
||||
selectPolicy: Min
|
||||
stabilizationWindowSeconds: 300
|
||||
scaleUp:
|
||||
policies:
|
||||
- periodSeconds: 15
|
||||
type: Percent
|
||||
value: 100
|
||||
selectPolicy: Max
|
||||
stabilizationWindowSeconds: 60
|
||||
enabled: true
|
||||
minReplicas: 3
|
||||
maxReplicas: 250
|
||||
targetCPU: "40"
|
||||
targetMemory: "55"
|
||||
podAnnotations:
|
||||
prometheus.io/path: /stats/prometheus
|
||||
prometheus.io/port: '8002'
|
||||
prometheus.io/scrape: 'true'
|
||||
extraArgs:
|
||||
- '--concurrency 6'
|
||||
resources:
|
||||
requests:
|
||||
cpu: 6
|
||||
memory: 8Gi
|
||||
limits:
|
||||
cpu: 6
|
||||
memory: 14Gi
|
||||
service:
|
||||
tcpLB: true
|
||||
export:
|
||||
enabled: true
|
||||
targetPorts:
|
||||
http: http
|
||||
https: https
|
||||
type: ClusterIP
|
||||
annotations:
|
||||
cloud.google.com/neg: '{"exposed_ports": {"80":{"name": "envoy-int0-datascience-a-prd"}}}'
|
||||
ports:
|
||||
http: 80
|
||||
https: 443
|
||||
grpc: 8080 ## only when tcpLB is true it will be used
|
||||
useHostPort: false
|
||||
defaultBackend:
|
||||
enabled: false
|
||||
certManager:
|
||||
externalSecret:
|
||||
enabled: true
|
||||
secretStoreRef:
|
||||
name: "vault-backend"
|
||||
@@ -0,0 +1,118 @@
|
||||
fullnameOverride: "contour-internal-1-datascience-prd"
|
||||
configInline:
|
||||
enableExternalNameService: true
|
||||
timeouts:
|
||||
connection-idle-timeout: 305s
|
||||
connection-shutdown-grace-period: 300s
|
||||
max-connection-duration: 1200s
|
||||
disablePermitInsecure: false
|
||||
tls:
|
||||
fallback-certificate: {}
|
||||
accesslog-format: envoy
|
||||
accesslog-level: disabled
|
||||
contour:
|
||||
tlsExistingSecret: "contourcert"
|
||||
enabled: true
|
||||
replicaCount: 3
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
manageCRDs: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 12
|
||||
memory: 22Gi
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-shared
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-shared
|
||||
service:
|
||||
tcpLB: true
|
||||
type: ClusterIP
|
||||
ports:
|
||||
xds: 8001
|
||||
metrics: 8000
|
||||
ingressClass:
|
||||
name: "contour-internal-1"
|
||||
create: true
|
||||
debug: false
|
||||
podAnnotations:
|
||||
prometheus.io/path: /metrics
|
||||
prometheus.io/port: '8000'
|
||||
prometheus.io/scrape: 'true'
|
||||
envoy:
|
||||
tlsExistingSecret: "envoycert"
|
||||
enabled: true
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
kind: deployment
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-internal-1
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-internal-1
|
||||
logLevel: error
|
||||
autoscaling:
|
||||
behavior:
|
||||
scaleDown:
|
||||
policies:
|
||||
- periodSeconds: 60
|
||||
type: Pods
|
||||
value: 2
|
||||
selectPolicy: Min
|
||||
stabilizationWindowSeconds: 300
|
||||
scaleUp:
|
||||
policies:
|
||||
- periodSeconds: 15
|
||||
type: Percent
|
||||
value: 100
|
||||
selectPolicy: Max
|
||||
stabilizationWindowSeconds: 60
|
||||
enabled: true
|
||||
minReplicas: 3
|
||||
maxReplicas: 250
|
||||
targetCPU: "40"
|
||||
targetMemory: "50"
|
||||
podAnnotations:
|
||||
prometheus.io/path: /stats/prometheus
|
||||
prometheus.io/port: '8002'
|
||||
prometheus.io/scrape: 'true'
|
||||
extraArgs:
|
||||
- '--concurrency 14'
|
||||
resources:
|
||||
requests:
|
||||
cpu: 14
|
||||
memory: 6Gi
|
||||
limits:
|
||||
cpu: 14
|
||||
memory: 27Gi
|
||||
service:
|
||||
tcpLB: true
|
||||
export:
|
||||
enabled: true
|
||||
targetPorts:
|
||||
http: http
|
||||
https: https
|
||||
type: ClusterIP
|
||||
annotations:
|
||||
cloud.google.com/neg: '{"exposed_ports": {"80":{"name": "envoy-int1-datascience-a-prd"}}}'
|
||||
ports:
|
||||
http: 80
|
||||
https: 443
|
||||
grpc: 8080 ## only when tcpLB is true it will be used
|
||||
useHostPort: false
|
||||
defaultBackend:
|
||||
enabled: false
|
||||
certManager:
|
||||
externalSecret:
|
||||
enabled: true
|
||||
secretStoreRef:
|
||||
name: "vault-backend"
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
configInline:
|
||||
enableExternalNameService: true
|
||||
timeouts:
|
||||
connection-idle-timeout: 65s
|
||||
connection-shutdown-grace-period: 60s
|
||||
max-connection-duration: 600s
|
||||
disablePermitInsecure: false
|
||||
tls:
|
||||
fallback-certificate: {}
|
||||
accesslog-format: envoy
|
||||
accesslog-level: disabled
|
||||
contour:
|
||||
enabled: true
|
||||
replicaCount: 3
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
manageCRDs: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 3Gi
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-shared
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-shared
|
||||
service:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
xds: 8001
|
||||
metrics: 8000
|
||||
ingressClass:
|
||||
name: "contour-internal-dataproc"
|
||||
create: true
|
||||
debug: false
|
||||
podAnnotations:
|
||||
prometheus.io/path: /metrics
|
||||
prometheus.io/port: '8000'
|
||||
prometheus.io/scrape: 'true'
|
||||
envoy:
|
||||
enabled: true
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 5%
|
||||
maxUnavailable: 0
|
||||
kind: deployment
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-internal-dataproc
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-internal-dataproc
|
||||
logLevel: error
|
||||
autoscaling:
|
||||
behavior:
|
||||
scaleDown:
|
||||
policies:
|
||||
- periodSeconds: 60
|
||||
type: Pods
|
||||
value: 2
|
||||
selectPolicy: Min
|
||||
stabilizationWindowSeconds: 300
|
||||
scaleUp:
|
||||
policies:
|
||||
- periodSeconds: 15
|
||||
type: Percent
|
||||
value: 100
|
||||
selectPolicy: Max
|
||||
stabilizationWindowSeconds: 60
|
||||
enabled: true
|
||||
minReplicas: 3
|
||||
maxReplicas: 250
|
||||
targetCPU: "60"
|
||||
targetMemory: "60"
|
||||
podAnnotations:
|
||||
prometheus.io/path: /stats/prometheus
|
||||
prometheus.io/port: '8002'
|
||||
prometheus.io/scrape: 'true'
|
||||
extraArgs:
|
||||
- '--concurrency 6'
|
||||
resources:
|
||||
requests:
|
||||
cpu: 6
|
||||
memory: 8Gi
|
||||
limits:
|
||||
cpu: 6
|
||||
memory: 14Gi
|
||||
service:
|
||||
tcpLB: true
|
||||
export:
|
||||
enabled: false
|
||||
targetPorts:
|
||||
http: http
|
||||
https: https
|
||||
type: ClusterIP
|
||||
ports:
|
||||
http: 80
|
||||
https: 443
|
||||
grpc: 8080 ## only when tcpLB is true it will be used
|
||||
useHostPort: false
|
||||
defaultBackend:
|
||||
enabled: false
|
||||
@@ -0,0 +1,125 @@
|
||||
fullnameOverride: "contour-internal-0-datascience-intra-prd"
|
||||
configInline:
|
||||
enableExternalNameService: true
|
||||
timeouts:
|
||||
connection-idle-timeout: 305s
|
||||
connection-shutdown-grace-period: 300s
|
||||
max-connection-duration: 1200s
|
||||
disablePermitInsecure: false
|
||||
tls:
|
||||
fallback-certificate: {}
|
||||
accesslog-format: envoy
|
||||
accesslog-level: disabled
|
||||
contour:
|
||||
tlsExistingSecret: "contourcert"
|
||||
enabled: true
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 10%
|
||||
maxUnavailable: 0
|
||||
replicaCount: 3
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
manageCRDs: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 2
|
||||
memory: 4Gi
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-shared
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-shared
|
||||
service:
|
||||
tcpLB: true
|
||||
type: ClusterIP
|
||||
ports:
|
||||
xds: 8001
|
||||
metrics: 8000
|
||||
ingressClass:
|
||||
name: "contour-internal-intra-0"
|
||||
create: true
|
||||
debug: false
|
||||
podAnnotations:
|
||||
prometheus.io/path: /metrics
|
||||
prometheus.io/port: '8000'
|
||||
prometheus.io/scrape: 'true'
|
||||
envoy:
|
||||
tlsExistingSecret: "envoycert"
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 10%
|
||||
enabled: true
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
kind: deployment
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-intra-0
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-intra-0
|
||||
logLevel: error
|
||||
autoscaling:
|
||||
behavior:
|
||||
scaleDown:
|
||||
policies:
|
||||
- periodSeconds: 60
|
||||
type: Pods
|
||||
value: 2
|
||||
selectPolicy: Min
|
||||
stabilizationWindowSeconds: 300
|
||||
scaleUp:
|
||||
policies:
|
||||
- periodSeconds: 15
|
||||
type: Percent
|
||||
value: 100
|
||||
selectPolicy: Max
|
||||
stabilizationWindowSeconds: 60
|
||||
enabled: true
|
||||
minReplicas: 3
|
||||
maxReplicas: 250
|
||||
targetCPU: "40"
|
||||
targetMemory: "55"
|
||||
podAnnotations:
|
||||
prometheus.io/path: /stats/prometheus
|
||||
prometheus.io/port: '8002'
|
||||
prometheus.io/scrape: 'true'
|
||||
extraArgs:
|
||||
- '--concurrency 6'
|
||||
resources:
|
||||
requests:
|
||||
cpu: 6
|
||||
memory: 8Gi
|
||||
limits:
|
||||
cpu: 6
|
||||
memory: 14Gi
|
||||
service:
|
||||
tcpLB: false
|
||||
export:
|
||||
enabled: false
|
||||
targetPorts:
|
||||
http: http
|
||||
https: https
|
||||
type: ClusterIP
|
||||
ports:
|
||||
http: 80
|
||||
https: 443
|
||||
grpc: 8080 ## only when tcpLB is true it will be used
|
||||
useHostPort: false
|
||||
defaultBackend:
|
||||
enabled: false
|
||||
certManager:
|
||||
externalSecret:
|
||||
enabled: true
|
||||
secretStoreRef:
|
||||
name: "vault-backend"
|
||||
@@ -0,0 +1,116 @@
|
||||
fullnameOverride: "contour-internal-1-datascience-intra-prd"
|
||||
configInline:
|
||||
enableExternalNameService: true
|
||||
timeouts:
|
||||
connection-idle-timeout: 305s
|
||||
connection-shutdown-grace-period: 300s
|
||||
max-connection-duration: 1200s
|
||||
disablePermitInsecure: false
|
||||
tls:
|
||||
fallback-certificate: {}
|
||||
accesslog-format: envoy
|
||||
accesslog-level: disabled
|
||||
contour:
|
||||
tlsExistingSecret: "contourcert"
|
||||
enabled: true
|
||||
replicaCount: 3
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
manageCRDs: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 2
|
||||
memory: 4Gi
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-shared
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-shared
|
||||
service:
|
||||
tcpLB: false
|
||||
type: ClusterIP
|
||||
ports:
|
||||
xds: 8001
|
||||
metrics: 8000
|
||||
ingressClass:
|
||||
name: "contour-internal-intra-1"
|
||||
create: true
|
||||
debug: false
|
||||
podAnnotations:
|
||||
prometheus.io/path: /metrics
|
||||
prometheus.io/port: '8000'
|
||||
prometheus.io/scrape: 'true'
|
||||
envoy:
|
||||
tlsExistingSecret: "envoycert"
|
||||
enabled: true
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
kind: deployment
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: contour-intra-1
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: contour-intra-1
|
||||
logLevel: error
|
||||
autoscaling:
|
||||
behavior:
|
||||
scaleDown:
|
||||
policies:
|
||||
- periodSeconds: 60
|
||||
type: Pods
|
||||
value: 2
|
||||
selectPolicy: Min
|
||||
stabilizationWindowSeconds: 300
|
||||
scaleUp:
|
||||
policies:
|
||||
- periodSeconds: 15
|
||||
type: Percent
|
||||
value: 100
|
||||
selectPolicy: Max
|
||||
stabilizationWindowSeconds: 60
|
||||
enabled: true
|
||||
minReplicas: 3
|
||||
maxReplicas: 250
|
||||
targetCPU: "40"
|
||||
targetMemory: "50"
|
||||
podAnnotations:
|
||||
prometheus.io/path: /stats/prometheus
|
||||
prometheus.io/port: '8002'
|
||||
prometheus.io/scrape: 'true'
|
||||
extraArgs:
|
||||
- '--concurrency 10'
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10
|
||||
memory: 20Gi
|
||||
limits:
|
||||
cpu: 14
|
||||
memory: 30Gi
|
||||
service:
|
||||
tcpLB: false
|
||||
export:
|
||||
enabled: false
|
||||
targetPorts:
|
||||
http: http
|
||||
https: https
|
||||
type: ClusterIP
|
||||
ports:
|
||||
http: 80
|
||||
https: 443
|
||||
grpc: 8080 ## only when tcpLB is true it will be used
|
||||
useHostPort: false
|
||||
defaultBackend:
|
||||
enabled: false
|
||||
certManager:
|
||||
externalSecret:
|
||||
enabled: true
|
||||
secretStoreRef:
|
||||
name: "vault-backend"
|
||||
@@ -0,0 +1,28 @@
|
||||
replicaCount: 30
|
||||
communicationType: "intra"
|
||||
|
||||
labels:
|
||||
bu: datascience
|
||||
team: datascience-devops
|
||||
env: prd
|
||||
|
||||
clusterIP: 10.1.48.2
|
||||
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
kubernetes.io/os: linux
|
||||
@@ -0,0 +1,54 @@
|
||||
fullnameOverride: "coroot-node-agent-datascience-a-prd"
|
||||
priorityClassName: "low-priority"
|
||||
|
||||
scrape: "false" # disable scraping for now
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: "300m"
|
||||
memory: "1Gi"
|
||||
limits:
|
||||
cpu: "500m"
|
||||
memory: "1.5Gi"
|
||||
|
||||
tolerations:
|
||||
- operator: Exists
|
||||
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: p-datascience-contour-ext
|
||||
operator: NotIn
|
||||
values:
|
||||
- dedicated
|
||||
- key: p-datascience-contour-int-0
|
||||
operator: NotIn
|
||||
values:
|
||||
- dedicated
|
||||
- key: p-datascience-contour-int-1
|
||||
operator: NotIn
|
||||
values:
|
||||
- dedicated
|
||||
- key: p-datascience-contour-int
|
||||
operator: NotIn
|
||||
values:
|
||||
- dedicated
|
||||
- key: node_pool
|
||||
operator: NotIn
|
||||
values:
|
||||
- np-datascience-default-prd-ase1
|
||||
- key: cloud.google.com/compute-class
|
||||
operator: NotIn
|
||||
values:
|
||||
- vmstorage
|
||||
- vmselect
|
||||
- vmagent
|
||||
- vminsert
|
||||
- contour-internal-0
|
||||
- contour-internal-1
|
||||
- contour-external
|
||||
- alloy
|
||||
- sumoduolite-op
|
||||
- sumounolite
|
||||
@@ -0,0 +1,61 @@
|
||||
external-secrets:
|
||||
replicaCount: 1
|
||||
concurrent: 8
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
|
||||
# -- If set, install and upgrade CRDs through helm chart.
|
||||
installCRDs: true
|
||||
|
||||
crds:
|
||||
# -- If true, create CRDs for Cluster External Secret.
|
||||
createClusterExternalSecret: true
|
||||
# -- If true, create CRDs for Cluster Secret Store.
|
||||
createClusterSecretStore: true
|
||||
metrics:
|
||||
service:
|
||||
# -- Enable if you use another monitoring tool than Prometheus to scrape the metrics
|
||||
enabled: false
|
||||
|
||||
# -- Metrics service port to scrape
|
||||
port: 8080
|
||||
|
||||
# -- Annotations to add to Pod
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8080"
|
||||
prometheus.io/path: "/metrics"
|
||||
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: datascience-devops
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
certController:
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: datascience-devops
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8080"
|
||||
prometheus.io/path: "/metrics"
|
||||
webhook:
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: datascience-devops
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8080"
|
||||
prometheus.io/path: "/metrics"
|
||||
@@ -0,0 +1,63 @@
|
||||
# Default values for flagger.
|
||||
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/flagger
|
||||
tag: rollout-service-v2.0.0
|
||||
|
||||
# accepted values are debug, info, warning, error (defaults to info)
|
||||
logLevel: info
|
||||
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8080"
|
||||
appmesh.k8s.aws/sidecarInjectorWebhook: disabled
|
||||
|
||||
crd:
|
||||
# crd.create: `true` if custom resource definitions should be created
|
||||
create: false
|
||||
|
||||
resources:
|
||||
limits:
|
||||
memory: "1024Mi"
|
||||
cpu: "2"
|
||||
requests:
|
||||
memory: "512Mi"
|
||||
cpu: "500m"
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
operator: Equal
|
||||
value: datascience-devops
|
||||
|
||||
prometheus:
|
||||
install: false
|
||||
image: docker.io/prom/prometheus:v2.39.1
|
||||
pullSecret:
|
||||
retention: 2h
|
||||
securityContext:
|
||||
enabled: false
|
||||
context:
|
||||
readOnlyRootFilesystem: true
|
||||
runAsUser: 10001
|
||||
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
minAvailable: 1
|
||||
|
||||
podLabels:
|
||||
env: prd
|
||||
team: datascience-devops
|
||||
bu: infra
|
||||
|
||||
env:
|
||||
- name: ROLLOUT_SERVICE_URL
|
||||
value: "http://prd-datascience-rollout-service.prd-datascience-rollout-service.svc.cluster.local"
|
||||
|
||||
rolloutService:
|
||||
enabled: true
|
||||
apps:
|
||||
|
||||
@@ -0,0 +1,740 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
# DaemonSet, Deployment or StatefulSet
|
||||
kind: "DaemonSet"
|
||||
# azureblob, cloudwatch, elasticsearch7, elasticsearch8, gcs, graylog , kafka, kafka2, kinesis, opensearch
|
||||
variant: gcs
|
||||
# # Only applicable for Deployment or StatefulSet
|
||||
# replicaCount: 1
|
||||
|
||||
image:
|
||||
repository: "asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/fluentd-v2"
|
||||
pullPolicy: "Always"
|
||||
tag: "edge-debian"
|
||||
|
||||
## Optional array of imagePullSecrets containing private registry credentials
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||
imagePullSecrets: []
|
||||
|
||||
serviceAccount:
|
||||
create: true
|
||||
annotations: {
|
||||
iam.gke.io/gcp-service-account: sa-dsci-dssre-fluentd-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
}
|
||||
name: null
|
||||
|
||||
rbac:
|
||||
create: true
|
||||
|
||||
# from Kubernetes 1.25, PSP is deprecated
|
||||
# See: https://kubernetes.io/blog/2022/08/23/kubernetes-v1-25-release/#pod-security-changes
|
||||
# We automatically disable PSP if Kubernetes version is 1.25 or higher
|
||||
podSecurityPolicy:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
|
||||
## Security Context policies for controller pods
|
||||
## See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for
|
||||
## notes on enabling and using sysctls
|
||||
##
|
||||
podSecurityContext: {}
|
||||
# seLinuxOptions:
|
||||
# type: "spc_t"
|
||||
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
# Configure the livecycle
|
||||
# Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
|
||||
lifecycle: {}
|
||||
# preStop:
|
||||
# exec:
|
||||
# command: ["/bin/sh", "-c", "sleep 20"]
|
||||
|
||||
# Configure the livenessProbe
|
||||
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
#livenessProbe:
|
||||
# httpGet:
|
||||
# path: /metrics
|
||||
# port: metrics
|
||||
# initialDelaySeconds: 0
|
||||
# periodSeconds: 10
|
||||
# timeoutSeconds: 1
|
||||
# successThreshold: 1
|
||||
# failureThreshold: 3
|
||||
|
||||
# Configure the readinessProbe
|
||||
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||
#readinessProbe:
|
||||
# httpGet:
|
||||
# path: /metrics
|
||||
# port: metrics
|
||||
# initialDelaySeconds: 0
|
||||
# periodSeconds: 10
|
||||
# timeoutSeconds: 1
|
||||
# successThreshold: 1
|
||||
# failureThreshold: 3
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 50Mi
|
||||
limits:
|
||||
memory: 2000Mi
|
||||
cpu: 2000m
|
||||
|
||||
## only available if kind is Deployment
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 1
|
||||
maxReplicas: 100
|
||||
targetCPUUtilizationPercentage: 80
|
||||
# targetMemoryUtilizationPercentage: 80
|
||||
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics
|
||||
customRules: []
|
||||
# - type: Pods
|
||||
# pods:
|
||||
# metric:
|
||||
# name: packets-per-second
|
||||
# target:
|
||||
# type: AverageValue
|
||||
# averageValue: 1k
|
||||
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
|
||||
# behavior:
|
||||
# scaleDown:
|
||||
# policies:
|
||||
# - type: Pods
|
||||
# value: 4
|
||||
# periodSeconds: 60
|
||||
# - type: Percent
|
||||
# value: 10
|
||||
# periodSeconds: 60
|
||||
|
||||
|
||||
priorityClassName: "system-node-critical"
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
## Node tolerations for server scheduling to nodes with taints
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
##
|
||||
tolerations:
|
||||
- operator: Exists
|
||||
|
||||
## Affinity and anti-affinity
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: cloud.google.com/compute-class
|
||||
operator: NotIn
|
||||
values:
|
||||
- no-exclusion
|
||||
## Annotations to be added to fluentd DaemonSet/Deployment
|
||||
##
|
||||
annotations: {}
|
||||
|
||||
## Labels to be added to fluentd DaemonSet/Deployment
|
||||
##
|
||||
labels:
|
||||
bu: datascience
|
||||
team: sre
|
||||
type: fluentd
|
||||
service: fluentd-datascience-a-prd
|
||||
priority: p0
|
||||
env: prd
|
||||
|
||||
## Annotations to be added to fluentd pods
|
||||
##
|
||||
podAnnotations: {}
|
||||
|
||||
## Labels to be added to fluentd pods
|
||||
##
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: sre
|
||||
type: fluentd
|
||||
service: fluentd-datascience-a-prd
|
||||
priority: p0
|
||||
env: prd
|
||||
|
||||
|
||||
## How long (in seconds) a pods needs to be stable before progressing the deployment
|
||||
##
|
||||
minReadySeconds:
|
||||
|
||||
## How long (in seconds) a pod may take to exit (useful with lifecycle hooks to ensure lb deregistration is done)
|
||||
##
|
||||
terminationGracePeriodSeconds:
|
||||
|
||||
## Deployment strategy / DaemonSet updateStrategy
|
||||
##
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxUnavailable: 25%
|
||||
maxSurge: 0
|
||||
|
||||
## Additional environment variables to set for fluentd pods
|
||||
## Additional environment variables to set for fluentd pods
|
||||
env:
|
||||
- name: APP_NAME
|
||||
value: namespace_name
|
||||
- name: SUB_SYSTEM
|
||||
value: container_name
|
||||
# - name: FLUENTD_CONF
|
||||
# value: "../../etc/fluent/fluent.conf"
|
||||
- name: APP_NAME_SYSTEMD
|
||||
value: systemd
|
||||
- name: SUB_SYSTEM_SYSTEMD
|
||||
value: kubelet.service
|
||||
- name: ENDPOINT
|
||||
value: ingress.coralogixsg.com
|
||||
- name: LOG_LEVEL
|
||||
value: error
|
||||
- name: TZ
|
||||
value: "Asia/Kolkata"
|
||||
- name: K8S_NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
|
||||
externalSecret:
|
||||
secretStoreRef:
|
||||
name: vault-backend
|
||||
path: meesho/prd/cntr/devop/coralogix-keys
|
||||
|
||||
# externalSecret:
|
||||
# enabled: true
|
||||
# key: dev/devops/coralogix
|
||||
# secretStoreRef:
|
||||
# name: vault-backend
|
||||
|
||||
envFrom:
|
||||
# - secretRef:
|
||||
# name: integrations-privatekey
|
||||
- secretRef:
|
||||
name: es-password
|
||||
|
||||
initContainers: []
|
||||
|
||||
## Name of the configMap containing a custom fluentd.conf configuration file to use instead of the default.
|
||||
# mainConfigMapNameOverride: ""
|
||||
|
||||
## Name of the configMap containing files to be placed under /etc/fluent/config.d/
|
||||
## NOTE: This will replace ALL default files in the aforementioned path!
|
||||
# extraFilesConfigMapNameOverride: ""
|
||||
|
||||
mountVarLogDirectory: true
|
||||
mountDockerContainersDirectory: true
|
||||
|
||||
volumes: []
|
||||
# - name: varlog
|
||||
# hostPath:
|
||||
# path: /var/log
|
||||
# - name: varlibdockercontainers
|
||||
# hostPath:
|
||||
# path: /var/lib/docker/containers
|
||||
# - name: etcfluentd-main
|
||||
# configMap:
|
||||
# name: fluentd-main
|
||||
# defaultMode: 0777
|
||||
# - name: etcfluentd-config
|
||||
# configMap:
|
||||
# name: fluentd-config
|
||||
# defaultMode: 0777
|
||||
|
||||
volumeMounts: []
|
||||
# - name: varlog
|
||||
# mountPath: /var/log
|
||||
# - name: varlibdockercontainers
|
||||
# mountPath: /var/lib/docker/containers
|
||||
# readOnly: true
|
||||
# - name: etcfluentd-main
|
||||
# mountPath: /etc/fluent
|
||||
# - name: etcfluentd-config
|
||||
# mountPath: /etc/fluent/config.d/
|
||||
|
||||
## Only available if kind is StatefulSet
|
||||
## Fluentd persistence
|
||||
##
|
||||
persistence:
|
||||
enabled: false
|
||||
storageClass: ""
|
||||
accessMode: ReadWriteOnce
|
||||
size: 10Gi
|
||||
|
||||
## Fluentd service
|
||||
##
|
||||
service:
|
||||
enabled: true
|
||||
type: "ClusterIP"
|
||||
annotations: {}
|
||||
# loadBalancerIP:
|
||||
# externalTrafficPolicy: Local
|
||||
ports: []
|
||||
# - name: "forwarder"
|
||||
# protocol: TCP
|
||||
# containerPort: 24224
|
||||
|
||||
## Prometheus Monitoring
|
||||
##
|
||||
metrics:
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
additionalLabels:
|
||||
release: prometheus-operator
|
||||
namespace: ""
|
||||
namespaceSelector: {}
|
||||
## metric relabel configs to apply to samples before ingestion.
|
||||
##
|
||||
metricRelabelings: []
|
||||
# - sourceLabels: [__name__]
|
||||
# separator: ;
|
||||
# regex: ^fluentd_output_status_buffer_(oldest|newest)_.+
|
||||
# replacement: $1
|
||||
# action: drop
|
||||
## relabel configs to apply to samples after ingestion.
|
||||
##
|
||||
relabelings: []
|
||||
# - sourceLabels: [__meta_kubernetes_pod_node_name]
|
||||
# separator: ;
|
||||
# regex: ^(.*)$
|
||||
# targetLabel: nodename
|
||||
# replacement: $1
|
||||
# action: replace
|
||||
## Additional serviceMonitor config
|
||||
##
|
||||
# jobLabel: fluentd
|
||||
# scrapeInterval: 30s
|
||||
# scrapeTimeout: 5s
|
||||
# honorLabels: true
|
||||
|
||||
prometheusRule:
|
||||
enabled: false
|
||||
additionalLabels: {}
|
||||
namespace: ""
|
||||
rules: []
|
||||
# - alert: FluentdDown
|
||||
# expr: up{job="fluentd"} == 0
|
||||
# for: 5m
|
||||
# labels:
|
||||
# context: fluentd
|
||||
# severity: warning
|
||||
# annotations:
|
||||
# summary: "Fluentd Down"
|
||||
# description: "{{ $labels.pod }} on {{ $labels.nodename }} is down"
|
||||
# - alert: FluentdScrapeMissing
|
||||
# expr: absent(up{job="fluentd"} == 1)
|
||||
# for: 15m
|
||||
# labels:
|
||||
# context: fluentd
|
||||
# severity: warning
|
||||
# annotations:
|
||||
# summary: "Fluentd Scrape Missing"
|
||||
# description: "Fluentd instance has disappeared from Prometheus target discovery"
|
||||
|
||||
## Grafana Monitoring Dashboard
|
||||
##
|
||||
dashboards:
|
||||
enabled: "true"
|
||||
namespace: ""
|
||||
labels:
|
||||
grafana_dashboard: '"1"'
|
||||
|
||||
## Fluentd list of plugins to install
|
||||
##
|
||||
plugins: []
|
||||
# - fluent-plugin-out-http
|
||||
|
||||
## Add fluentd config files from K8s configMaps
|
||||
##
|
||||
configMapConfigs:
|
||||
- fluentd-prometheus-conf
|
||||
# - fluentd-systemd-conf
|
||||
|
||||
## Fluentd configurations:
|
||||
##
|
||||
fileConfigs:
|
||||
01_sources.conf: |-
|
||||
<source>
|
||||
@type systemd
|
||||
path /var/log/journal
|
||||
tag sys-log
|
||||
read_from_head true
|
||||
</source>
|
||||
<source>
|
||||
@id fluentd-containers.log
|
||||
@type tail
|
||||
encoding utf-8
|
||||
from_encoding "utf-8"
|
||||
path /var/log/containers/*.log
|
||||
pos_file /var/log/containers.log.pos
|
||||
exclude_path ["/var/log/containers/*telegraf*.log","/var/log/containers/*opentelemetry*.log","/var/log/containers/*fluentbit*.log","/var/log/containers/*gke-metrics*.log","/var/log/containers/*event-exporter-gke*.log","/var/log/containers/*metadata-server*.log","/var/log/containers/*metrics-server*.log","/var/log/containers/*filestore-node*.log"]
|
||||
path_key filename
|
||||
tag raw.containers.*
|
||||
read_from_head true
|
||||
<parse>
|
||||
@type multi_format
|
||||
<pattern>
|
||||
format json
|
||||
time_key time
|
||||
time_format %Y-%m-%dT%H:%M:%S.%NZ
|
||||
keep_time_key true
|
||||
</pattern>
|
||||
<pattern>
|
||||
format /^(?<time>.+) (?<stream>stdout|stderr) [^ ]* (?<log>.*)$/
|
||||
time_format %Y-%m-%dT%H:%M:%S.%N%:z
|
||||
keep_time_key true
|
||||
</pattern>
|
||||
<pattern>
|
||||
format /^(?<log>fsp\s+.+)$/
|
||||
ignorecase false
|
||||
multiline false
|
||||
</pattern>
|
||||
</parse>
|
||||
</source>
|
||||
<match raw.containers.**>
|
||||
@id raw.containers
|
||||
@type detect_exceptions
|
||||
remove_tag_prefix raw
|
||||
message log
|
||||
stream stream
|
||||
multiline_flush_interval 5
|
||||
max_bytes 500000
|
||||
max_lines 1000
|
||||
</match>
|
||||
|
||||
<filter containers.**>
|
||||
@type kubernetes_metadata
|
||||
</filter>
|
||||
|
||||
<filter containers.**>
|
||||
@type record_transformer
|
||||
enable_ruby true
|
||||
<record>
|
||||
container_id ${record.dig("docker", "container_id")}
|
||||
</record>
|
||||
</filter>
|
||||
|
||||
<match containers.**>
|
||||
@type rewrite_tag_filter
|
||||
<rule>
|
||||
key $.kubernetes.namespace_name
|
||||
pattern ^(.+)$
|
||||
tag $1.${tag}
|
||||
</rule>
|
||||
</match>
|
||||
|
||||
02_filters.conf: |-
|
||||
|
||||
03_dispatch.conf: |-
|
||||
<match {kube**,**coredns**,**external-secrets**,**keda**,**gke-mcs**,sys-log,**victoriametrics**}>
|
||||
@type "relabel"
|
||||
@label @NOCONCATDISPATCH
|
||||
</match>
|
||||
<match {**prd**,**int**}>
|
||||
@type "relabel"
|
||||
@label @CONCATDISPATCH
|
||||
</match>
|
||||
|
||||
|
||||
<label @CONCATDISPATCH>
|
||||
<filter {**prd**,**int**}>
|
||||
@type concat
|
||||
key log
|
||||
stream_identity_key container_id
|
||||
multiline_start_regexp /^.+\d{2}\:\d{2}\:\d{2}\.\d{3}/
|
||||
separator "\n"
|
||||
flush_interval 20
|
||||
timeout_label @DISPATCH
|
||||
slow_flush_log_threshold 50.0
|
||||
</filter>
|
||||
<match **>
|
||||
@type "relabel"
|
||||
@label @DISPATCH
|
||||
</match>
|
||||
</label>
|
||||
|
||||
<label @DISPATCH>
|
||||
<match {**prd**}>
|
||||
@type copy
|
||||
<store>
|
||||
@type "gcs"
|
||||
bucket "gcs-infr-dvps-meesho-logs-prd"
|
||||
path "datascience/${tag[0]}/dt=%d.%m.%Y/hr=%H/${tag[5]}"
|
||||
time_slice_format %Y%m%d%H
|
||||
object_key_format "%{path}/%{time_slice}_%{index}.%{file_extension}"
|
||||
store_as "gzip"
|
||||
<format>
|
||||
@type "json"
|
||||
localtime true
|
||||
</format>
|
||||
<buffer tag,time>
|
||||
timekey 20m
|
||||
@type "file"
|
||||
path "/tmp/td-agent/buffer/"
|
||||
flush_thread_count 20
|
||||
timekey_wait 10m
|
||||
chunk_limit_size 50m
|
||||
flush_at_shutdown true
|
||||
</buffer>
|
||||
</store>
|
||||
<store>
|
||||
@type "relabel"
|
||||
@label @PRD
|
||||
</store>
|
||||
</match>
|
||||
<match {**int**}>
|
||||
@type copy
|
||||
<store>
|
||||
@type "relabel"
|
||||
@label @PREPROD
|
||||
</store>
|
||||
</match>
|
||||
</label>
|
||||
|
||||
<label @PRD>
|
||||
<filter {**prd**}>
|
||||
@type grep
|
||||
<regexp>
|
||||
key log
|
||||
pattern /ERROR|WARN|error|warn/
|
||||
</regexp>
|
||||
</filter>
|
||||
<filter {**prd**} >
|
||||
@type parser
|
||||
key_name log
|
||||
reserve_time true
|
||||
reserve_data true
|
||||
<parse>
|
||||
@type multi_format
|
||||
<pattern>
|
||||
format regexp
|
||||
expression /(?<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}) - \[(?<log_level>[A-Z\s]{1,6})\] - \[(?<logger>[^\]]+):(?<method>[^\]:]+)?:(?<line_number>\d+)?\] - \[(?<pid>\d+)?, (?<thread>[^\]]+)?\] - \((?<x3_trace_id>[^,]*)?,(?<x3_span_id>[^)]*)?\)\|\((?<trace_id>[^,]*)?,(?<span_id>[^)]*)?\) - \[(?<user_id>[^\]]*)?\] - \((?<extras>[^)]*)?\) - (?<log>[^\n]*)\n?(?<throwable>[^|]*)$/
|
||||
</pattern>
|
||||
<pattern>
|
||||
format /^(?<log>.*)$/
|
||||
</pattern>
|
||||
</parse>
|
||||
</filter>
|
||||
<filter {**prd**}>
|
||||
@type record_transformer
|
||||
enable_ruby true
|
||||
auto_typecast true
|
||||
renew_record true
|
||||
<record>
|
||||
log_level ${record.dig("log_level")}
|
||||
logger ${record.dig("logger")}
|
||||
method ${record.dig("method")}
|
||||
line_number ${record.dig("line_number")}
|
||||
pid ${record.dig("pid")}
|
||||
thread ${record.dig("thread")}
|
||||
x3_trace_id ${record.dig("x3_trace_id")}
|
||||
x3_span_id ${record.dig("x3_span_id")}
|
||||
trace_id ${record.dig("trace_id")}
|
||||
span_id ${record.dig("span_id")}
|
||||
user_id ${record.dig("user_id")}
|
||||
extras ${record.dig("extras")}
|
||||
message ${record.dig("log")}
|
||||
throwable ${record.dig("throwable")}
|
||||
application_name ${record.dig("kubernetes", "namespace_name")}
|
||||
service_name ${record.dig("kubernetes", "container_name")}
|
||||
host ${record.dig("kubernetes", "host")}
|
||||
pod_name ${record.dig("kubernetes", "pod_name")}
|
||||
pod_ip ${record.dig("kubernetes", "pod_ip")}
|
||||
</record>
|
||||
</filter>
|
||||
<filter {**prd**}>
|
||||
@type prometheus
|
||||
<metric>
|
||||
name fluentd_log_count_total
|
||||
type counter
|
||||
desc Total number of log entries processed by Fluentd (prd namespace breakdown)
|
||||
<labels>
|
||||
application_name $.application_name
|
||||
log_level $.log_level
|
||||
pod_name $.pod_name
|
||||
</labels>
|
||||
</metric>
|
||||
</filter>
|
||||
<match {**prd**}>
|
||||
@type elasticsearch
|
||||
host eck-observability-prd-es-hot-warm.eck-observability-prd.svc.clusterset.local
|
||||
port 9200
|
||||
scheme http
|
||||
compression_level best_speed
|
||||
ssl_verify false
|
||||
emit_error_for_missing_id true
|
||||
id_key request_id
|
||||
user elastic
|
||||
password "#{ENV['ECK_ES_PASSWORD']}"
|
||||
index_name gcp-prd
|
||||
reload_on_failure true
|
||||
reconnect_on_error true
|
||||
include_timestamp true
|
||||
request_timeout 60s
|
||||
</match>
|
||||
</label>
|
||||
|
||||
<label @NOCONCATDISPATCH>
|
||||
<filter sys-log >
|
||||
@type record_transformer
|
||||
enable_ruby true
|
||||
auto_typecast true
|
||||
renew_record true
|
||||
renew_time_key ${record.dig("SYSLOG_TIMESTAMP")}
|
||||
<record>
|
||||
cluster_name "datascience-prd"
|
||||
application_name "systemd"
|
||||
node_name ${record.dig("_HOSTNAME")}
|
||||
text ${record.to_json}
|
||||
</record>
|
||||
</filter>
|
||||
<filter {kube**,**coredns**,**external-secrets**,**keda**,**gke-mcs**,**victoriametrics**}>
|
||||
@type record_transformer
|
||||
enable_ruby true
|
||||
auto_typecast true
|
||||
renew_record true
|
||||
<record>
|
||||
application_name ${record.dig("kubernetes", "namespace_name")}
|
||||
service_name ${record.dig("kubernetes", "container_name")}
|
||||
host ${record.dig("kubernetes", "host")}
|
||||
pod_name ${record.dig("kubernetes", "pod_name")}
|
||||
pod_ip ${record.dig("kubernetes", "pod_ip")}
|
||||
text ${record.dig("log")}
|
||||
</record>
|
||||
</filter>
|
||||
<match {**kube-events**,**kube-system**,**external-secrets**,**keda**,sys-log,**victoriametrics**}>
|
||||
@type elasticsearch
|
||||
host eck-observability-prd-es-hot-warm.eck-observability-prd.svc.clusterset.local
|
||||
port 9200
|
||||
scheme http
|
||||
compression_level best_speed
|
||||
ssl_verify false
|
||||
emit_error_for_missing_id true
|
||||
id_key request_id
|
||||
user elastic
|
||||
index_name gcp-kubeevents
|
||||
password "#{ENV['ECK_ES_PASSWORD']}"
|
||||
reload_on_failure true
|
||||
reconnect_on_error true
|
||||
include_timestamp true
|
||||
request_timeout 60s
|
||||
</match>
|
||||
<match {**gke-mcs**}>
|
||||
@type elasticsearch
|
||||
host eck-observability-prd-es-hot-warm.eck-observability-prd.svc.clusterset.local
|
||||
port 9200
|
||||
scheme http
|
||||
compression_level best_speed
|
||||
ssl_verify false
|
||||
emit_error_for_missing_id true
|
||||
id_key request_id
|
||||
user elastic
|
||||
index_name gke-mcs
|
||||
password "#{ENV['ECK_ES_PASSWORD']}"
|
||||
reload_on_failure true
|
||||
reconnect_on_error true
|
||||
include_timestamp true
|
||||
request_timeout 60s
|
||||
</match>
|
||||
<match **>
|
||||
@type elasticsearch
|
||||
host eck-observability-prd-es-hot-warm.eck-observability-prd.svc.clusterset.local
|
||||
port 9200
|
||||
scheme http
|
||||
compression_level best_speed
|
||||
ssl_verify false
|
||||
emit_error_for_missing_id true
|
||||
id_key request_id
|
||||
user elastic
|
||||
index_name gcp-prd
|
||||
password "#{ENV['ECK_ES_PASSWORD']}"
|
||||
reload_on_failure true
|
||||
reconnect_on_error true
|
||||
include_timestamp true
|
||||
request_timeout 60s
|
||||
</match>
|
||||
</label>
|
||||
|
||||
<label @PREPROD>
|
||||
<filter {**int**}>
|
||||
@type grep
|
||||
<regexp>
|
||||
key log
|
||||
pattern /INFO|ERROR|WARN|info|error|warn/
|
||||
</regexp>
|
||||
</filter>
|
||||
<filter {**int**} >
|
||||
@type parser
|
||||
key_name log
|
||||
reserve_time true
|
||||
reserve_data true
|
||||
<parse>
|
||||
@type multi_format
|
||||
<pattern>
|
||||
format regexp
|
||||
expression /(?<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}) - \[(?<log_level>[A-Z\s]{1,6})\] - \[(?<logger>[^\]]+):(?<method>[^\]:]+)?:(?<line_number>\d+)?\] - \[(?<pid>\d+)?, (?<thread>[^\]]+)?\] - \((?<x3_trace_id>[^,]*)?,(?<x3_span_id>[^)]*)?\)\|\((?<trace_id>[^,]*)?,(?<span_id>[^)]*)?\) - \[(?<user_id>[^\]]*)?\] - \((?<extras>[^)]*)?\) - (?<log>[^\n]*)\n?(?<throwable>[^|]*)$/
|
||||
</pattern>
|
||||
<pattern>
|
||||
format /^(?<log>.*)$/
|
||||
</pattern>
|
||||
</parse>
|
||||
</filter>
|
||||
<filter {**int**}>
|
||||
@type record_transformer
|
||||
enable_ruby true
|
||||
auto_typecast true
|
||||
renew_record true
|
||||
<record>
|
||||
log_level ${record.dig("log_level")}
|
||||
logger ${record.dig("logger")}
|
||||
method ${record.dig("method")}
|
||||
line_number ${record.dig("line_number")}
|
||||
pid ${record.dig("pid")}
|
||||
thread ${record.dig("thread")}
|
||||
x3_trace_id ${record.dig("x3_trace_id")}
|
||||
x3_span_id ${record.dig("x3_span_id")}
|
||||
trace_id ${record.dig("trace_id")}
|
||||
span_id ${record.dig("span_id")}
|
||||
user_id ${record.dig("user_id")}
|
||||
extras ${record.dig("extras")}
|
||||
message ${record.dig("log")}
|
||||
throwable ${record.dig("throwable")}
|
||||
application_name ${record.dig("kubernetes", "namespace_name")}
|
||||
service_name ${record.dig("kubernetes", "container_name")}
|
||||
host ${record.dig("kubernetes", "host")}
|
||||
pod_name ${record.dig("kubernetes", "pod_name")}
|
||||
pod_ip ${record.dig("kubernetes", "pod_ip")}
|
||||
</record>
|
||||
</filter>
|
||||
<match {**int**}>
|
||||
@type elasticsearch
|
||||
host eck-observability-prd-es-hot-warm.eck-observability-prd.svc.clusterset.local
|
||||
port 9200
|
||||
scheme http
|
||||
compression_level best_speed
|
||||
ssl_verify false
|
||||
emit_error_for_missing_id true
|
||||
id_key request_id
|
||||
user elastic
|
||||
index_name gcp-int
|
||||
password "#{ENV['ECK_ES_PASSWORD']}"
|
||||
reload_on_failure true
|
||||
reconnect_on_error true
|
||||
include_timestamp true
|
||||
request_timeout 60s
|
||||
</match>
|
||||
</label>
|
||||
|
||||
04_outputs.conf: |-
|
||||
@@ -0,0 +1,26 @@
|
||||
ingress-nginx:
|
||||
controller:
|
||||
metrics:
|
||||
enabled: true
|
||||
podAnnotations:
|
||||
prometheus.io/port: "10254"
|
||||
prometheus.io/scrape: "true"
|
||||
autoscaling:
|
||||
enabled: true
|
||||
minReplicas: 3
|
||||
maxReplicas: 6
|
||||
targetCPUUtilizationPercentage: 60
|
||||
targetMemoryUtilizationPercentage: 60
|
||||
ingressClassResource:
|
||||
name: nginx-internal
|
||||
service:
|
||||
type: ClusterIP
|
||||
annotations:
|
||||
cloud.google.com/neg: '{"exposed_ports": {"80":{"name": "nginx-dsci-int-a-prd"}}}'
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: nginx-internal
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "nginx-internal"
|
||||
effect: "NoSchedule"
|
||||
@@ -0,0 +1,45 @@
|
||||
keda:
|
||||
operator:
|
||||
replicaCount: 2
|
||||
metricsServer:
|
||||
replicaCount: 2
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
podLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-devops"
|
||||
metricsAdapter:
|
||||
bu: "datascience"
|
||||
team: "datascience-devops"
|
||||
resources:
|
||||
# -- Manage [resource request & limits] of KEDA operator pod
|
||||
operator:
|
||||
limits:
|
||||
cpu: 1
|
||||
memory: 2000Mi
|
||||
requests:
|
||||
cpu: 700m
|
||||
memory: 1000Mi
|
||||
# -- Manage [resource request & limits] of KEDA admission webhooks pod
|
||||
webhooks:
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 500Mi
|
||||
requests:
|
||||
cpu: 120m
|
||||
memory: 300Mi
|
||||
metricServer:
|
||||
limits:
|
||||
cpu: 1
|
||||
memory: 1000Mi
|
||||
requests:
|
||||
cpu: 120m
|
||||
memory: 200Mi
|
||||
env:
|
||||
- name: KEDA_SCALEDOBJECT_CTRL_MAX_RECONCILES
|
||||
value: '25'
|
||||
@@ -0,0 +1,2 @@
|
||||
stubDomains: >-
|
||||
{"clusterset.local":["169.254.169.254"],"prd.meesho.int.svc.cluster.local":["10.1.48.2"],"prd.mrouter.int.svc.cluster.local":["10.1.16.2"],"mq-server.meeshoint.in.svc.cluster.local":["10.1.16.2"]}
|
||||
@@ -0,0 +1,149 @@
|
||||
|
||||
fullnameOverride: kube-events-datascience-a-prd
|
||||
|
||||
operator:
|
||||
enabled: true
|
||||
image:
|
||||
repository: kubesphere/kube-events-operator
|
||||
tag: "" # If unset use v+ .Chart.appVersion
|
||||
pullPolicy: IfNotPresent
|
||||
configReloader:
|
||||
image: jimmidyson/configmap-reload:v0.7.1
|
||||
affinity: {}
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
value: datascience-devops
|
||||
operator: Equal
|
||||
resources:
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 200Mi
|
||||
requests:
|
||||
cpu: 20m
|
||||
memory: 20Mi
|
||||
# Additional volumes on the Deployment definition.
|
||||
volumes: []
|
||||
# Additional volumeMounts on the Deployment definition.
|
||||
volumeMounts: []
|
||||
serviceAccount:
|
||||
create: true
|
||||
name: ""
|
||||
# If true, just clean up cr but not crd
|
||||
cleanupAllCustomResources: false
|
||||
kubectlImage: docker.io/bitnami/kubectl:1.14.1
|
||||
|
||||
exporter:
|
||||
enabled: true
|
||||
image:
|
||||
repository: kubesphere/kube-events-exporter
|
||||
tag: "" # If unset use v+ .Chart.appVersion
|
||||
pullPolicy: IfNotPresent
|
||||
affinity: {}
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
value: datascience-devops
|
||||
operator: Equal
|
||||
resources:
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 500Mi
|
||||
requests:
|
||||
cpu: 20m
|
||||
memory: 50Mi
|
||||
# Additional volumes on the output Deployment definition.
|
||||
volumes: []
|
||||
# Additional volumeMounts on the output Deployment definition.
|
||||
volumeMounts: []
|
||||
sinks:
|
||||
stdout:
|
||||
enabled: true
|
||||
additionalWebhooks: []
|
||||
# - url:
|
||||
# service:
|
||||
# namespace:
|
||||
# name:
|
||||
# port:
|
||||
# path:
|
||||
|
||||
# Configure fluentbit(operated by https://github.com/fluent/fluent-operator) to collect events logs of exporter.
|
||||
# These will be applied only when exporter.stdout.enabled=true and fluentbit.enabled=true.
|
||||
fluentbit:
|
||||
enabled: false
|
||||
# Set this to containerd or crio if you want fluentbit to collect CRI format logs.
|
||||
# If not set, it will be auto detected.
|
||||
containerRuntime: ""
|
||||
input:
|
||||
enabled: true
|
||||
tail:
|
||||
refreshIntervalSeconds: 10
|
||||
memBufLimit: 5MB
|
||||
skipLongLines: true
|
||||
dbSync: Normal
|
||||
filter:
|
||||
enabled: true
|
||||
additionalFilters: []
|
||||
output:
|
||||
enabled: true
|
||||
opensearch:
|
||||
host: opensearch-cluster-data.kubesphere-logging-system.svc
|
||||
port: 9200
|
||||
logstashPrefix: ks-whizard-events
|
||||
suppressTypeName: true
|
||||
logstashFormat: true
|
||||
generateID: true
|
||||
|
||||
ruler:
|
||||
enabled: false
|
||||
replicas: 2
|
||||
image:
|
||||
repository: kubesphere/kube-events-ruler
|
||||
tag: "" # If unset use v+ .Chart.appVersion
|
||||
pullPolicy: IfNotPresent
|
||||
affinity: {}
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: cloud.google.com/compute-class
|
||||
value: datascience-devops
|
||||
operator: Equal
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 500Mi
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 50Mi
|
||||
# Additional volumes on the output Deployment definition.
|
||||
volumes: []
|
||||
# Additional volumeMounts on the output Deployment definition.
|
||||
volumeMounts: []
|
||||
ruleNamespaceSelector: {}
|
||||
ruleSelector: {}
|
||||
sinks:
|
||||
alertmanagers:
|
||||
- namespace: kubesphere-monitoring-system
|
||||
name: alertmanager-operated
|
||||
# webhooks:
|
||||
# - type:
|
||||
# url:
|
||||
# service:
|
||||
# namespace:
|
||||
# name:
|
||||
# port:
|
||||
# path:
|
||||
## 'stdout' sink type can be either 'notification' or 'alert'
|
||||
# stdout:
|
||||
# type: notification
|
||||
rule:
|
||||
createDefaults: true
|
||||
overrideDefaults: false
|
||||
|
||||
# Set timezone env variable to be set in containers
|
||||
timezone: "Asia/Kolkata"
|
||||
@@ -0,0 +1,478 @@
|
||||
# Default values for kube-state-metrics.
|
||||
prometheusScrape: true
|
||||
image:
|
||||
registry: asia-southeast1-docker.pkg.dev
|
||||
repository: meesho-devops-admin-0622/admin/sre/kube-state-metrics
|
||||
# If unset use v + .Charts.appVersion
|
||||
tag: v2.9.2
|
||||
sha: ""
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
fullnameOverride: kube-state-metrics-datascience-a-prd
|
||||
|
||||
dedicatedValue: false
|
||||
|
||||
imagePullSecrets: []
|
||||
# - name: "image-pull-secret"
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
ingressClassName: internal
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: 'true'
|
||||
|
||||
extraLabels: {}
|
||||
hosts:
|
||||
- name: clustermetrics-datascience-a-prd.meesho.com
|
||||
path: /
|
||||
port: http
|
||||
tls: []
|
||||
# - secretName: vmagent-ingress-tls
|
||||
# hosts:
|
||||
# - vmagent.local
|
||||
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
|
||||
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
|
||||
# ingressClassName: nginx
|
||||
# -- pathType is only for k8s >= 1.1=
|
||||
pathType: Prefix
|
||||
|
||||
global:
|
||||
# To help compatibility with other charts which use global.imagePullSecrets.
|
||||
# Allow either an array of {name: pullSecret} maps (k8s-style), or an array of strings (more common helm-style).
|
||||
# global:
|
||||
# imagePullSecrets:
|
||||
# - name: pullSecret1
|
||||
# - name: pullSecret2
|
||||
# or
|
||||
# global:
|
||||
# imagePullSecrets:
|
||||
# - pullSecret1
|
||||
# - pullSecret2
|
||||
imagePullSecrets: []
|
||||
#
|
||||
# Allow parent charts to override registry hostname
|
||||
imageRegistry: ""
|
||||
|
||||
# If set to true, this will deploy kube-state-metrics as a StatefulSet and the data
|
||||
# will be automatically sharded across <.Values.replicas> pods using the built-in
|
||||
# autodiscovery feature: https://github.com/kubernetes/kube-state-metrics#automated-sharding
|
||||
# This is an experimental feature and there are no stability guarantees.
|
||||
autosharding:
|
||||
enabled: false
|
||||
|
||||
replicas: 2
|
||||
|
||||
# List of additional cli arguments to configure kube-state-metrics
|
||||
# for example: --enable-gzip-encoding, --log-file, etc.
|
||||
# all the possible args can be found here: https://github.com/kubernetes/kube-state-metrics/blob/master/docs/cli-arguments.md
|
||||
extraArgs: []
|
||||
|
||||
service:
|
||||
port: 8080
|
||||
# Default to clusterIP for backward compatibility
|
||||
type: ClusterIP
|
||||
nodePort: 0
|
||||
loadBalancerIP: ""
|
||||
# Only allow access to the loadBalancerIP from these IPs
|
||||
loadBalancerSourceRanges: []
|
||||
clusterIP: ""
|
||||
annotations: {}
|
||||
|
||||
## Additional labels to add to all resources
|
||||
customLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "kube-state-metrics-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "exporter"
|
||||
|
||||
# app: kube-state-metrics
|
||||
|
||||
## Override selector labels
|
||||
selectorOverride: {}
|
||||
|
||||
## set to true to add the release label so scraping of the servicemonitor with kube-prometheus-stack works out of the box
|
||||
releaseLabel: false
|
||||
|
||||
hostNetwork: false
|
||||
|
||||
rbac:
|
||||
# If true, create & use RBAC resources
|
||||
create: true
|
||||
|
||||
# Set to a rolename to use existing role - skipping role creating - but still doing serviceaccount and rolebinding to it, rolename set here.
|
||||
# useExistingRole: your-existing-role
|
||||
|
||||
# If set to false - Run without Cluteradmin privs needed - ONLY works if namespace is also set (if useExistingRole is set this name is used as ClusterRole or Role to bind to)
|
||||
useClusterRole: true
|
||||
|
||||
# Add permissions for CustomResources' apiGroups in Role/ClusterRole. Should be used in conjunction with Custom Resource State Metrics configuration
|
||||
# Example:
|
||||
# - apiGroups: ["monitoring.coreos.com"]
|
||||
# resources: ["prometheuses"]
|
||||
# verbs: ["list", "watch"]
|
||||
extraRules: []
|
||||
|
||||
# Configure kube-rbac-proxy. When enabled, creates one kube-rbac-proxy container per exposed HTTP endpoint (metrics and telemetry if enabled).
|
||||
# The requests are served through the same service but requests are then HTTPS.
|
||||
kubeRBACProxy:
|
||||
enabled: false
|
||||
image:
|
||||
registry: quay.io
|
||||
repository: brancz/kube-rbac-proxy
|
||||
tag: v0.14.0
|
||||
sha: ""
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# List of additional cli arguments to configure kube-rbac-prxy
|
||||
# for example: --tls-cipher-suites, --log-file, etc.
|
||||
# all the possible args can be found here: https://github.com/brancz/kube-rbac-proxy#usage
|
||||
extraArgs: []
|
||||
|
||||
## Specify security settings for a Container
|
||||
## Allows overrides and additional options compared to (Pod) securityContext
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
|
||||
containerSecurityContext: {}
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 64Mi
|
||||
# requests:
|
||||
# cpu: 10m
|
||||
# memory: 32Mi
|
||||
|
||||
## volumeMounts enables mounting custom volumes in rbac-proxy containers
|
||||
## Useful for TLS certificates and keys
|
||||
volumeMounts: []
|
||||
# - mountPath: /etc/tls
|
||||
# name: kube-rbac-proxy-tls
|
||||
# readOnly: true
|
||||
|
||||
serviceAccount:
|
||||
# Specifies whether a ServiceAccount should be created, require rbac true
|
||||
create: true
|
||||
# The name of the ServiceAccount to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name:
|
||||
# Reference to one or more secrets to be used when pulling images
|
||||
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||
imagePullSecrets: []
|
||||
# ServiceAccount annotations.
|
||||
# Use case: AWS EKS IAM roles for service accounts
|
||||
# ref: https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html
|
||||
annotations: {}
|
||||
|
||||
prometheus:
|
||||
monitor:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
additionalLabels: {}
|
||||
namespace: ""
|
||||
jobLabel: ""
|
||||
targetLabels: []
|
||||
podTargetLabels: []
|
||||
interval: ""
|
||||
## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||
##
|
||||
sampleLimit: 0
|
||||
|
||||
## TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||
##
|
||||
targetLimit: 0
|
||||
|
||||
## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
##
|
||||
labelLimit: 0
|
||||
|
||||
## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
##
|
||||
labelNameLengthLimit: 0
|
||||
|
||||
## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
##
|
||||
labelValueLengthLimit: 0
|
||||
scrapeTimeout: ""
|
||||
proxyUrl: ""
|
||||
selectorOverride: {}
|
||||
honorLabels: false
|
||||
metricRelabelings: []
|
||||
relabelings: []
|
||||
scheme: ""
|
||||
## File to read bearer token for scraping targets
|
||||
bearerTokenFile: ""
|
||||
## Secret to mount to read bearer token for scraping targets. The secret needs
|
||||
## to be in the same namespace as the service monitor and accessible by the
|
||||
## Prometheus Operator
|
||||
bearerTokenSecret: {}
|
||||
# name: secret-name
|
||||
# key: key-name
|
||||
tlsConfig: {}
|
||||
|
||||
## Specify if a Pod Security Policy for kube-state-metrics must be created
|
||||
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
|
||||
##
|
||||
podSecurityPolicy:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
## Specify pod annotations
|
||||
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
|
||||
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
|
||||
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
|
||||
##
|
||||
# seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
|
||||
# seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
|
||||
# apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
|
||||
|
||||
additionalVolumes: []
|
||||
|
||||
## Configure network policy for kube-state-metrics
|
||||
networkPolicy:
|
||||
enabled: false
|
||||
# networkPolicy.flavor -- Flavor of the network policy to use.
|
||||
# Can be:
|
||||
# * kubernetes for networking.k8s.io/v1/NetworkPolicy
|
||||
# * cilium for cilium.io/v2/CiliumNetworkPolicy
|
||||
flavor: kubernetes
|
||||
|
||||
## Configure the cilium network policy kube-apiserver selector
|
||||
# cilium:
|
||||
# kubeApiServerSelector:
|
||||
# - toEntities:
|
||||
# - kube-apiserver
|
||||
|
||||
# egress:
|
||||
# - {}
|
||||
# ingress:
|
||||
# - {}
|
||||
# podSelector:
|
||||
# matchLabels:
|
||||
# app.kubernetes.io/name: kube-state-metrics
|
||||
|
||||
securityContext:
|
||||
enabled: true
|
||||
runAsGroup: 65534
|
||||
runAsUser: 65534
|
||||
fsGroup: 65534
|
||||
runAsNonRoot: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
|
||||
## Specify security settings for a Container
|
||||
## Allows overrides and additional options compared to (Pod) securityContext
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
|
||||
## Node labels for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "datascience-devops"
|
||||
|
||||
## Affinity settings for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
affinity: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
|
||||
## Topology spread constraints for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: exporter
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: exporter
|
||||
|
||||
# Annotations to be added to the deployment/statefulset
|
||||
annotations:
|
||||
kubernetes.io/psp: eks.privileged
|
||||
|
||||
# Annotations to be added to the pod
|
||||
podAnnotations: {}
|
||||
|
||||
## Assign a PriorityClassName to pods if set
|
||||
# priorityClassName: ""
|
||||
|
||||
# Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
podDisruptionBudget: {}
|
||||
|
||||
# Comma-separated list of metrics to be exposed.
|
||||
# This list comprises of exact metric names and/or regex patterns.
|
||||
# The allowlist and denylist are mutually exclusive.
|
||||
metricAllowlist: []
|
||||
|
||||
# Comma-separated list of metrics not to be enabled.
|
||||
# This list comprises of exact metric names and/or regex patterns.
|
||||
# The allowlist and denylist are mutually exclusive.
|
||||
metricDenylist: []
|
||||
|
||||
# Comma-separated list of additional Kubernetes label keys that will be used in the resource's
|
||||
# labels metric. By default the metric contains only name and namespace labels.
|
||||
# To include additional labels, provide a list of resource names in their plural form and Kubernetes
|
||||
# label keys you would like to allow for them (Example: '=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'.
|
||||
# A single '*' can be provided per resource instead to allow any labels, but that has
|
||||
# severe performance implications (Example: '=pods=[*]').
|
||||
metricLabelsAllowlist:
|
||||
- pods=[*]
|
||||
- nodes=[*]
|
||||
- deployments=[*]
|
||||
- statefulsets=[*]
|
||||
- persistentvolumeclaims=[*]
|
||||
- persistentvolumes=[*]
|
||||
- ingresses=[*]
|
||||
- namespaces=[*]
|
||||
- horizontalpodautoscalers=[*]
|
||||
# - namespaces=[k8s-label-1,k8s-label-n]
|
||||
|
||||
# Comma-separated list of Kubernetes annotations keys that will be used in the resource'
|
||||
# labels metric. By default the metric contains only name and namespace labels.
|
||||
# To include additional annotations provide a list of resource names in their plural form and Kubernetes
|
||||
# annotation keys you would like to allow for them (Example: '=namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...)'.
|
||||
# A single '*' can be provided per resource instead to allow any annotations, but that has
|
||||
# severe performance implications (Example: '=pods=[*]').
|
||||
metricAnnotationsAllowList: []
|
||||
# - pods=[k8s-annotation-1,k8s-annotation-n]
|
||||
|
||||
# Available collectors for kube-state-metrics.
|
||||
# By default, all available resources are enabled, comment out to disable.
|
||||
collectors:
|
||||
- certificatesigningrequests
|
||||
- configmaps
|
||||
- cronjobs
|
||||
- daemonsets
|
||||
- deployments
|
||||
- endpoints
|
||||
- horizontalpodautoscalers
|
||||
- ingresses
|
||||
- jobs
|
||||
- leases
|
||||
- limitranges
|
||||
- mutatingwebhookconfigurations
|
||||
- namespaces
|
||||
- networkpolicies
|
||||
- nodes
|
||||
- persistentvolumeclaims
|
||||
- persistentvolumes
|
||||
- poddisruptionbudgets
|
||||
- pods
|
||||
- replicasets
|
||||
- replicationcontrollers
|
||||
- resourcequotas
|
||||
- secrets
|
||||
- services
|
||||
- statefulsets
|
||||
- storageclasses
|
||||
- validatingwebhookconfigurations
|
||||
- volumeattachments
|
||||
|
||||
# Enabling kubeconfig will pass the --kubeconfig argument to the container
|
||||
kubeconfig:
|
||||
enabled: false
|
||||
# base64 encoded kube-config file
|
||||
secret:
|
||||
|
||||
# Enabling support for customResourceState, will create a configMap including your config that will be read from kube-state-metrics
|
||||
customResourceState:
|
||||
enabled: false
|
||||
# Add (Cluster)Role permissions to list/watch the customResources defined in the config to rbac.extraRules
|
||||
config: {}
|
||||
|
||||
# Enable only the release namespace for collecting resources. By default all namespaces are collected.
|
||||
# If releaseNamespace and namespaces are both set a merged list will be collected.
|
||||
releaseNamespace: false
|
||||
|
||||
# Comma-separated list(string) or yaml list of namespaces to be enabled for collecting resources. By default all namespaces are collected.
|
||||
namespaces: ""
|
||||
|
||||
# Comma-separated list of namespaces not to be enabled. If namespaces and namespaces-denylist are both set,
|
||||
# only namespaces that are excluded in namespaces-denylist will be used.
|
||||
namespacesDenylist: ""
|
||||
|
||||
## Override the deployment namespace
|
||||
##
|
||||
namespaceOverride: ""
|
||||
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 64Mi
|
||||
requests:
|
||||
cpu: 600m
|
||||
memory: 1.5Gi
|
||||
|
||||
## Provide a k8s version to define apiGroups for podSecurityPolicy Cluster Role.
|
||||
## For example: kubeTargetVersionOverride: 1.14.9
|
||||
##
|
||||
kubeTargetVersionOverride: ""
|
||||
|
||||
# Enable self metrics configuration for service and Service Monitor
|
||||
# Default values for telemetry configuration can be overridden
|
||||
# If you set telemetryNodePort, you must also set service.type to NodePort
|
||||
selfMonitor:
|
||||
enabled: true
|
||||
# telemetryHost: 0.0.0.0
|
||||
telemetryPort: 8081
|
||||
# telemetryNodePort: 0
|
||||
|
||||
# Enable vertical pod autoscaler support for kube-state-metrics
|
||||
verticalPodAutoscaler:
|
||||
enabled: false
|
||||
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
|
||||
controlledResources: []
|
||||
|
||||
# Define the max allowed resources for the pod
|
||||
maxAllowed: {}
|
||||
# cpu: 200m
|
||||
# memory: 100Mi
|
||||
# Define the min allowed resources for the pod
|
||||
minAllowed: {}
|
||||
# cpu: 200m
|
||||
# memory: 100Mi
|
||||
|
||||
# updatePolicy:
|
||||
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
|
||||
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
|
||||
# updateMode: Auto
|
||||
|
||||
# volumeMounts are used to add custom volume mounts to deployment.
|
||||
# See example below
|
||||
volumeMounts: []
|
||||
# - mountPath: /etc/config
|
||||
# name: config-volume
|
||||
|
||||
# volumes are used to add custom volumes to deployment
|
||||
# See example below
|
||||
volumes: []
|
||||
# - configMap:
|
||||
# name: cm-for-volume
|
||||
# name: config-volume
|
||||
@@ -0,0 +1,117 @@
|
||||
fullnameOverride: "kubectl-mcp-server"
|
||||
|
||||
replicas: 1
|
||||
|
||||
image:
|
||||
# In-house hardened build (helm-templates/kubectl-mcp-server/docker/) —
|
||||
# NOT the upstream Docker Hub image. 266→18 HIGH/CRIT vulns, non-root,
|
||||
# multi-stage slim base, kubectl v1.33.12 / helm v3.21.0.
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/prd/devop/kubectl-mcp-server
|
||||
tag: "v2"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
labels:
|
||||
bu: infra
|
||||
team: devops
|
||||
service: kubectl-mcp-server
|
||||
env: prd
|
||||
|
||||
serviceAccount:
|
||||
create: true
|
||||
annotations: {}
|
||||
|
||||
rbac:
|
||||
create: true
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext: {}
|
||||
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
|
||||
priorityClassName: ""
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "datascience-devops"
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: NoSchedule
|
||||
|
||||
affinity: {}
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 250m
|
||||
memory: 512Mi
|
||||
limits:
|
||||
cpu: 1000m
|
||||
memory: 1Gi
|
||||
|
||||
mcp:
|
||||
mode: single
|
||||
transport: http
|
||||
host: "0.0.0.0"
|
||||
port: 8000
|
||||
|
||||
auth:
|
||||
allowAnonymous: false
|
||||
|
||||
externalSecrets:
|
||||
enabled: true
|
||||
refreshInterval: "150s"
|
||||
secretStoreRef:
|
||||
name: vault-backend
|
||||
kind: ClusterSecretStore
|
||||
dataFrom:
|
||||
secretKey: "meesho/prd/cntr/devop/kubectl-mcp-server-datascience"
|
||||
|
||||
# tcpSocket on purpose — streamable-http transport exposes only /mcp,
|
||||
# there is no /health route (see chart values.yaml note).
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: 8000
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: 8000
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
|
||||
service:
|
||||
port: 8000
|
||||
type: ClusterIP
|
||||
|
||||
# Contour standard (2.0.0-style): renders HTTPProxy parent/child + -intra
|
||||
# instead of a networking.k8s.io Ingress.
|
||||
createContourGateway: true
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
ingressClassName: contour-internal-1
|
||||
servicePortNumber: 8000
|
||||
hosts:
|
||||
- host: kubectl-mcp-server-datascience.prd.meesho.int
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
annotations: {}
|
||||
slowStart:
|
||||
enabled: false
|
||||
window: "120s"
|
||||
aggression: 1
|
||||
minPercent: 10
|
||||
@@ -0,0 +1,442 @@
|
||||
# Copyright 2017 The Kubernetes Authors.
|
||||
#
|
||||
# Licensed 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.
|
||||
|
||||
# General configuration shared across resources
|
||||
app:
|
||||
# Mode determines if chart should deploy a full Dashboard with all containers or just the API.
|
||||
# - dashboard - deploys all the containers
|
||||
# - api - deploys just the API
|
||||
mode: 'dashboard'
|
||||
image:
|
||||
pullPolicy: IfNotPresent
|
||||
pullSecrets: []
|
||||
scheduling:
|
||||
# Node labels for pod assignment
|
||||
# Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
nodeSelector: {}
|
||||
security:
|
||||
# Allow overriding csrfKey used by API/Auth containers.
|
||||
# It has to be base64 encoded random 256 bytes string.
|
||||
# If empty, it will be autogenerated.
|
||||
csrfKey: ~
|
||||
# SecurityContext to be added to pods
|
||||
# To disable set the following configuration to null:
|
||||
# securityContext: null
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
# ContainerSecurityContext to be added to containers
|
||||
# To disable set the following configuration to null:
|
||||
# containerSecurityContext: null
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
readOnlyRootFilesystem: true
|
||||
runAsUser: 1001
|
||||
runAsGroup: 2001
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
# Pod Disruption Budget configuration
|
||||
# Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
minAvailable: 0
|
||||
maxUnavailable: 0
|
||||
networkPolicy:
|
||||
enabled: false
|
||||
ingressDenyAll: false
|
||||
# Raw network policy spec that overrides predefined spec
|
||||
# Example:
|
||||
# spec:
|
||||
# egress:
|
||||
# - ports:
|
||||
# - port: 123
|
||||
spec: {}
|
||||
|
||||
# Common labels & annotations shared across all deployed resources
|
||||
labels: {}
|
||||
annotations: {}
|
||||
# Common priority class used for all deployed resources
|
||||
priorityClassName: null
|
||||
settings:
|
||||
## Global dashboard settings
|
||||
global:
|
||||
# # Cluster name that appears in the browser window title if it is set
|
||||
# clusterName: ""
|
||||
# # Max number of items that can be displayed on each list page
|
||||
# itemsPerPage: 10
|
||||
# # Max number of labels that are displayed by default on most views.
|
||||
# labelsLimit: 3
|
||||
# # Number of seconds between every auto-refresh of logs
|
||||
# logsAutoRefreshTimeInterval: 5
|
||||
# # Number of seconds between every auto-refresh of every resource. Set 0 to disable
|
||||
# resourceAutoRefreshTimeInterval: 10
|
||||
# # Hide all access denied warnings in the notification panel
|
||||
# disableAccessDeniedNotifications: false
|
||||
# # Hide all namespaces option in namespace selection dropdown to avoid accidental selection in large clusters thus preventing OOM errors
|
||||
# hideAllNamespaces: false
|
||||
# # Namespace that should be selected by default after logging in.
|
||||
# defaultNamespace: default
|
||||
# # List of namespaces that should be presented to user without namespace list privileges.
|
||||
# namespaceFallbackList:
|
||||
# - default
|
||||
## Pinned resources that will be displayed in dashboard's menu
|
||||
pinnedResources: []
|
||||
# - kind: customresourcedefinition
|
||||
# # Fully qualified name of a CRD
|
||||
# name: prometheus.monitoring.coreos.com
|
||||
# # Display name
|
||||
# displayName: Prometheus
|
||||
# # Is this CRD namespaced?
|
||||
# namespaced: true
|
||||
ingress:
|
||||
enabled: false
|
||||
hosts:
|
||||
# Keep 'localhost' host only if you want to access Dashboard using 'kubectl port-forward ...' on:
|
||||
# https://localhost:8443
|
||||
- localhost
|
||||
# - kubernetes.dashboard.domain.com
|
||||
ingressClassName: internal-nginx
|
||||
# Use only if your ingress controllers support default ingress classes.
|
||||
# If set to true ingressClassName will be ignored and not added to the Ingress resources.
|
||||
# It should fall back to using IngressClass marked as the default.
|
||||
useDefaultIngressClass: false
|
||||
# This will append our Ingress with annotations required by our default configuration.
|
||||
# nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
||||
# nginx.ingress.kubernetes.io/ssl-passthrough: "true"
|
||||
# nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||
useDefaultAnnotations: true
|
||||
pathType: ImplementationSpecific
|
||||
# If path is not the default (/), rewrite-target annotation will be added to the Ingress.
|
||||
# It allows serving Kubernetes Dashboard on a sub-path. Make sure that the configured path
|
||||
# does not conflict with gateway route configuration.
|
||||
path: /
|
||||
issuer:
|
||||
name: selfsigned
|
||||
# Scope determines what kind of issuer annotation will be used on ingress resource
|
||||
# - default - adds 'cert-manager.io/issuer'
|
||||
# - cluster - adds 'cert-manager.io/cluster-issuer'
|
||||
# - disabled - disables cert-manager annotations
|
||||
scope: default
|
||||
tls:
|
||||
enabled: true
|
||||
# If provided it will override autogenerated secret name
|
||||
secretName: ""
|
||||
labels: {}
|
||||
annotations: {}
|
||||
# Use the following toleration if Dashboard can be deployed on a tainted control-plane nodes
|
||||
# - key: node-role.kubernetes.io/control-plane
|
||||
# effect: NoSchedule
|
||||
tolerations: []
|
||||
affinity: {}
|
||||
|
||||
auth:
|
||||
role: auth
|
||||
image:
|
||||
repository: docker.io/kubernetesui/dashboard-auth
|
||||
tag: 1.2.2
|
||||
scaling:
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
containers:
|
||||
ports:
|
||||
- name: auth
|
||||
containerPort: 8000
|
||||
protocol: TCP
|
||||
args: []
|
||||
env: []
|
||||
volumeMounts:
|
||||
- mountPath: /tmp
|
||||
name: tmp-volume
|
||||
# TODO: Validate configuration
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 200Mi
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 400Mi
|
||||
automountServiceAccountToken: true
|
||||
volumes:
|
||||
# Create on-disk volume to store exec logs (required)
|
||||
- name: tmp-volume
|
||||
emptyDir: {}
|
||||
nodeSelector: {}
|
||||
# Labels & annotations for Auth related resources
|
||||
labels: {}
|
||||
annotations: {}
|
||||
serviceLabels: {}
|
||||
serviceAnnotations: {}
|
||||
|
||||
# API deployment configuration
|
||||
api:
|
||||
role: api
|
||||
image:
|
||||
repository: docker.io/kubernetesui/dashboard-api
|
||||
tag: 1.10.1
|
||||
scaling:
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
containers:
|
||||
ports:
|
||||
- name: api
|
||||
containerPort: 8000
|
||||
protocol: TCP
|
||||
# Additional container arguments
|
||||
# Full list of arguments: https://github.com/kubernetes/dashboard/blob/master/docs/common/arguments.md
|
||||
# args:
|
||||
# - --system-banner="Welcome to the Kubernetes Dashboard"
|
||||
args: []
|
||||
# Additional container environment variables
|
||||
# env:
|
||||
# - name: SOME_VAR
|
||||
# value: 'some value'
|
||||
env: []
|
||||
# Additional volume mounts
|
||||
# - mountPath: /kubeconfig
|
||||
# name: dashboard-kubeconfig
|
||||
# readOnly: true
|
||||
volumeMounts:
|
||||
# Create volume mount to store exec logs (required)
|
||||
- mountPath: /tmp
|
||||
name: tmp-volume
|
||||
# TODO: Validate configuration
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 200Mi
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 400Mi
|
||||
automountServiceAccountToken: true
|
||||
# Additional volumes
|
||||
# - name: dashboard-kubeconfig
|
||||
# secret:
|
||||
# defaultMode: 420
|
||||
# secretName: dashboard-kubeconfig
|
||||
volumes:
|
||||
# Create on-disk volume to store exec logs (required)
|
||||
- name: tmp-volume
|
||||
emptyDir: {}
|
||||
nodeSelector: {}
|
||||
# Labels & annotations for API related resources
|
||||
labels: {}
|
||||
annotations: {}
|
||||
serviceLabels: {}
|
||||
serviceAnnotations: {}
|
||||
|
||||
# WEB UI deployment configuration
|
||||
web:
|
||||
role: web
|
||||
image:
|
||||
repository: docker.io/kubernetesui/dashboard-web
|
||||
tag: 1.6.0
|
||||
scaling:
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
containers:
|
||||
ports:
|
||||
- name: web
|
||||
containerPort: 8000
|
||||
protocol: TCP
|
||||
# Additional container arguments
|
||||
# Full list of arguments: https://github.com/kubernetes/dashboard/blob/master/docs/common/arguments.md
|
||||
# args:
|
||||
# - --system-banner="Welcome to the Kubernetes Dashboard"
|
||||
args: []
|
||||
# Additional container environment variables
|
||||
# env:
|
||||
# - name: SOME_VAR
|
||||
# value: 'some value'
|
||||
env: []
|
||||
# Additional volume mounts
|
||||
# - mountPath: /kubeconfig
|
||||
# name: dashboard-kubeconfig
|
||||
# readOnly: true
|
||||
volumeMounts:
|
||||
# Create volume mount to store logs (required)
|
||||
- mountPath: /tmp
|
||||
name: tmp-volume
|
||||
# TODO: Validate configuration
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 200Mi
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 400Mi
|
||||
automountServiceAccountToken: true
|
||||
# Additional volumes
|
||||
# - name: dashboard-kubeconfig
|
||||
# secret:
|
||||
# defaultMode: 420
|
||||
# secretName: dashboard-kubeconfig
|
||||
volumes:
|
||||
# Create on-disk volume to store exec logs (required)
|
||||
- name: tmp-volume
|
||||
emptyDir: {}
|
||||
nodeSelector: {}
|
||||
# Labels & annotations for WEB UI related resources
|
||||
labels: {}
|
||||
annotations: {}
|
||||
serviceLabels: {}
|
||||
serviceAnnotations: {}
|
||||
|
||||
### Metrics Scraper
|
||||
### Container to scrape, store, and retrieve a window of time from the Metrics Server.
|
||||
### refs: https://github.com/kubernetes/dashboard/tree/master/modules/metrics-scraper
|
||||
metricsScraper:
|
||||
enabled: true
|
||||
role: metrics-scraper
|
||||
image:
|
||||
repository: docker.io/kubernetesui/dashboard-metrics-scraper
|
||||
tag: 1.2.1
|
||||
scaling:
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
containers:
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
protocol: TCP
|
||||
args: []
|
||||
# Additional container environment variables
|
||||
# env:
|
||||
# - name: SOME_VAR
|
||||
# value: 'some value'
|
||||
env: []
|
||||
# Additional volume mounts
|
||||
# - mountPath: /kubeconfig
|
||||
# name: dashboard-kubeconfig
|
||||
# readOnly: true
|
||||
volumeMounts:
|
||||
# Create volume mount to store logs (required)
|
||||
- mountPath: /tmp
|
||||
name: tmp-volume
|
||||
# TODO: Validate configuration
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 200Mi
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 400Mi
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
scheme: HTTP
|
||||
path: /
|
||||
port: 8000
|
||||
initialDelaySeconds: 30
|
||||
timeoutSeconds: 30
|
||||
automountServiceAccountToken: true
|
||||
# Additional volumes
|
||||
# - name: dashboard-kubeconfig
|
||||
# secret:
|
||||
# defaultMode: 420
|
||||
# secretName: dashboard-kubeconfig
|
||||
volumes:
|
||||
- name: tmp-volume
|
||||
emptyDir: {}
|
||||
nodeSelector: {}
|
||||
# Labels & annotations for Metrics Scraper related resources
|
||||
labels: {}
|
||||
annotations: {}
|
||||
serviceLabels: {}
|
||||
serviceAnnotations: {}
|
||||
|
||||
## Optional Metrics Server sub-chart configuration
|
||||
## Enable this if you don't already have metrics-server enabled on your cluster and
|
||||
## want to use it with dashboard metrics-scraper
|
||||
## refs:
|
||||
## - https://github.com/kubernetes-sigs/metrics-server
|
||||
## - https://github.com/kubernetes-sigs/metrics-server/tree/master/charts/metrics-server
|
||||
metrics-server:
|
||||
enabled: false
|
||||
args:
|
||||
- --kubelet-preferred-address-types=InternalIP
|
||||
- --kubelet-insecure-tls
|
||||
|
||||
## Required Kong sub-chart with DBless configuration to act as a gateway
|
||||
## for our all containers.
|
||||
kong:
|
||||
enabled: true
|
||||
admin:
|
||||
tls:
|
||||
enabled: false
|
||||
## Configuration reference: https://docs.konghq.com/gateway/3.6.x/reference/configuration
|
||||
env:
|
||||
dns_order: LAST,A,CNAME,AAAA,SRV
|
||||
plugins: 'off'
|
||||
nginx_worker_processes: 1
|
||||
ingressController:
|
||||
enabled: false
|
||||
manager:
|
||||
enabled: false
|
||||
dblessConfig:
|
||||
configMap: kong-dbless-config
|
||||
proxy:
|
||||
type: ClusterIP
|
||||
http:
|
||||
enabled: true
|
||||
|
||||
## Optional Cert Manager sub-chart configuration
|
||||
## Enable this if you don't already have cert-manager enabled on your cluster.
|
||||
cert-manager:
|
||||
enabled: false
|
||||
installCRDs: true
|
||||
|
||||
## Optional Nginx Ingress sub-chart configuration
|
||||
## Enable this if you don't already have nginx-ingress enabled on your cluster.
|
||||
nginx:
|
||||
enabled: false
|
||||
controller:
|
||||
electionID: ingress-controller-leader
|
||||
ingressClassResource:
|
||||
name: internal-nginx
|
||||
default: false
|
||||
controllerValue: k8s.io/internal-ingress-nginx
|
||||
service:
|
||||
type: ClusterIP
|
||||
|
||||
## Extra configurations:
|
||||
## - manifests
|
||||
## - predefined roles
|
||||
## - prometheus
|
||||
## - etc...
|
||||
extras:
|
||||
# Extra Kubernetes manifests to be deployed
|
||||
# manifests:
|
||||
# - apiVersion: v1
|
||||
# kind: ConfigMap
|
||||
# metadata:
|
||||
# name: additional-configmap
|
||||
# data:
|
||||
# mykey: myvalue
|
||||
manifests: []
|
||||
serviceMonitor:
|
||||
# Whether to create a Prometheus Operator service monitor.
|
||||
enabled: false
|
||||
# Here labels can be added to the serviceMonitor
|
||||
labels: {}
|
||||
# Here annotations can be added to the serviceMonitor
|
||||
annotations: {}
|
||||
# metrics.serviceMonitor.metricRelabelings Specify Metric Relabelings to add to the scrape endpoint
|
||||
# ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
||||
metricRelabelings: []
|
||||
# metrics.serviceMonitor.relabelings [array] Prometheus relabeling rules
|
||||
relabelings: []
|
||||
# ServiceMonitor connection scheme. Defaults to HTTPS.
|
||||
scheme: https
|
||||
# ServiceMonitor connection tlsConfig. Defaults to {insecureSkipVerify:true}.
|
||||
tlsConfig:
|
||||
insecureSkipVerify: true
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
||||
apiVersion: kyverno.io/v1
|
||||
kind: ClusterPolicy
|
||||
metadata:
|
||||
name: protect-critical-namespaces
|
||||
spec:
|
||||
validationFailureAction: Enforce
|
||||
background: false
|
||||
rules:
|
||||
- name: deny-deletion-of-critical-namespaces
|
||||
match:
|
||||
any:
|
||||
- resources:
|
||||
kinds:
|
||||
- Namespace
|
||||
names:
|
||||
- keda-datascience-a-prd
|
||||
- contour-internal-0-datascience-a-prd
|
||||
- contour-internal-0-datascience-a-prd-intra
|
||||
- contour-external-datascience-a-prd
|
||||
- external-secrets-datascience-a-prd
|
||||
- flagger-datascience-a-prd
|
||||
- victoriametrics
|
||||
- kube-system
|
||||
- monitoring
|
||||
- telegraf-operator
|
||||
- loadtester
|
||||
- opentelemetry
|
||||
- fluentd
|
||||
- kube-events
|
||||
- observability
|
||||
- contour-cert-checker-ns
|
||||
- aurva-dataplane
|
||||
validate:
|
||||
message: "Deletion of critical namespaces is not allowed."
|
||||
deny:
|
||||
conditions:
|
||||
any:
|
||||
- key: "{{request.operation}}"
|
||||
operator: Equals
|
||||
value: DELETE
|
||||
@@ -0,0 +1,29 @@
|
||||
apiVersion: kyverno.io/v1
|
||||
kind: ClusterPolicy
|
||||
metadata:
|
||||
name: restrict-minimum-replicas-selected-ns
|
||||
spec:
|
||||
validationFailureAction: Enforce
|
||||
background: false
|
||||
rules:
|
||||
- name: min-replicas-deployments-statefulsets
|
||||
match:
|
||||
resources:
|
||||
kinds:
|
||||
- Deployment
|
||||
- StatefulSet
|
||||
- Deployment/scale
|
||||
- StatefulSet/scale
|
||||
names:
|
||||
- coredns
|
||||
namespaces:
|
||||
- kube-system
|
||||
operations:
|
||||
- CREATE
|
||||
- UPDATE
|
||||
validate:
|
||||
message: "Deployments and StatefulSets must have at least 5 replicas in this namespace."
|
||||
anyPattern:
|
||||
# Case 1: replicas explicitly set and >= 5
|
||||
- spec:
|
||||
replicas: ">=5"
|
||||
@@ -0,0 +1,115 @@
|
||||
replicaCount: 1
|
||||
|
||||
Namespace: loadtester
|
||||
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/dev/devops/flagger-loadtester
|
||||
tag: 0.30.0
|
||||
pullPolicy: IfNotPresent
|
||||
pullSecret:
|
||||
|
||||
podLabels:
|
||||
bu: datascience
|
||||
team: datascience-shared
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8080"
|
||||
|
||||
podPriorityClassName: ""
|
||||
|
||||
logLevel: info
|
||||
cmd:
|
||||
timeout: 1h
|
||||
namespaceRegexp: ""
|
||||
|
||||
nameOverride: "loadtester"
|
||||
fullnameOverride: ""
|
||||
|
||||
env: []
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 64Mi
|
||||
|
||||
volumes: []
|
||||
volumeMounts: []
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: datascience-devops
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
|
||||
affinity: {}
|
||||
|
||||
ingress:
|
||||
slowStart:
|
||||
enabled: false
|
||||
enabled: true
|
||||
ingressClassName: contour-internal-1
|
||||
servicePort: http
|
||||
hosts:
|
||||
- host: datascience-flagger-loadtester.prd.meesho.int
|
||||
paths:
|
||||
- pathType: ImplementationSpecific
|
||||
path: /
|
||||
createContourGateway: true
|
||||
contourResponseTimeout: false
|
||||
rbac:
|
||||
# rbac.create: `true` if rbac resources should be created
|
||||
create: true
|
||||
# rbac.scope: `cluster` to create cluster-scope rbac resources (ClusterRole/ClusterRoleBinding)
|
||||
# otherwise, namespace-scope rbac resources will be created (Role/RoleBinding)
|
||||
scope:
|
||||
# rbac.rules: array of rules to apply to the role. example:
|
||||
# rules:
|
||||
# - apiGroups: [""]
|
||||
# resources: ["pods"]
|
||||
# verbs: ["list", "get"]
|
||||
rules: []
|
||||
|
||||
# name of an existing service account to use - if not creating rbac resources
|
||||
serviceAccountName: ""
|
||||
|
||||
# App Mesh virtual node settings (to be used for AppMesh v1beta1)
|
||||
meshName: ""
|
||||
#backends:
|
||||
# - app1.namespace
|
||||
# - app2.namespace
|
||||
|
||||
# App Mesh virtual node settings (to be used for AppMesh v1beta2)
|
||||
appmesh:
|
||||
enabled: false
|
||||
backends:
|
||||
- podinfo
|
||||
- podinfo-canary
|
||||
|
||||
#Istio virtual service and gatway settings. TLS secrets should be in namespace before enbaled it. ( secret format loadtester.fullname )
|
||||
istio:
|
||||
enabled: false
|
||||
host: flagger-loadtester.flagger
|
||||
gateway:
|
||||
enabled: false
|
||||
tls:
|
||||
enabled: false
|
||||
httpsRedirect: false
|
||||
|
||||
# when enabled, it will add a security context for the loadtester pod
|
||||
securityContext:
|
||||
enabled: false
|
||||
context:
|
||||
readOnlyRootFilesystem: true
|
||||
runAsUser: 100
|
||||
runAsGroup: 101
|
||||
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
minAvailable: 1
|
||||
@@ -0,0 +1,153 @@
|
||||
fullnameOverride: opentelemetry-datascience-a-prd
|
||||
|
||||
mode: daemonset
|
||||
|
||||
priorityClassName: "system-node-critical"
|
||||
|
||||
config:
|
||||
exporters:
|
||||
loadbalancing:
|
||||
routing_key: "traceID"
|
||||
protocol:
|
||||
otlp:
|
||||
timeout: 5s
|
||||
tls:
|
||||
insecure: true
|
||||
sending_queue:
|
||||
num_consumers: 500
|
||||
queue_size: 50000
|
||||
resolver:
|
||||
dns:
|
||||
hostname: opentelemetry-admin-prd-headless.opentelemetry.svc.clusterset.local
|
||||
processors: {}
|
||||
receivers:
|
||||
otlp:
|
||||
protocols:
|
||||
grpc:
|
||||
endpoint: ${env:MY_POD_IP}:4317
|
||||
http:
|
||||
endpoint: ${env:MY_POD_IP}:4318
|
||||
service:
|
||||
telemetry:
|
||||
metrics:
|
||||
level: detailed
|
||||
readers:
|
||||
- pull:
|
||||
exporter:
|
||||
prometheus:
|
||||
host: '0.0.0.0'
|
||||
port: 8888
|
||||
extensions:
|
||||
- health_check
|
||||
pipelines:
|
||||
logs: null
|
||||
metrics: null
|
||||
traces:
|
||||
exporters:
|
||||
- loadbalancing
|
||||
processors: []
|
||||
receivers:
|
||||
- otlp
|
||||
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/opentelemetry-collector-contrib
|
||||
tag: "0.111.0"
|
||||
|
||||
tolerations:
|
||||
- operator: Exists
|
||||
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: p-datascience-contour-ext
|
||||
operator: NotIn
|
||||
values:
|
||||
- dedicated
|
||||
- key: p-datascience-contour-int-0
|
||||
operator: NotIn
|
||||
values:
|
||||
- dedicated
|
||||
- key: p-datascience-contour-int-1
|
||||
operator: NotIn
|
||||
values:
|
||||
- dedicated
|
||||
- key: p-datascience-contour-int
|
||||
operator: NotIn
|
||||
values:
|
||||
- dedicated
|
||||
- key: node_pool
|
||||
operator: NotIn
|
||||
values:
|
||||
- np-dsci-default-prd-ase1a
|
||||
- key: cloud.google.com/compute-class
|
||||
operator: NotIn
|
||||
values:
|
||||
- vmstorage
|
||||
- vmselect
|
||||
- vmagent
|
||||
- vminsert
|
||||
- contour-internal-0
|
||||
- contour-internal-1
|
||||
- contour-external
|
||||
- contour-shared
|
||||
- contour-intra-0
|
||||
- contour-intra-1
|
||||
- vm-stack-ht
|
||||
- vmagent-c4
|
||||
- vmagent
|
||||
- vmagent-mds
|
||||
- vmagent-n4
|
||||
- vminsert
|
||||
- vminsert-mds
|
||||
- vmselect
|
||||
- vmselect-mds
|
||||
- vmstorage-c4d
|
||||
- vmstorage
|
||||
- vmstorage-mds
|
||||
- vmstorage-n4
|
||||
- vmstorage-n4d
|
||||
- vmstorage-sale-24aug
|
||||
- vmstorage-tmp
|
||||
- alloy
|
||||
- preprod-spot-16
|
||||
extraEnvs:
|
||||
- name: K8S_NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: spec.nodeName
|
||||
- name: OTEL_RESOURCE_ATTRIBUTES
|
||||
value: "k8s.node.name=$(K8S_NODE_NAME)"
|
||||
|
||||
ports:
|
||||
metrics:
|
||||
enabled: true
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 200m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
cpu: 400m
|
||||
memory: 512Mi
|
||||
|
||||
podAnnotations:
|
||||
otel.io/path: "/metrics"
|
||||
otel.io/scrape: "true"
|
||||
otel.io/port: "8888"
|
||||
|
||||
podLabels:
|
||||
bu: "datascience"
|
||||
team: "sre"
|
||||
service: "opentelemetry-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "opentelemetry"
|
||||
arch: "any"
|
||||
runpod: "ondemand"
|
||||
|
||||
rollout:
|
||||
rollingUpdate:
|
||||
maxUnavailable: 10%
|
||||
@@ -0,0 +1,496 @@
|
||||
# Default values for prometheus-node-exporter.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
image:
|
||||
registry: quay.io
|
||||
repository: prometheus/node-exporter
|
||||
# Overrides the image tag whose default is {{ printf "v%s" .Chart.AppVersion }}
|
||||
tag: ""
|
||||
pullPolicy: IfNotPresent
|
||||
digest: ""
|
||||
|
||||
imagePullSecrets: []
|
||||
# - name: "image-pull-secret"
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
# Number of old history to retain to allow rollback
|
||||
# Default Kubernetes value is set to 10
|
||||
revisionHistoryLimit: 10
|
||||
|
||||
global:
|
||||
# To help compatibility with other charts which use global.imagePullSecrets.
|
||||
# Allow either an array of {name: pullSecret} maps (k8s-style), or an array of strings (more common helm-style).
|
||||
# global:
|
||||
# imagePullSecrets:
|
||||
# - name: pullSecret1
|
||||
# - name: pullSecret2
|
||||
# or
|
||||
# global:
|
||||
# imagePullSecrets:
|
||||
# - pullSecret1
|
||||
# - pullSecret2
|
||||
imagePullSecrets: []
|
||||
#
|
||||
# Allow parent charts to override registry hostname
|
||||
imageRegistry: ""
|
||||
|
||||
# Configure kube-rbac-proxy. When enabled, creates a kube-rbac-proxy to protect the node-exporter http endpoint.
|
||||
# The requests are served through the same service but requests are HTTPS.
|
||||
kubeRBACProxy:
|
||||
enabled: false
|
||||
image:
|
||||
registry: quay.io
|
||||
repository: brancz/kube-rbac-proxy
|
||||
tag: v0.14.0
|
||||
sha: ""
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# List of additional cli arguments to configure kube-rbac-prxy
|
||||
# for example: --tls-cipher-suites, --log-file, etc.
|
||||
# all the possible args can be found here: https://github.com/brancz/kube-rbac-proxy#usage
|
||||
extraArgs: []
|
||||
|
||||
## Specify security settings for a Container
|
||||
## Allows overrides and additional options compared to (Pod) securityContext
|
||||
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
|
||||
containerSecurityContext: {}
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 64Mi
|
||||
# requests:
|
||||
# cpu: 10m
|
||||
# memory: 32Mi
|
||||
|
||||
service:
|
||||
enabled: true
|
||||
type: ClusterIP
|
||||
port: 9100
|
||||
targetPort: 9100
|
||||
nodePort:
|
||||
portName: metrics
|
||||
listenOnAllInterfaces: true
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "9100"
|
||||
prometheus.io/path: "/metrics"
|
||||
ipDualStack:
|
||||
enabled: false
|
||||
ipFamilies: ["IPv6", "IPv4"]
|
||||
ipFamilyPolicy: "PreferDualStack"
|
||||
|
||||
# Set a NetworkPolicy with:
|
||||
# ingress only on service.port
|
||||
# no egress permitted
|
||||
networkPolicy:
|
||||
enabled: false
|
||||
|
||||
# Additional environment variables that will be passed to the daemonset
|
||||
env: {}
|
||||
## env:
|
||||
## VARIABLE: value
|
||||
|
||||
prometheus:
|
||||
monitor:
|
||||
enabled: false
|
||||
additionalLabels: {}
|
||||
namespace: ""
|
||||
|
||||
jobLabel: ""
|
||||
|
||||
# List of pod labels to add to node exporter metrics
|
||||
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#servicemonitor
|
||||
podTargetLabels: []
|
||||
|
||||
scheme: http
|
||||
basicAuth: {}
|
||||
bearerTokenFile:
|
||||
tlsConfig: {}
|
||||
|
||||
## proxyUrl: URL of a proxy that should be used for scraping.
|
||||
##
|
||||
proxyUrl: ""
|
||||
|
||||
## Override serviceMonitor selector
|
||||
##
|
||||
selectorOverride: {}
|
||||
|
||||
## Attach node metadata to discovered targets. Requires Prometheus v2.35.0 and above.
|
||||
##
|
||||
attachMetadata:
|
||||
node: false
|
||||
|
||||
relabelings: []
|
||||
metricRelabelings: []
|
||||
interval: ""
|
||||
scrapeTimeout: 10s
|
||||
## prometheus.monitor.apiVersion ApiVersion for the serviceMonitor Resource(defaults to "monitoring.coreos.com/v1")
|
||||
apiVersion: ""
|
||||
|
||||
## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||
##
|
||||
sampleLimit: 0
|
||||
|
||||
## TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||
##
|
||||
targetLimit: 0
|
||||
|
||||
## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
##
|
||||
labelLimit: 0
|
||||
|
||||
## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
##
|
||||
labelNameLengthLimit: 0
|
||||
|
||||
## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
##
|
||||
labelValueLengthLimit: 0
|
||||
|
||||
# PodMonitor defines monitoring for a set of pods.
|
||||
# ref. https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.PodMonitor
|
||||
# Using a PodMonitor may be preferred in some environments where there is very large number
|
||||
# of Node Exporter endpoints (1000+) behind a single service.
|
||||
# The PodMonitor is disabled by default. When switching from ServiceMonitor to PodMonitor,
|
||||
# the time series resulting from the configuration through PodMonitor may have different labels.
|
||||
# For instance, there will not be the service label any longer which might
|
||||
# affect PromQL queries selecting that label.
|
||||
podMonitor:
|
||||
enabled: false
|
||||
# Namespace in which to deploy the pod monitor. Defaults to the release namespace.
|
||||
namespace: ""
|
||||
# Additional labels, e.g. setting a label for pod monitor selector as set in prometheus
|
||||
additionalLabels: {}
|
||||
# release: kube-prometheus-stack
|
||||
# PodTargetLabels transfers labels of the Kubernetes Pod onto the target.
|
||||
podTargetLabels: []
|
||||
# apiVersion defaults to monitoring.coreos.com/v1.
|
||||
apiVersion: ""
|
||||
# Override pod selector to select pod objects.
|
||||
selectorOverride: {}
|
||||
# Attach node metadata to discovered targets. Requires Prometheus v2.35.0 and above.
|
||||
attachMetadata:
|
||||
node: false
|
||||
# The label to use to retrieve the job name from. Defaults to label app.kubernetes.io/name.
|
||||
jobLabel: ""
|
||||
|
||||
# Scheme/protocol to use for scraping.
|
||||
scheme: "http"
|
||||
# Path to scrape metrics at.
|
||||
path: "/metrics"
|
||||
|
||||
# BasicAuth allow an endpoint to authenticate over basic authentication.
|
||||
# More info: https://prometheus.io/docs/operating/configuration/#endpoint
|
||||
basicAuth: {}
|
||||
# Secret to mount to read bearer token for scraping targets.
|
||||
# The secret needs to be in the same namespace as the pod monitor and accessible by the Prometheus Operator.
|
||||
# https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#secretkeyselector-v1-core
|
||||
bearerTokenSecret: {}
|
||||
# TLS configuration to use when scraping the endpoint.
|
||||
tlsConfig: {}
|
||||
# Authorization section for this endpoint.
|
||||
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.SafeAuthorization
|
||||
authorization: {}
|
||||
# OAuth2 for the URL. Only valid in Prometheus versions 2.27.0 and newer.
|
||||
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.OAuth2
|
||||
oauth2: {}
|
||||
|
||||
# ProxyURL eg http://proxyserver:2195. Directs scrapes through proxy to this endpoint.
|
||||
proxyUrl: ""
|
||||
# Interval at which endpoints should be scraped. If not specified Prometheus’ global scrape interval is used.
|
||||
interval: ""
|
||||
# Timeout after which the scrape is ended. If not specified, the Prometheus global scrape interval is used.
|
||||
scrapeTimeout: ""
|
||||
# HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
|
||||
honorTimestamps: true
|
||||
# HonorLabels chooses the metric’s labels on collisions with target labels.
|
||||
honorLabels: true
|
||||
# Whether to enable HTTP2. Default false.
|
||||
enableHttp2: ""
|
||||
# Drop pods that are not running. (Failed, Succeeded).
|
||||
# Enabled by default. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
|
||||
filterRunning: ""
|
||||
# FollowRedirects configures whether scrape requests follow HTTP 3xx redirects. Default false.
|
||||
followRedirects: ""
|
||||
# Optional HTTP URL parameters
|
||||
params: {}
|
||||
|
||||
# RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds
|
||||
# relabelings for a few standard Kubernetes fields. The original scrape job’s name
|
||||
# is available via the __tmp_prometheus_job_name label.
|
||||
# More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||
relabelings: []
|
||||
# MetricRelabelConfigs to apply to samples before ingestion.
|
||||
metricRelabelings: []
|
||||
|
||||
# SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||
sampleLimit: 0
|
||||
# TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||
targetLimit: 0
|
||||
# Per-scrape limit on number of labels that will be accepted for a sample.
|
||||
# Only valid in Prometheus versions 2.27.0 and newer.
|
||||
labelLimit: 0
|
||||
# Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||
# Only valid in Prometheus versions 2.27.0 and newer.
|
||||
labelNameLengthLimit: 0
|
||||
# Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||
# Only valid in Prometheus versions 2.27.0 and newer.
|
||||
labelValueLengthLimit: 0
|
||||
|
||||
## Customize the updateStrategy if set
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxUnavailable: 1
|
||||
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 50Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 30Mi
|
||||
|
||||
serviceAccount:
|
||||
# Specifies whether a ServiceAccount should be created
|
||||
create: true
|
||||
# The name of the ServiceAccount to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name:
|
||||
annotations: {}
|
||||
# annotations: {
|
||||
# iam.gke.io/gcp-service-account: node-exporter-datascience-a-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
# }
|
||||
imagePullSecrets: []
|
||||
automountServiceAccountToken: false
|
||||
|
||||
securityContext:
|
||||
fsGroup: 65534
|
||||
runAsGroup: 65534
|
||||
runAsNonRoot: true
|
||||
runAsUser: 65534
|
||||
|
||||
containerSecurityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
# capabilities:
|
||||
# add:
|
||||
# - SYS_TIME
|
||||
|
||||
rbac:
|
||||
## If true, create & use RBAC resources
|
||||
##
|
||||
create: true
|
||||
## If true, create & use Pod Security Policy resources
|
||||
## https://kubernetes.io/docs/concepts/policy/pod-security-policy/
|
||||
pspEnabled: true
|
||||
pspAnnotations: {}
|
||||
|
||||
# for deployments that have node_exporter deployed outside of the cluster, list
|
||||
# their addresses here
|
||||
endpoints: []
|
||||
|
||||
# Expose the service to the host network
|
||||
hostNetwork: true
|
||||
|
||||
# Share the host process ID namespace
|
||||
hostPID: true
|
||||
|
||||
# Mount the node's root file system (/) at /host/root in the container
|
||||
hostRootFsMount:
|
||||
enabled: true
|
||||
# Defines how new mounts in existing mounts on the node or in the container
|
||||
# are propagated to the container or node, respectively. Possible values are
|
||||
# None, HostToContainer, and Bidirectional. If this field is omitted, then
|
||||
# None is used. More information on:
|
||||
# https://kubernetes.io/docs/concepts/storage/volumes/#mount-propagation
|
||||
mountPropagation: HostToContainer
|
||||
|
||||
## Assign a group of affinity scheduling rules
|
||||
##
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchFields:
|
||||
# - key: metadata.name
|
||||
# operator: In
|
||||
# values:
|
||||
# - target-host-name
|
||||
|
||||
# Annotations to be added to node exporter pods
|
||||
podAnnotations:
|
||||
# Fix for very slow GKE cluster upgrades
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "9100"
|
||||
prometheus.io/path: "/metrics"
|
||||
|
||||
# Extra labels to be added to node exporter pods
|
||||
podLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "node-exporter-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "exporter"
|
||||
|
||||
# Annotations to be added to node exporter daemonset
|
||||
daemonsetAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "9100"
|
||||
prometheus.io/path: "/metrics"
|
||||
|
||||
## set to true to add the release label so scraping of the servicemonitor with kube-prometheus-stack works out of the box
|
||||
releaseLabel: false
|
||||
|
||||
# Custom DNS configuration to be added to prometheus-node-exporter pods
|
||||
dnsConfig: {}
|
||||
# nameservers:
|
||||
# - 1.2.3.4
|
||||
# searches:
|
||||
# - ns1.svc.cluster-domain.example
|
||||
# - my.dns.search.suffix
|
||||
# options:
|
||||
# - name: ndots
|
||||
# value: "2"
|
||||
# - name: edns0
|
||||
|
||||
## Assign a nodeSelector if operating a hybrid cluster
|
||||
##
|
||||
nodeSelector: {}
|
||||
# kubernetes.io/os: linux
|
||||
# kubernetes.io/arch: amd64
|
||||
|
||||
tolerations:
|
||||
- operator: Exists
|
||||
|
||||
## Assign a PriorityClassName to pods if set
|
||||
priorityClassName: "system-node-critical"
|
||||
|
||||
## Additional container arguments
|
||||
##
|
||||
extraArgs: []
|
||||
# - --collector.diskstats.ignored-devices=^(ram|loop|fd|(h|s|v)d[a-z]|nvme\\d+n\\d+p)\\d+$
|
||||
# - --collector.textfile.directory=/run/prometheus
|
||||
|
||||
## Additional mounts from the host to node-exporter container
|
||||
##
|
||||
extraHostVolumeMounts: []
|
||||
# - name: <mountName>
|
||||
# hostPath: <hostPath>
|
||||
# mountPath: <mountPath>
|
||||
# readOnly: true|false
|
||||
# mountPropagation: None|HostToContainer|Bidirectional
|
||||
|
||||
## Additional configmaps to be mounted.
|
||||
##
|
||||
configmaps: []
|
||||
# - name: <configMapName>
|
||||
# mountPath: <mountPath>
|
||||
secrets: []
|
||||
# - name: <secretName>
|
||||
# mountPath: <mountPatch>
|
||||
## Override the deployment namespace
|
||||
##
|
||||
namespaceOverride: "monitoring"
|
||||
|
||||
## Additional containers for export metrics to text file
|
||||
##
|
||||
sidecars: []
|
||||
## - name: nvidia-dcgm-exporter
|
||||
## image: nvidia/dcgm-exporter:1.4.3
|
||||
|
||||
## Volume for sidecar containers
|
||||
##
|
||||
sidecarVolumeMount: []
|
||||
## - name: collector-textfiles
|
||||
## mountPath: /run/prometheus
|
||||
## readOnly: false
|
||||
|
||||
## Additional mounts from the host to sidecar containers
|
||||
##
|
||||
sidecarHostVolumeMounts: []
|
||||
# - name: <mountName>
|
||||
# hostPath: <hostPath>
|
||||
# mountPath: <mountPath>
|
||||
# readOnly: true|false
|
||||
# mountPropagation: None|HostToContainer|Bidirectional
|
||||
|
||||
## Additional InitContainers to initialize the pod
|
||||
##
|
||||
extraInitContainers: []
|
||||
|
||||
## Liveness probe
|
||||
##
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
httpGet:
|
||||
httpHeaders: []
|
||||
scheme: http
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 1
|
||||
|
||||
## Readiness probe
|
||||
##
|
||||
readinessProbe:
|
||||
failureThreshold: 3
|
||||
httpGet:
|
||||
httpHeaders: []
|
||||
scheme: http
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 1
|
||||
|
||||
# Enable vertical pod autoscaler support for prometheus-node-exporter
|
||||
verticalPodAutoscaler:
|
||||
enabled: false
|
||||
|
||||
# Recommender responsible for generating recommendation for the object.
|
||||
# List should be empty (then the default recommender will generate the recommendation)
|
||||
# or contain exactly one recommender.
|
||||
# recommenders:
|
||||
# - name: custom-recommender-performance
|
||||
|
||||
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
|
||||
controlledResources: []
|
||||
# Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
|
||||
# controlledValues: RequestsAndLimits
|
||||
|
||||
# Define the max allowed resources for the pod
|
||||
maxAllowed: {}
|
||||
# cpu: 200m
|
||||
# memory: 100Mi
|
||||
# Define the min allowed resources for the pod
|
||||
minAllowed: {}
|
||||
# cpu: 200m
|
||||
# memory: 100Mi
|
||||
|
||||
# updatePolicy:
|
||||
# Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
|
||||
# minReplicas: 1
|
||||
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
|
||||
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
|
||||
# updateMode: Auto
|
||||
|
||||
# Extra manifests to deploy as an array
|
||||
extraManifests: []
|
||||
# - |
|
||||
# apiVersion: v1
|
||||
# kind: ConfigMap
|
||||
# metadata:
|
||||
# name: prometheus-extra
|
||||
# data:
|
||||
# extra-data: "value"
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
# Provide a name in place of prometheus-stackdriver-exporter for `app:` labels
|
||||
nameOverride: "stackdriver-exporter-datascience-a-prd"
|
||||
|
||||
# Provide a name to substitute for the full names of resources
|
||||
fullnameOverride: "stackdriver-exporter-datascience-a-prd"
|
||||
|
||||
# Number of exporters to run
|
||||
replicaCount: 1
|
||||
|
||||
# Restart policy for container
|
||||
restartPolicy: Always
|
||||
|
||||
image:
|
||||
repository: prometheuscommunity/stackdriver-exporter
|
||||
# if not set appVersion field from Chart.yaml is used
|
||||
tag: ""
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Optionally specify an array of imagePullSecrets.
|
||||
## Secrets must be manually created in the namespace.
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||
##
|
||||
# pullSecrets:
|
||||
# - myDockerConfigJsonSecretName
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
securityContext: {}
|
||||
|
||||
containerSecurityContext: {}
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
httpPort: 9255
|
||||
annotations: {}
|
||||
|
||||
## Additional labels to add to all resources
|
||||
customLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "stackdriver-exporter-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "exporter"
|
||||
# app: prometheus-stackdriver-exporter
|
||||
|
||||
secret:
|
||||
labels: {}
|
||||
|
||||
stackdriver:
|
||||
# The Google Project ID to gather metrics for
|
||||
projectId: "meesho-datascience-prd-0622"
|
||||
# An existing secret which contains credentials.json
|
||||
serviceAccountSecret: ""
|
||||
# Provide custom key for the existing secret to load credentials.json from
|
||||
serviceAccountSecretKey: ""
|
||||
# A service account key JSON file. Must be provided when no existing secret is used, in this case a new secret will be created holding this service account
|
||||
serviceAccountKey: ""
|
||||
# Max number of retries that should be attempted on 503 errors from Stackdriver
|
||||
maxRetries: 0
|
||||
# How long should Stackdriver_exporter wait for a result from the Stackdriver API
|
||||
httpTimeout: 10s
|
||||
# Max time between each request in an exp backoff scenario
|
||||
maxBackoff: 5s
|
||||
# The amount of jitter to introduce in an exp backoff scenario
|
||||
backoffJitter: 1s
|
||||
# The HTTP statuses that should trigger a retry
|
||||
retryStatuses: 503
|
||||
# Drop metrics from attached projects and fetch `project_id` only
|
||||
dropDelegatedProjects: false
|
||||
metrics:
|
||||
# The prefixes to gather metrics for, we default to just CPU metrics.
|
||||
typePrefixes: 'bigtable.googleapis.com/client,bigtable.googleapis.com/cluster,bigtable.googleapis.com/disk,bigtable.googleapis.com/replication,bigtable.googleapis.com/server,bigtable.googleapis.com/table,cloudsql.googleapis.com/database,compute.googleapis.com/instance,logging.googleapis.com/user/node_drain_metric,compute.googleapis.com/guest/system/uptime'
|
||||
# The filters to refine the metrics query by using Filter objects that Google provides.
|
||||
# Filter objects: project, group.id, resource.type, resource.labels.[KEY], metric.type, metric.labels.[KEY]
|
||||
# https://cloud.google.com/monitoring/api/v3/filters
|
||||
filters: []
|
||||
# - 'pubsub.googleapis.com/subscription:resource.labels.subscription_id=monitoring.regex.full_match("us-west4.*my-team.*")'
|
||||
# The frequency to request
|
||||
interval: '5m'
|
||||
# How far into the past to offset
|
||||
offset: '0s'
|
||||
# Offset for the Google Stackdriver Monitoring Metrics interval into the past by the ingest delay from the metric's metadata.
|
||||
ingestDelay: false
|
||||
# If enabled will treat all DELTA metrics as an in-memory counter instead of a gauge.
|
||||
aggregateDeltas: false
|
||||
# How long should a delta metric continue to be exported after GCP stops producing a metric
|
||||
aggregateDeltasTTL: '30m'
|
||||
|
||||
web:
|
||||
# Port to listen on
|
||||
listenAddress: ':9255'
|
||||
# Path under which to expose metrics.
|
||||
path: /metrics
|
||||
|
||||
## Pod affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "9255"
|
||||
prometheus.io/path: "/metrics"
|
||||
|
||||
## Pod extra arguments
|
||||
##
|
||||
extraArgs: {}
|
||||
|
||||
## Node labels for stackdriver-exporter pod assignment
|
||||
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "datascience-devops"
|
||||
|
||||
## Node tolerations for stackdriver-exporter scheduling to nodes with taints
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
##
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
|
||||
|
||||
## Service Account
|
||||
##
|
||||
serviceAccount:
|
||||
# Specifies whether a ServiceAccount should be created
|
||||
create: true
|
||||
# The name of the ServiceAccount to use.
|
||||
# If not set and create is false, 'default' is used
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name:
|
||||
annotations: {
|
||||
iam.gke.io/gcp-service-account: sa-dsci-dssre-stackdriver-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
}
|
||||
|
||||
|
||||
# Enable this if you're using https://github.com/coreos/prometheus-operator
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
namespace: monitoring
|
||||
# additionalLabels is the set of additional labels to add to the ServiceMonitor
|
||||
additionalLabels: {}
|
||||
# How long until a scrape request times out.
|
||||
scrapeTimeout: '10s'
|
||||
# fallback to the prometheus default unless specified
|
||||
interval: 10s
|
||||
# Defaults to what's used if you follow CoreOS [Prometheus Install Instructions](https://github.com/helm/charts/tree/master/stable/prometheus-operator#tldr)
|
||||
honorLabels: true
|
||||
# Whether Prometheus should use the timestamps of the metrics exposed by stackdriver-exporter
|
||||
honorTimestamps: true
|
||||
# MetricRelabelConfigs to apply to samples before ingestion https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
||||
metricRelabelings: []
|
||||
# RelabelConfigs to apply to samples before scraping. https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
||||
relabelings: []
|
||||
|
||||
## Custom PrometheusRules to be defined
|
||||
## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
|
||||
prometheusRule:
|
||||
enabled: false
|
||||
additionalLabels: {}
|
||||
namespace: ""
|
||||
rules: []
|
||||
@@ -0,0 +1,232 @@
|
||||
replicaCount: 3
|
||||
image:
|
||||
repository: quay.io/influxdb/telegraf-operator
|
||||
pullPolicy: IfNotPresent
|
||||
sidecarImage: "asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/telegraf:1.24.4"
|
||||
|
||||
dedicatedValue: false
|
||||
schedulerName: default-scheduler
|
||||
|
||||
classes:
|
||||
secretName: "telegraf-operator-classes"
|
||||
default: "infra"
|
||||
data:
|
||||
infra: |
|
||||
[[inputs.mem]]
|
||||
[[outputs.file]]
|
||||
files = ["stdout"]
|
||||
[[outputs.prometheus_client]]
|
||||
listen = ":9273"
|
||||
metric_version = 2
|
||||
path = "/metrics"
|
||||
expiration_interval = "60s"
|
||||
export_timestamp = false
|
||||
[agent]
|
||||
interval = "10s"
|
||||
round_interval = true
|
||||
metric_batch_size = 1000
|
||||
metric_buffer_limit = 40000
|
||||
collection_jitter = "0s"
|
||||
flush_interval = "30s"
|
||||
flush_jitter = "0s"
|
||||
precision = ""
|
||||
debug = true
|
||||
hostname = ""
|
||||
omit_hostname = true
|
||||
[[aggregators.basicstats]]
|
||||
period = "60s"
|
||||
grace = "10s"
|
||||
delay = "30s"
|
||||
drop_original = false
|
||||
stats = ["count", "min", "max", "mean", "sum"]
|
||||
[[aggregators.histogram]]
|
||||
period = "60s"
|
||||
grace = "10s"
|
||||
delay = "30s"
|
||||
drop_original = false
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "CONTROLLER"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "RDS"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [1.0, 2.0, 3.0, 4.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "REDIS"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "HBASE"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "HTTP"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "METHOD"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "QUERY_EXECUTION_LATENCY"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "DOWN_STREAM_LATENCY"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "API_LATENCY"
|
||||
|
||||
[[inputs.socket_listener]]
|
||||
service_address = "udp://:8094"
|
||||
read_buffer_size = "16MB"
|
||||
[[inputs.statsd]]
|
||||
protocol = "udp"
|
||||
service_address = ":8125"
|
||||
delete_gauges = false
|
||||
delete_counters = false
|
||||
percentiles = [50.0, 90.0, 99.0, 99.9, 99.95, 100.0]
|
||||
datadog_extensions = true
|
||||
allowed_pending_messages = 100000
|
||||
|
||||
infra-histogram-optimized: |
|
||||
[[inputs.mem]]
|
||||
[[outputs.file]]
|
||||
files = ["stdout"]
|
||||
[[outputs.prometheus_client]]
|
||||
listen = ":9273"
|
||||
metric_version = 2
|
||||
path = "/metrics"
|
||||
expiration_interval = "60s"
|
||||
export_timestamp = false
|
||||
[agent]
|
||||
interval = "10s"
|
||||
round_interval = true
|
||||
metric_batch_size = 1000
|
||||
metric_buffer_limit = 80000
|
||||
collection_jitter = "0s"
|
||||
flush_interval = "30s"
|
||||
flush_jitter = "0s"
|
||||
precision = ""
|
||||
debug = true
|
||||
hostname = ""
|
||||
omit_hostname = true
|
||||
[[aggregators.basicstats]]
|
||||
period = "60s"
|
||||
grace = "10s"
|
||||
delay = "30s"
|
||||
drop_original = false
|
||||
namepass = ["DOWNSTREAM"]
|
||||
stats = ["count", "min", "max", "mean", "sum"]
|
||||
[[aggregators.basicstats]]
|
||||
period = "60s"
|
||||
grace = "10s"
|
||||
delay = "30s"
|
||||
drop_original = false
|
||||
namedrop = ["DOWNSTREAM"]
|
||||
stats = ["count"]
|
||||
[[aggregators.histogram]]
|
||||
period = "60s"
|
||||
grace = "10s"
|
||||
delay = "30s"
|
||||
drop_original = false
|
||||
expiration_interval = "1m"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [10.0, 25.0, 50.0, 100.0, 250.0, 500.0, 1000.0, 2500.0, 5000.0, 10000.0, 30000.0]
|
||||
measurement_name = "CONTROLLER"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "RDS"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [1.0, 2.0, 3.0, 4.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "REDIS"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "HBASE"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "HTTP"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "METHOD"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "QUERY_EXECUTION_LATENCY"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "DOWN_STREAM_LATENCY"
|
||||
[[aggregators.histogram.config]]
|
||||
buckets = [0.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 120.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 600.0, 700.0, 800.0, 900.0,1000.0, 1200.0, 1500.0, 2000.0, 5000.0, 10000.0, 12500.0, 15000.0, 20000.0, 25000.0, 30000.0]
|
||||
measurement_name = "API_LATENCY"
|
||||
|
||||
[[inputs.socket_listener]]
|
||||
service_address = "udp://:8094"
|
||||
read_buffer_size = "16MB"
|
||||
[[inputs.statsd]]
|
||||
protocol = "udp"
|
||||
service_address = ":8125"
|
||||
delete_gauges = false
|
||||
delete_counters = false
|
||||
percentiles = [50.0, 90.0, 99.0, 99.9, 99.95, 100.0]
|
||||
datadog_extensions = true
|
||||
allowed_pending_messages = 100000
|
||||
|
||||
certManager:
|
||||
enable: false
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
serviceAccount:
|
||||
# Annotations to add to the service account
|
||||
annotations: {}
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
resources:
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 256Mi
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
sidecarResources:
|
||||
requests:
|
||||
cpu: 200m
|
||||
memory: 200Mi
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: exporter
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: exporter
|
||||
labels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "telegraf-operator-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "exporter"
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "datascience-devops"
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "datascience-devops"
|
||||
effect: "NoSchedule"
|
||||
|
||||
affinity: {}
|
||||
requireAnnotationsForSecret: false
|
||||
# allow hot reload ; disabled by default to support versions of telegraf
|
||||
# that do not support hot-reload and --watch-config flag
|
||||
hotReload: false
|
||||
+295
@@ -0,0 +1,295 @@
|
||||
# Default values for victoria-metrics-agent.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
replicaCount: 2
|
||||
|
||||
fullnameOverride: vmagent-datascience-a-prd-dr
|
||||
# vmagent scraping configuration:
|
||||
# https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/docs/vmagent.md#how-to-collect-metrics-in-prometheus-format
|
||||
|
||||
# use existing configmap if specified
|
||||
# otherwise .config values will be used
|
||||
configMap: "vmagent-datascience-a-prd-dr-config" # Use same name as in fullnameOverride-config
|
||||
|
||||
dedicatedValue: false
|
||||
|
||||
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmagent
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmagent
|
||||
|
||||
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||||
deployment:
|
||||
enabled: true
|
||||
|
||||
# vmagent pods will take almost 20-25 mins to work properly
|
||||
minReadySeconds: 180
|
||||
progressDeadlineSeconds: 300
|
||||
|
||||
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||
strategy: {}
|
||||
# rollingUpdate:
|
||||
# maxSurge: 25%
|
||||
# maxUnavailable: 25%
|
||||
# type: RollingUpdate
|
||||
|
||||
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
|
||||
statefulset:
|
||||
enabled: false
|
||||
# -- create cluster of vmagents. See https://docs.victoriametrics.com/vmagent.html#scraping-big-number-of-targets
|
||||
# available since 1.77.2 version https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.77.2
|
||||
clusterMode: false
|
||||
# -- replication factor for vmagent in cluster mode
|
||||
replicationFactor: 1
|
||||
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
|
||||
updateStrategy: {}
|
||||
# type: RollingUpdate
|
||||
|
||||
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmagent
|
||||
tag: v1.93.7-cluster # rewrites Chart.AppVersion
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
|
||||
containerWorkingDir: "/"
|
||||
|
||||
rbac:
|
||||
create: true
|
||||
# Note: The PSP will only be deployed, if Kubernetes (<1.25) supports the resource.
|
||||
pspEnabled: true
|
||||
annotations: {}
|
||||
extraLabels: {}
|
||||
# -- if true and `rbac.enabled`, will deploy a Role/Rolebinding instead of a ClusterRole/ClusterRoleBinding
|
||||
namespaced: false
|
||||
|
||||
serviceAccount:
|
||||
# Specifies whether a service account should be created
|
||||
create: true
|
||||
# Annotations to add to the service account
|
||||
annotations: {
|
||||
iam.gke.io/gcp-service-account: sa-dsci-spsre-vmagent-prd@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
}
|
||||
# The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name:
|
||||
|
||||
## See `kubectl explain poddisruptionbudget.spec` for more
|
||||
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 1
|
||||
labels: {}
|
||||
|
||||
# WARN: need to specify at least one remote write url or one multi tenant url
|
||||
# remoteWriteUrls: []
|
||||
remoteWriteUrls:
|
||||
- https://vminsert-infra-prd-dr.meeshogcp.in/insert/100/prometheus/api/v1/write
|
||||
# - http://vminsert-infra-prd-dr.victoriametrics.svc.clusterset.local:8480/insert/100/prometheus/api/v1/write
|
||||
# - http://prometheus:8480/insert/0/prometheus
|
||||
|
||||
multiTenantUrls: []
|
||||
# multiTenantUrls:
|
||||
# - http://vm-insert-az1:8480
|
||||
# - http://vm-insert-az2:8480
|
||||
|
||||
extraArgs:
|
||||
envflag.enable: "true"
|
||||
envflag.prefix: VM_
|
||||
loggerFormat: json
|
||||
promscrape.config.strictParse: false
|
||||
promscrape.maxScrapeSize: 1000000000
|
||||
promscrape.minResponseSizeForStreamParse: 1000000
|
||||
loggerTimezone: "Asia/Kolkata"
|
||||
|
||||
# Uncomment and specify the port if you want to support any of the protocols:
|
||||
# https://victoriametrics.github.io/vmagent.html#features
|
||||
# graphiteListenAddr: ":2003"
|
||||
# influxListenAddr: ":8189"
|
||||
# opentsdbHTTPListenAddr: ":4242"
|
||||
# opentsdbListenAddr: ":4242"
|
||||
|
||||
# -- Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables
|
||||
env:
|
||||
[]
|
||||
# - name: VM_remoteWrite_basicAuth_password
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: auth_secret
|
||||
# key: password
|
||||
|
||||
# extra Labels for Pods, Deployment and Statefulset
|
||||
extraLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "vmagent-datascience-a-prd"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmagent"
|
||||
|
||||
|
||||
|
||||
# extra Labels for Pods only
|
||||
podLabels: {}
|
||||
|
||||
# Additional hostPath mounts
|
||||
extraHostPathMounts:
|
||||
[]
|
||||
# - name: certs-dir
|
||||
# mountPath: /etc/kubernetes/certs
|
||||
# subPath: ""
|
||||
# hostPath: /etc/kubernetes/certs
|
||||
# readOnly: true
|
||||
|
||||
# Extra Volumes for the pod
|
||||
extraVolumes:
|
||||
[]
|
||||
# - name: example
|
||||
# configMap:
|
||||
# name: example
|
||||
|
||||
# Extra Volume Mounts for the container
|
||||
extraVolumeMounts:
|
||||
[]
|
||||
# - name: example
|
||||
# mountPath: /example
|
||||
|
||||
extraContainers: []
|
||||
# - name: config-reloader
|
||||
# image: reloader-image
|
||||
|
||||
podSecurityContext:
|
||||
{}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext:
|
||||
{}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
service:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
# cloud.google.com/neg: '{"exposed_ports": {"8429":{"name": "vmagent-datascience-a-prd"}}}'
|
||||
extraLabels: {}
|
||||
clusterIP: ""
|
||||
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
|
||||
##
|
||||
externalIPs: []
|
||||
loadBalancerIP: ""
|
||||
loadBalancerSourceRanges: []
|
||||
servicePort: 8429
|
||||
# nodePort: 30000
|
||||
type: ClusterIP
|
||||
# Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
# externalTrafficPolicy: "local"
|
||||
# healthCheckNodePort: 0
|
||||
ingress:
|
||||
enabled: true
|
||||
ingressClassName: nginx-internal
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: 'true'
|
||||
|
||||
extraLabels: {}
|
||||
hosts:
|
||||
- name: vmagent-datascience-a-prd-dr.meeshogcp.in
|
||||
path: /
|
||||
port: http
|
||||
tls: []
|
||||
# - secretName: vmagent-ingress-tls
|
||||
# hosts:
|
||||
# - vmagent.local
|
||||
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
|
||||
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
|
||||
# ingressClassName: nginx
|
||||
# -- pathType is only for k8s >= 1.1=
|
||||
pathType: Prefix
|
||||
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
requests:
|
||||
cpu: 12
|
||||
memory: 12Gi
|
||||
|
||||
# Annotations to be added to the deployment
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8429"
|
||||
|
||||
# Annotations to be added to pod
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8429"
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "vmagent-dr"
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "vmagent-dr"
|
||||
effect: "NoSchedule"
|
||||
|
||||
affinity: {}
|
||||
|
||||
# -- priority class to be assigned to the pod(s)
|
||||
priorityClassName: ""
|
||||
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
extraLabels: {}
|
||||
annotations: {}
|
||||
relabelings: []
|
||||
# interval: 15s
|
||||
# scrapeTimeout: 5s
|
||||
# -- Commented. HTTP scheme to use for scraping.
|
||||
# scheme: https
|
||||
# -- Commented. TLS configuration to use when scraping the endpoint
|
||||
# tlsConfig:
|
||||
# insecureSkipVerify: true
|
||||
|
||||
persistence:
|
||||
enabled: false
|
||||
# storageClassName: default
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
size: 10Gi
|
||||
annotations: {}
|
||||
extraLabels: {}
|
||||
existingClaim: ""
|
||||
# -- Bind Persistent Volume by labels. Must match all labels of targeted PV.
|
||||
matchLabels: {}
|
||||
|
||||
# -- Extra scrape configs that will be appended to `config`
|
||||
extraScrapeConfigs: []
|
||||
|
||||
# Add extra specs dynamically to this chart
|
||||
extraObjects: []
|
||||
+272
@@ -0,0 +1,272 @@
|
||||
# Default values for victoria-metrics-agent.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
fullnameOverride: vmagent-datascience-a-prd-fb
|
||||
# vmagent scraping configuration:
|
||||
# https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/docs/vmagent.md#how-to-collect-metrics-in-prometheus-format
|
||||
|
||||
# use existing configmap if specified
|
||||
# otherwise .config values will be used
|
||||
configMap: "vmagent-datascience-a-prd-fb-config" # Use same name as in fullnameOverride-config
|
||||
|
||||
dedicatedValue: false
|
||||
|
||||
# Remove topology spread constraints
|
||||
topologySpreadConstraints: []
|
||||
|
||||
# Modify deployment strategy
|
||||
deployment:
|
||||
enabled: true
|
||||
|
||||
# Remove HPA
|
||||
horizontalPodAutoscaler:
|
||||
enabled: false
|
||||
|
||||
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||||
statefulset:
|
||||
enabled: false
|
||||
# -- create cluster of vmagents. See https://docs.victoriametrics.com/vmagent.html#scraping-big-number-of-targets
|
||||
# available since 1.77.2 version https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.77.2
|
||||
clusterMode: false
|
||||
# -- replication factor for vmagent in cluster mode
|
||||
replicationFactor: 1
|
||||
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
|
||||
updateStrategy: {}
|
||||
# type: RollingUpdate
|
||||
|
||||
|
||||
image:
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmagent
|
||||
tag: v1.93.7-cluster # rewrites Chart.AppVersion
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
|
||||
containerWorkingDir: "/"
|
||||
|
||||
rbac:
|
||||
create: true
|
||||
# Note: The PSP will only be deployed, if Kubernetes (<1.25) supports the resource.
|
||||
pspEnabled: true
|
||||
annotations: {}
|
||||
extraLabels: {}
|
||||
# -- if true and `rbac.enabled`, will deploy a Role/Rolebinding instead of a ClusterRole/ClusterRoleBinding
|
||||
namespaced: false
|
||||
|
||||
serviceAccount:
|
||||
# Specifies whether a service account should be created
|
||||
create: true
|
||||
# Annotations to add to the service account
|
||||
annotations: {
|
||||
iam.gke.io/gcp-service-account: sa-infr-sre-vmagent-prd@meesho-admin-prd-0622.iam.gserviceaccount.com
|
||||
}
|
||||
# The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name:
|
||||
|
||||
# Remove pod disruption budget
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
|
||||
# WARN: need to specify at least one remote write url or one multi tenant url
|
||||
# remoteWriteUrls: []
|
||||
remoteWriteUrls:
|
||||
# - https://vminsert-prd-datascience.meeshogcp.in/insert/100/prometheus/api/v1/write
|
||||
# - http://vmsinglenode-infra-prd.victoriametrics.svc.clusterset.local:8428/api/v1/write
|
||||
- https://vmsinglenode-infra-prd.meeshogcp.in/api/v1/write
|
||||
# - http://prometheus:8480/insert/0/prometheus
|
||||
|
||||
multiTenantUrls: []
|
||||
# multiTenantUrls:
|
||||
# - http://vm-insert-az1:8480
|
||||
# - http://vm-insert-az2:8480
|
||||
|
||||
extraArgs:
|
||||
envflag.enable: "true"
|
||||
envflag.prefix: VM_
|
||||
loggerFormat: json
|
||||
promscrape.config.strictParse: false
|
||||
promscrape.maxScrapeSize: 1000000000
|
||||
promscrape.minResponseSizeForStreamParse: 1000000
|
||||
loggerTimezone: "Asia/Kolkata"
|
||||
|
||||
# Uncomment and specify the port if you want to support any of the protocols:
|
||||
# https://victoriametrics.github.io/vmagent.html#features
|
||||
# graphiteListenAddr: ":2003"
|
||||
# influxListenAddr: ":8189"
|
||||
# opentsdbHTTPListenAddr: ":4242"
|
||||
# opentsdbListenAddr: ":4242"
|
||||
|
||||
# -- Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables
|
||||
env:
|
||||
[]
|
||||
# - name: VM_remoteWrite_basicAuth_password
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: auth_secret
|
||||
# key: password
|
||||
|
||||
# extra Labels for Pods, Deployment and Statefulset
|
||||
extraLabels:
|
||||
bu: "datascience-fb"
|
||||
team: "sre"
|
||||
service: "vmagent-datascience-a-prd-fb"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmagent-fb"
|
||||
|
||||
|
||||
|
||||
# extra Labels for Pods only
|
||||
podLabels: {}
|
||||
|
||||
# Additional hostPath mounts
|
||||
extraHostPathMounts:
|
||||
[]
|
||||
# - name: certs-dir
|
||||
# mountPath: /etc/kubernetes/certs
|
||||
# subPath: ""
|
||||
# hostPath: /etc/kubernetes/certs
|
||||
# readOnly: true
|
||||
|
||||
# Extra Volumes for the pod
|
||||
extraVolumes:
|
||||
[]
|
||||
# - name: example
|
||||
# configMap:
|
||||
# name: example
|
||||
|
||||
# Extra Volume Mounts for the container
|
||||
extraVolumeMounts:
|
||||
[]
|
||||
# - name: example
|
||||
# mountPath: /example
|
||||
|
||||
extraContainers: []
|
||||
# - name: config-reloader
|
||||
# image: reloader-image
|
||||
|
||||
podSecurityContext:
|
||||
{}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext:
|
||||
{}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
service:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
# cloud.google.com/neg: '{"exposed_ports": {"8429":{"name": "vmagent-datascience-a-prd"}}}'
|
||||
extraLabels: {}
|
||||
clusterIP: ""
|
||||
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
|
||||
##
|
||||
externalIPs: []
|
||||
loadBalancerIP: ""
|
||||
loadBalancerSourceRanges: []
|
||||
servicePort: 8429
|
||||
# nodePort: 30000
|
||||
type: ClusterIP
|
||||
# Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
# externalTrafficPolicy: "local"
|
||||
# healthCheckNodePort: 0
|
||||
ingress:
|
||||
enabled: true
|
||||
ingressClassName: nginx-internal
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: 'true'
|
||||
|
||||
extraLabels: {}
|
||||
hosts:
|
||||
- name: vmagent-datascience-a-prd-fb.meeshogcp.in
|
||||
path: /
|
||||
port: http
|
||||
tls: []
|
||||
# - secretName: vmagent-ingress-tls
|
||||
# hosts:
|
||||
# - vmagent.local
|
||||
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
|
||||
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
|
||||
# ingressClassName: nginx
|
||||
# -- pathType is only for k8s >= 1.1=
|
||||
pathType: Prefix
|
||||
|
||||
# Modify resources
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
requests:
|
||||
cpu: 2
|
||||
memory: 3Gi
|
||||
|
||||
# Annotations to be added to the deployment
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8429"
|
||||
|
||||
# Annotations to be added to pod
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8429"
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "vmagent-n4"
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "vmagent-n4"
|
||||
effect: "NoSchedule"
|
||||
|
||||
|
||||
affinity: {}
|
||||
|
||||
# -- priority class to be assigned to the pod(s)
|
||||
priorityClassName: ""
|
||||
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
extraLabels: {}
|
||||
annotations: {}
|
||||
relabelings: []
|
||||
# interval: 15s
|
||||
# scrapeTimeout: 5s
|
||||
# -- Commented. HTTP scheme to use for scraping.
|
||||
# scheme: https
|
||||
# -- Commented. TLS configuration to use when scraping the endpoint
|
||||
# tlsConfig:
|
||||
# insecureSkipVerify: true
|
||||
|
||||
persistence:
|
||||
enabled: false
|
||||
# storageClassName: default
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
size: 10Gi
|
||||
annotations: {}
|
||||
extraLabels: {}
|
||||
existingClaim: ""
|
||||
# -- Bind Persistent Volume by labels. Must match all labels of targeted PV.
|
||||
matchLabels: {}
|
||||
|
||||
# -- Extra scrape configs that will be appended to `config`
|
||||
extraScrapeConfigs: []
|
||||
|
||||
# Add extra specs dynamically to this chart
|
||||
extraObjects: []
|
||||
+304
@@ -0,0 +1,304 @@
|
||||
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:
|
||||
# mount API token to pod directly
|
||||
automountToken: true
|
||||
|
||||
imagePullSecrets: []
|
||||
|
||||
dedicatedValue: false
|
||||
schedulerName: default-scheduler
|
||||
|
||||
rbac:
|
||||
create: true
|
||||
# Note: The PSP will only be deployed, if Kubernetes (<1.25) supports the resource.
|
||||
pspEnabled: true
|
||||
namespaced: false
|
||||
extraLabels: {}
|
||||
annotations: {}
|
||||
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmalert
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmalert
|
||||
|
||||
alertmanager:
|
||||
enabled: false
|
||||
|
||||
server:
|
||||
enabled: true
|
||||
name: vmalert
|
||||
image:
|
||||
repository: victoriametrics/vmalert
|
||||
tag: "" # rewrites Chart.AppVersion
|
||||
pullPolicy: IfNotPresent
|
||||
nameOverride: ""
|
||||
fullnameOverride: vmalert-datascience-a-prd-dr
|
||||
configMap: ""
|
||||
|
||||
## See `kubectl explain poddisruptionbudget.spec` for more
|
||||
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 1
|
||||
labels: {}
|
||||
|
||||
# -- Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables
|
||||
env:
|
||||
[]
|
||||
# - name: VM_remoteWrite_basicAuth_password
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: auth_secret
|
||||
# key: password
|
||||
|
||||
replicaCount: 2
|
||||
|
||||
# deployment strategy, set to standard k8s default
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
|
||||
# specifies the minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing/terminating
|
||||
# 0 is the standard k8s default
|
||||
minReadySeconds: 0
|
||||
|
||||
# vmalert reads metrics from source, next section represents its configuration. It can be any service which supports
|
||||
# MetricsQL or PromQL.
|
||||
datasource:
|
||||
url: "http://vmselect-infra-prd-dr.victoriametrics.svc.clusterset.local:8481/select/100/prometheus"
|
||||
# -- Basic auth for datasource
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for datasource
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
|
||||
remote:
|
||||
write:
|
||||
url: "http://vminsert-infra-prd-dr.victoriametrics.svc.clusterset.local:8480/insert/100/prometheus/"
|
||||
# -- Basic auth for remote write
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for remote write
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
read:
|
||||
url: "http://vmselect-infra-prd-dr.victoriametrics.svc.clusterset.local:8481/select/100/prometheus"
|
||||
# -- Basic auth for remote read
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for remote read
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
|
||||
# -- Notifier to use for alerts.
|
||||
# Multiple notifiers can be enabled by using `notifiers` section
|
||||
notifier:
|
||||
alertmanager:
|
||||
url: "http://alertmanager-infra-prd.alertmanager.svc.clusterset.local:9093"
|
||||
# -- Basic auth for alertmanager
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for alertmanager
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
|
||||
# -- Additional notifiers to use for alerts
|
||||
notifiers: []
|
||||
# - alertmanager:
|
||||
# url: "http://devops-p-alertmanager-01b.meeshoint.in:9093"
|
||||
# basicAuth:
|
||||
# username: ""
|
||||
# password: ""
|
||||
# bearer:
|
||||
# token: ""
|
||||
# tokenFile: ""
|
||||
# - alertmanager:
|
||||
# url: "https://prd-infra-alertmanager.meesho.com"
|
||||
# basicAuth:
|
||||
# username: ""
|
||||
# password: ""
|
||||
# bearer:
|
||||
# token: ""
|
||||
# tokenFile: ""
|
||||
|
||||
extraArgs:
|
||||
envflag.enable: "true"
|
||||
envflag.prefix: VM_
|
||||
loggerFormat: json
|
||||
rule: "/config/vm-alerts-config/datascience/**/*.yaml"
|
||||
loggerTimezone: "Asia/Kolkata"
|
||||
|
||||
# Additional hostPath mounts
|
||||
extraHostPathMounts:
|
||||
[]
|
||||
# - name: certs-dir
|
||||
# mountPath: /etc/kubernetes/certs
|
||||
# subPath: ""
|
||||
# hostPath: /etc/kubernetes/certs
|
||||
# readOnly: true
|
||||
|
||||
# Extra Volumes for the pod
|
||||
extraVolumes:
|
||||
[]
|
||||
# Extra Volume Mounts for the container
|
||||
extraVolumeMounts:
|
||||
[]
|
||||
extraContainers:
|
||||
[]
|
||||
#- name: config-reloader
|
||||
# image: reloader-image
|
||||
|
||||
service:
|
||||
annotations: {}
|
||||
labels: {}
|
||||
clusterIP: ""
|
||||
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
|
||||
##
|
||||
externalIPs: []
|
||||
loadBalancerIP: ""
|
||||
loadBalancerSourceRanges: []
|
||||
servicePort: 8880
|
||||
# nodePort: 30000
|
||||
type: ClusterIP
|
||||
# Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
# externalTrafficPolicy: "local"
|
||||
# healthCheckNodePort: 0
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
ingressClassName: nginx-internal
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: 'true'
|
||||
|
||||
extraLabels: {}
|
||||
hosts:
|
||||
- name: vmalert-datascience-a-prd-dr.meeshogcp.in
|
||||
path: /
|
||||
port: http
|
||||
|
||||
tls: []
|
||||
# - secretName: vmselect-ingress-tls
|
||||
# hosts:
|
||||
# - vmselect.local
|
||||
|
||||
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
|
||||
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
|
||||
# ingressClassName: nginx
|
||||
# -- pathType is only for k8s >= 1.1=
|
||||
pathType: Prefix
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext:
|
||||
{}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 1Gi
|
||||
|
||||
# Annotations to be added to the deployment
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8880"
|
||||
|
||||
# labels to be added to the deployment, pods and other resources
|
||||
labels:
|
||||
bu: "infra"
|
||||
team: "sre"
|
||||
service: "vmalert-datascience-a-prd-dr"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmalert"
|
||||
|
||||
# Annotations to be added to pod
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8880"
|
||||
|
||||
podLabels: {}
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "vmagent-dr"
|
||||
|
||||
|
||||
priorityClassName: ""
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "vmagent-dr"
|
||||
effect: "NoSchedule"
|
||||
|
||||
affinity: {}
|
||||
|
||||
# vmalert alert rules configuration configuration:
|
||||
# use existing configmap if specified
|
||||
# otherwise .config values will be used
|
||||
config:
|
||||
alerts:
|
||||
groups: []
|
||||
|
||||
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
extraLabels: {}
|
||||
annotations: {}
|
||||
relabelings: []
|
||||
# interval: 15s
|
||||
# scrapeTimeout: 5s
|
||||
# -- Commented. HTTP scheme to use for scraping.
|
||||
# scheme: https
|
||||
# -- Commented. TLS configuration to use when scraping the endpoint
|
||||
# tlsConfig:
|
||||
# insecureSkipVerify: true
|
||||
+332
@@ -0,0 +1,332 @@
|
||||
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:
|
||||
# mount API token to pod directly
|
||||
automountToken: true
|
||||
|
||||
imagePullSecrets: []
|
||||
|
||||
dedicatedValue: false
|
||||
schedulerName: default-scheduler
|
||||
|
||||
rbac:
|
||||
create: true
|
||||
# Note: The PSP will only be deployed, if Kubernetes (<1.25) supports the resource.
|
||||
pspEnabled: true
|
||||
namespaced: false
|
||||
extraLabels: {}
|
||||
annotations: {}
|
||||
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmalert
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmalert
|
||||
|
||||
alertmanager:
|
||||
enabled: false
|
||||
|
||||
server:
|
||||
enabled: true
|
||||
name: vmalert
|
||||
image:
|
||||
repository: victoriametrics/vmalert
|
||||
tag: "" # rewrites Chart.AppVersion
|
||||
pullPolicy: IfNotPresent
|
||||
nameOverride: ""
|
||||
fullnameOverride: vmalert-stateful-secured-datascience-a-prd-v0
|
||||
configMap: ""
|
||||
|
||||
## See `kubectl explain poddisruptionbudget.spec` for more
|
||||
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 1
|
||||
labels: {}
|
||||
|
||||
# -- Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables
|
||||
env: []
|
||||
# - name: VM_remoteWrite_basicAuth_password
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: auth_secret
|
||||
# key: password
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
# deployment strategy, set to standard k8s default
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
|
||||
# specifies the minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing/terminating
|
||||
# 0 is the standard k8s default
|
||||
minReadySeconds: 0
|
||||
|
||||
# vmalert reads metrics from source, next section represents its configuration. It can be any service which supports
|
||||
# MetricsQL or PromQL.
|
||||
datasource:
|
||||
url: "http://vmselect-datascience-a-prd-proxy-v0.victoriametrics.svc.cluster.local:8481/select/200/prometheus"
|
||||
# -- Basic auth for datasource
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for datasource
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
|
||||
remote:
|
||||
write:
|
||||
url: "http://vm-insert-datascience-a-prd-v0.victoriametrics.svc.cluster.local:8480/insert/200/prometheus/"
|
||||
# -- Basic auth for remote write
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for remote write
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
read:
|
||||
url: "http://vmselect-datascience-a-prd-proxy-v0.victoriametrics.svc.cluster.local:8481/select/200/prometheus"
|
||||
# -- Basic auth for remote read
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for remote read
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
|
||||
# -- Notifier to use for alerts.
|
||||
# Multiple notifiers can be enabled by using `notifiers` section
|
||||
notifier:
|
||||
alertmanager:
|
||||
url: "http://alertmanager-infra-prd.alertmanager.svc.clusterset.local:9093"
|
||||
# -- Basic auth for alertmanager
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for alertmanager
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
|
||||
# -- Additional notifiers to use for alerts
|
||||
notifiers: []
|
||||
# - alertmanager:
|
||||
# url: "http://devops-p-alertmanager-01b.meeshoint.in:9093"
|
||||
# basicAuth:
|
||||
# username: ""
|
||||
# password: ""
|
||||
# bearer:
|
||||
# token: ""
|
||||
# tokenFile: ""
|
||||
# - alertmanager:
|
||||
# url: "https://prd-infra-alertmanager.meesho.com"
|
||||
# basicAuth:
|
||||
# username: ""
|
||||
# password: ""
|
||||
# bearer:
|
||||
# token: ""
|
||||
# tokenFile: ""
|
||||
|
||||
extraArgs:
|
||||
envflag.enable: "true"
|
||||
envflag.prefix: VM_
|
||||
loggerFormat: json
|
||||
rule: "/alert-rules/vm-alerts-config/configmap/sensitive/datascience/**/*.yaml"
|
||||
evaluationInterval: 60s
|
||||
configCheckInterval: 10s
|
||||
loggerTimezone: "Asia/Kolkata"
|
||||
|
||||
# Additional hostPath mounts
|
||||
extraHostPathMounts: []
|
||||
# - name: certs-dir
|
||||
# mountPath: /etc/kubernetes/certs
|
||||
# subPath: ""
|
||||
# hostPath: /etc/kubernetes/certs
|
||||
# readOnly: true
|
||||
|
||||
# Extra Volumes for the pod
|
||||
extraVolumes: []
|
||||
# Extra Volume Mounts for the container
|
||||
extraVolumeMounts: []
|
||||
extraContainers: []
|
||||
#- name: config-reloader
|
||||
# image: reloader-image
|
||||
|
||||
service:
|
||||
annotations: {}
|
||||
labels: null # Set to null to prevent default values.yaml labels from being merged
|
||||
clusterIP: ""
|
||||
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
|
||||
##
|
||||
externalIPs: []
|
||||
loadBalancerIP: ""
|
||||
loadBalancerSourceRanges: []
|
||||
servicePort: 8880
|
||||
# nodePort: 30000
|
||||
type: ClusterIP
|
||||
# Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
# externalTrafficPolicy: "local"
|
||||
# healthCheckNodePort: 0
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
ingressClassName: nginx-internal
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: 'true'
|
||||
|
||||
extraLabels: {}
|
||||
hosts:
|
||||
- name: vmalert-datascience-a-prd-stateful-v0.meeshogcp.in
|
||||
path: /
|
||||
port: http
|
||||
|
||||
tls: []
|
||||
# - secretName: vmselect-ingress-tls
|
||||
# hosts:
|
||||
# - vmselect.local
|
||||
|
||||
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
|
||||
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
|
||||
# ingressClassName: nginx
|
||||
# -- pathType is only for k8s >= 1.1=
|
||||
pathType: Prefix
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 1Gi
|
||||
|
||||
# Annotations to be added to the deployment
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8880"
|
||||
|
||||
# labels to be added to the deployment, pods and other resources
|
||||
labels:
|
||||
bu: "datascience"
|
||||
team: "sre"
|
||||
service: "vmalert-stateful-secured-datascience-a-prd-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmalert"
|
||||
|
||||
# Annotations to be added to pod
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8880"
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
podLabels: {}
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "vmselect"
|
||||
|
||||
priorityClassName: ""
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "vmselect"
|
||||
effect: "NoSchedule"
|
||||
|
||||
affinity: {}
|
||||
|
||||
# vmalert alert rules configuration configuration:
|
||||
# use existing configmap if specified
|
||||
# otherwise .config values will be used
|
||||
config:
|
||||
alerts:
|
||||
groups: []
|
||||
|
||||
# -- Persistent Volume configuration for alert rules
|
||||
persistentVolume:
|
||||
# -- Create/use Persistent Volume Claim for alert rules. Empty dir if false
|
||||
enabled: true
|
||||
|
||||
# -- Override Persistent Volume Claim name
|
||||
name: ""
|
||||
|
||||
# -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
|
||||
# -- Persistent volume annotations
|
||||
annotations: {}
|
||||
|
||||
# -- PVC extra labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically
|
||||
storageClassName: "pulse-nfs-sc-secured-prd"
|
||||
|
||||
# -- Existing Claim name. If defined, PVC must be created manually before volume will be bound
|
||||
existingClaim: ""
|
||||
|
||||
# -- Mount path. Alert rules Persistent Volume mount root path.
|
||||
mountPath: /alert-rules
|
||||
|
||||
# -- Mount subpath
|
||||
subPath: ""
|
||||
|
||||
# -- Size of the volume. Better to set the same as resource limit memory property.
|
||||
size: 10Gi
|
||||
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
extraLabels: {}
|
||||
annotations: {}
|
||||
relabelings: []
|
||||
# interval: 15s
|
||||
# scrapeTimeout: 5s
|
||||
# -- Commented. HTTP scheme to use for scraping.
|
||||
# scheme: https
|
||||
# -- Commented. TLS configuration to use when scraping the endpoint
|
||||
# tlsConfig:
|
||||
# insecureSkipVerify: true
|
||||
+340
@@ -0,0 +1,340 @@
|
||||
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:
|
||||
# mount API token to pod directly
|
||||
automountToken: true
|
||||
|
||||
imagePullSecrets: []
|
||||
|
||||
dedicatedValue: false
|
||||
schedulerName: default-scheduler
|
||||
|
||||
rbac:
|
||||
create: true
|
||||
# Note: The PSP will only be deployed, if Kubernetes (<1.25) supports the resource.
|
||||
pspEnabled: true
|
||||
namespaced: false
|
||||
extraLabels: {}
|
||||
annotations: {}
|
||||
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmalert
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmalert
|
||||
|
||||
alertmanager:
|
||||
enabled: false
|
||||
|
||||
server:
|
||||
enabled: true
|
||||
name: vmalert
|
||||
image:
|
||||
repository: victoriametrics/vmalert
|
||||
tag: "" # rewrites Chart.AppVersion
|
||||
pullPolicy: IfNotPresent
|
||||
nameOverride: ""
|
||||
fullnameOverride: vmalert-datascience-a-prd-stateful-v0
|
||||
configMap: ""
|
||||
|
||||
## See `kubectl explain poddisruptionbudget.spec` for more
|
||||
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 1
|
||||
labels: {}
|
||||
|
||||
# -- Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables
|
||||
env:
|
||||
[]
|
||||
# - name: VM_remoteWrite_basicAuth_password
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: auth_secret
|
||||
# key: password
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
# deployment strategy, set to standard k8s default
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
|
||||
# specifies the minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing/terminating
|
||||
# 0 is the standard k8s default
|
||||
minReadySeconds: 0
|
||||
|
||||
# vmalert reads metrics from source, next section represents its configuration. It can be any service which supports
|
||||
# MetricsQL or PromQL.
|
||||
datasource:
|
||||
url: "http://vmselect-datascience-a-prd-proxy-v0.victoriametrics.svc.cluster.local:8481/select/100/prometheus"
|
||||
# -- Basic auth for datasource
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for datasource
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
|
||||
remote:
|
||||
write:
|
||||
url: "http://vm-insert-datascience-a-prd-v0.victoriametrics.svc.cluster.local:8480/insert/100/prometheus/"
|
||||
# -- Basic auth for remote write
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for remote write
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
read:
|
||||
url: "http://vmselect-datascience-a-prd-proxy-v0.victoriametrics.svc.cluster.local:8481/select/100/prometheus"
|
||||
# -- Basic auth for remote read
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for remote read
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
|
||||
# -- Notifier to use for alerts.
|
||||
# Multiple notifiers can be enabled by using `notifiers` section
|
||||
notifier:
|
||||
alertmanager:
|
||||
url: "http://alertmanager-infra-prd.alertmanager.svc.clusterset.local:9093"
|
||||
# -- Basic auth for alertmanager
|
||||
basicAuth:
|
||||
username: ""
|
||||
password: ""
|
||||
# -- Auth based on Bearer token for alertmanager
|
||||
bearer:
|
||||
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
||||
token: ""
|
||||
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
||||
tokenFile: ""
|
||||
|
||||
# -- Additional notifiers to use for alerts
|
||||
notifiers: []
|
||||
# - alertmanager:
|
||||
# url: "http://devops-p-alertmanager-01b.meeshoint.in:9093"
|
||||
# basicAuth:
|
||||
# username: ""
|
||||
# password: ""
|
||||
# bearer:
|
||||
# token: ""
|
||||
# tokenFile: ""
|
||||
# - alertmanager:
|
||||
# url: "https://prd-infra-alertmanager.meesho.com"
|
||||
# basicAuth:
|
||||
# username: ""
|
||||
# password: ""
|
||||
# bearer:
|
||||
# token: ""
|
||||
# tokenFile: ""
|
||||
|
||||
extraArgs:
|
||||
envflag.enable: "true"
|
||||
envflag.prefix: VM_
|
||||
loggerFormat: json
|
||||
rule: "/alert-rules/vm-alerts-config/configmap/datascience/**/*.yaml"
|
||||
evaluationInterval: 60s
|
||||
configCheckInterval: 10s
|
||||
loggerTimezone: "Asia/Kolkata"
|
||||
|
||||
# Additional hostPath mounts
|
||||
extraHostPathMounts:
|
||||
[]
|
||||
# - name: certs-dir
|
||||
# mountPath: /etc/kubernetes/certs
|
||||
# subPath: ""
|
||||
# hostPath: /etc/kubernetes/certs
|
||||
# readOnly: true
|
||||
|
||||
# Extra Volumes for the pod
|
||||
extraVolumes:
|
||||
[]
|
||||
# Extra Volume Mounts for the container
|
||||
extraVolumeMounts:
|
||||
[]
|
||||
extraContainers:
|
||||
[]
|
||||
#- name: config-reloader
|
||||
# image: reloader-image
|
||||
|
||||
service:
|
||||
annotations: {}
|
||||
labels: null # Set to null to prevent default values.yaml labels from being merged
|
||||
clusterIP: ""
|
||||
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
|
||||
##
|
||||
externalIPs: []
|
||||
loadBalancerIP: ""
|
||||
loadBalancerSourceRanges: []
|
||||
servicePort: 8880
|
||||
# nodePort: 30000
|
||||
type: ClusterIP
|
||||
# Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
# externalTrafficPolicy: "local"
|
||||
# healthCheckNodePort: 0
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
ingressClassName: nginx-internal
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: 'true'
|
||||
|
||||
extraLabels: {}
|
||||
hosts:
|
||||
- name: vmalert-datascience-a-prd-stateful-v0.meeshogcp.in
|
||||
path: /
|
||||
port: http
|
||||
|
||||
tls: []
|
||||
# - secretName: vmselect-ingress-tls
|
||||
# hosts:
|
||||
# - vmselect.local
|
||||
|
||||
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
|
||||
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
|
||||
# ingressClassName: nginx
|
||||
# -- pathType is only for k8s >= 1.1=
|
||||
pathType: Prefix
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext:
|
||||
{}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
resources:
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
requests:
|
||||
cpu: 1500m
|
||||
memory: 3Gi
|
||||
|
||||
# Annotations to be added to the deployment
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8880"
|
||||
|
||||
# labels to be added to the deployment, pods and other resources
|
||||
labels:
|
||||
bu: "datascience"
|
||||
team: "sre"
|
||||
service: "vmalert-datascience-a-prd-stateful-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmalert"
|
||||
|
||||
# Annotations to be added to pod
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8880"
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: 'false'
|
||||
|
||||
podLabels: {}
|
||||
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "vmselect"
|
||||
|
||||
|
||||
priorityClassName: ""
|
||||
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "vmselect"
|
||||
effect: "NoSchedule"
|
||||
|
||||
affinity: {}
|
||||
|
||||
# vmalert alert rules configuration configuration:
|
||||
# use existing configmap if specified
|
||||
# otherwise .config values will be used
|
||||
config:
|
||||
alerts:
|
||||
groups: []
|
||||
|
||||
# -- Persistent Volume configuration for alert rules
|
||||
persistentVolume:
|
||||
# -- Create/use Persistent Volume Claim for alert rules. Empty dir if false
|
||||
enabled: true
|
||||
|
||||
# -- Override Persistent Volume Claim name
|
||||
name: ""
|
||||
|
||||
# -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
|
||||
# -- Persistent volume annotations
|
||||
annotations: {}
|
||||
|
||||
# -- PVC extra labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically
|
||||
storageClassName: "pulse-nfs-sc-prd"
|
||||
|
||||
# -- Existing Claim name. If defined, PVC must be created manually before volume will be bound
|
||||
existingClaim: ""
|
||||
|
||||
# -- Mount path. Alert rules Persistent Volume mount root path.
|
||||
mountPath: /alert-rules
|
||||
|
||||
# -- Mount subpath
|
||||
subPath: ""
|
||||
|
||||
# -- Size of the volume. Better to set the same as resource limit memory property.
|
||||
size: 10Gi
|
||||
|
||||
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
extraLabels: {}
|
||||
annotations: {}
|
||||
relabelings: []
|
||||
# interval: 15s
|
||||
# scrapeTimeout: 5s
|
||||
# -- Commented. HTTP scheme to use for scraping.
|
||||
# scheme: https
|
||||
# -- Commented. TLS configuration to use when scraping the endpoint
|
||||
# tlsConfig:
|
||||
# insecureSkipVerify: true
|
||||
@@ -0,0 +1,488 @@
|
||||
# -- Meesho orginazation specific fields for victoria-metrics-agent chart.
|
||||
custom:
|
||||
configFileFolderPath: "configmap"
|
||||
scrapeConfigFileName: "datascience-a-scrape.yaml"
|
||||
|
||||
# Default values for victoria-metrics-agent.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
global:
|
||||
# -- Image pull secrets, that can be shared across multiple helm charts
|
||||
imagePullSecrets: []
|
||||
image:
|
||||
# -- Image registry, that can be shared across multiple helm charts
|
||||
registry: ""
|
||||
# -- Openshift security context compatibility configuration
|
||||
compatibility:
|
||||
openshift:
|
||||
adaptSecurityContext: "auto"
|
||||
cluster:
|
||||
# -- K8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
|
||||
dnsDomain: cluster.local.
|
||||
|
||||
# -- Replica count
|
||||
replicaCount: 2
|
||||
|
||||
# -- Specify pod lifecycle
|
||||
lifecycle: {}
|
||||
|
||||
# -- Use an alternate scheduler, e.g. "stork". Check details [here](https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/)
|
||||
schedulerName: ""
|
||||
|
||||
# -- VMAgent mode: daemonSet, deployment, statefulSet
|
||||
mode: deployment
|
||||
|
||||
# -- [K8s DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) specific variables
|
||||
daemonSet:
|
||||
spec: {}
|
||||
|
||||
# -- [K8s Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) specific variables
|
||||
deployment:
|
||||
spec:
|
||||
minReadySeconds: 1200
|
||||
progressDeadlineSeconds: 1800
|
||||
# -- Deployment strategy. Check [here](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) for details
|
||||
strategy: {}
|
||||
# rollingUpdate:
|
||||
# maxSurge: 25%
|
||||
# maxUnavailable: 25%
|
||||
# type: RollingUpdate
|
||||
|
||||
# -- [K8s StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) specific variables
|
||||
statefulSet:
|
||||
# -- create cluster of vmagents. Check [here](https://docs.victoriametrics.com/victoriametrics/vmagent/#scraping-big-number-of-targets)
|
||||
# available since [v1.77.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.77.2)
|
||||
clusterMode: true
|
||||
# -- replication factor for vmagent in cluster mode
|
||||
replicationFactor: 1
|
||||
spec:
|
||||
# -- StatefulSet update strategy. Check [here](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies) for details.
|
||||
updateStrategy: {}
|
||||
# type: RollingUpdate
|
||||
|
||||
image:
|
||||
# -- Image registry
|
||||
registry: ""
|
||||
# -- Image repository
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmagent
|
||||
# -- Image tag, set to `Chart.AppVersion` by default
|
||||
tag: v1.133.0 # rewrites Chart.AppVersion
|
||||
# -- Variant of the image to use.
|
||||
# e.g. enterprise, scratch
|
||||
variant: ""
|
||||
# -- Image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- Image pull secrets
|
||||
imagePullSecrets: []
|
||||
|
||||
# -- Add additional DNS entries to pods hosts file. Check [official documentation](https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/)
|
||||
hostAliases: []
|
||||
# - ip: 192.168.1.1
|
||||
# hostNames:
|
||||
# - test.example.com
|
||||
# - another.example.net
|
||||
|
||||
# -- Override chart name
|
||||
nameOverride: ""
|
||||
|
||||
# -- Override resources fullname
|
||||
fullnameOverride: "vm-agent-datascience-a-prd-v0"
|
||||
|
||||
# -- Container working directory
|
||||
containerWorkingDir: "/"
|
||||
|
||||
rbac:
|
||||
# -- Enables Role/RoleBinding creation
|
||||
create: true
|
||||
|
||||
# -- Role/RoleBinding annotations
|
||||
annotations: {}
|
||||
|
||||
# -- Role/RoleBinding labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- If true and `rbac.enabled`, will deploy a Role/RoleBinding instead of a ClusterRole/ClusterRoleBinding
|
||||
namespaced: false
|
||||
|
||||
# -- additional rules for a role
|
||||
extraRules: []
|
||||
|
||||
serviceAccount:
|
||||
# -- Specifies whether a service account should be created
|
||||
create: true
|
||||
# -- Annotations to add to the service account
|
||||
annotations: {
|
||||
iam.gke.io/gcp-service-account: sa-dsci-sre-vmagnt-prd-mds@meesho-datascience-prd-0622.iam.gserviceaccount.com
|
||||
}
|
||||
# -- The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name:
|
||||
# -- mount API token to pod directly
|
||||
automountToken: true
|
||||
|
||||
# -- See `kubectl explain poddisruptionbudget.spec` for more or check [official documentation](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 1
|
||||
labels: {}
|
||||
|
||||
# -- Generates `remoteWrite.*` flags and config maps with value content for values, that are of type list of map.
|
||||
# Each item should contain `url` param to pass validation.
|
||||
remoteWrite:
|
||||
# - url: http://vm-insert-datascience-a-prd-v0.victoriametrics.svc.cluster.local:8480/insert/multitenant/prometheus/api/v1/write
|
||||
# disableOnDiskQueue: false
|
||||
# dropSamplesOnOverload: false
|
||||
- url: http://vm-insert-datascience-prd.victoriametrics.svc.clusterset.local:8480/insert/multitenant/prometheus/api/v1/write
|
||||
disableOnDiskQueue: false
|
||||
dropSamplesOnOverload: false
|
||||
- url: http://prd-census-server-datascience.prd-census-server-datascience.svc.cluster.local/api/v1/write
|
||||
disableOnDiskQueue: true
|
||||
dropSamplesOnOverload: true
|
||||
# urlRelabelConfig:
|
||||
# - action: keep
|
||||
# source_labels: [env]
|
||||
# regex: "dev"
|
||||
|
||||
# -- VMAgent extra command line arguments
|
||||
extraArgs:
|
||||
envflag.enable: true
|
||||
envflag.prefix: VM_
|
||||
loggerFormat: json
|
||||
httpListenAddr: :8429
|
||||
promscrape.config.strictParse: false # default is true
|
||||
promscrape.maxScrapeSize: 1000000000 # default is 167772160
|
||||
promscrape.minResponseSizeForStreamParse: 1000000
|
||||
loggerTimezone: "Asia/Kolkata"
|
||||
# promscrape.suppressScrapeErrors: true # default is false
|
||||
|
||||
# Uncomment and specify the port if you want to support any of the protocols:
|
||||
# https://docs.victoriametrics.com/victoriametrics/vmagent/#features
|
||||
# graphiteListenAddr: ":2003"
|
||||
# influxListenAddr: ":8189"
|
||||
# opentsdbHTTPListenAddr: ":4242"
|
||||
# opentsdbListenAddr: ":4242"
|
||||
|
||||
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for more details.
|
||||
env:
|
||||
- name: GOGC
|
||||
value: "200"
|
||||
# - name: VM_remoteWrite_basicAuth_password
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: auth-secret
|
||||
# key: password
|
||||
|
||||
# -- Specify alternative source for env variables
|
||||
envFrom:
|
||||
[]
|
||||
#- configMapRef:
|
||||
# name: special-config
|
||||
|
||||
# -- Extra labels for Deployment and Statefulset
|
||||
extraLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "vm-agent-datascience-a-prd-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmagent"
|
||||
|
||||
# -- Extra labels for Pods only
|
||||
podLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "vm-agent-datascience-a-prd-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmagent"
|
||||
|
||||
# -- Extra selector labels common for pod and service
|
||||
selectorLabels: {}
|
||||
|
||||
# -- Additional hostPath mounts
|
||||
extraHostPathMounts:
|
||||
[]
|
||||
# - name: certs-dir
|
||||
# mountPath: /etc/kubernetes/certs
|
||||
# subPath: ""
|
||||
# hostPath: /etc/kubernetes/certs
|
||||
# readOnly: true
|
||||
|
||||
# -- Extra Volumes for the pod
|
||||
extraVolumes:
|
||||
[]
|
||||
# - name: example
|
||||
# configMap:
|
||||
# name: example
|
||||
|
||||
# -- Extra Volume Mounts for the container
|
||||
extraVolumeMounts:
|
||||
[]
|
||||
# - name: example
|
||||
# mountPath: /example
|
||||
|
||||
# -- Extra containers to run in a pod with vmagent
|
||||
extraContainers: []
|
||||
# - name: config-reloader
|
||||
# image: reloader-image
|
||||
|
||||
# -- Init containers for vmagent
|
||||
initContainers:
|
||||
[]
|
||||
# - name: example
|
||||
# image: example-image
|
||||
|
||||
# -- Security context to be added to pod
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
# fsGroup: 2000
|
||||
|
||||
# -- Security context to be added to pod's containers
|
||||
securityContext:
|
||||
enabled: true
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
service:
|
||||
# -- Enable agent service
|
||||
enabled: true
|
||||
# -- Service annotations
|
||||
annotations: {}
|
||||
# -- Service labels
|
||||
extraLabels: {}
|
||||
# -- Service ClusterIP
|
||||
clusterIP: ""
|
||||
# -- Service external IPs. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips) for details
|
||||
externalIPs: []
|
||||
# -- Service load balancer IP
|
||||
loadBalancerIP: ""
|
||||
# -- Load balancer source range
|
||||
loadBalancerSourceRanges: []
|
||||
# -- Service port
|
||||
servicePort: 8429
|
||||
# -- Target port
|
||||
targetPort: http
|
||||
# nodePort: 30000
|
||||
# -- Service type
|
||||
type: ClusterIP
|
||||
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
|
||||
ipFamilyPolicy: ""
|
||||
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
|
||||
ipFamilies: []
|
||||
# -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
|
||||
externalTrafficPolicy: ""
|
||||
# -- Service internal traffic policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#internal-traffic-policy) for details
|
||||
internalTrafficPolicy: ""
|
||||
# -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
|
||||
healthCheckNodePort: ""
|
||||
# -- Traffic Distribution. Check [Traffic distribution](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
|
||||
trafficDistribution: ""
|
||||
# -- Extra selector labels common for service only
|
||||
selectorLabels: {}
|
||||
|
||||
ingress:
|
||||
# -- Enable deployment of ingress for agent
|
||||
enabled: false
|
||||
|
||||
# -- Ingress annotations
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: 'true'
|
||||
|
||||
# -- Ingress extra labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- Array of host objects
|
||||
hosts:
|
||||
- name: vm-agent-datascience-a-prd-v0.meeshogcp.in
|
||||
path:
|
||||
- /
|
||||
port: http
|
||||
|
||||
# -- Array of TLS objects
|
||||
tls: []
|
||||
# - secretName: vmagent-ingress-tls
|
||||
# hosts:
|
||||
# - vmagent.local
|
||||
|
||||
# -- Ingress controller class name
|
||||
ingressClassName: "nginx-internal"
|
||||
|
||||
# -- Ingress path type
|
||||
pathType: Prefix
|
||||
|
||||
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
|
||||
resources:
|
||||
requests:
|
||||
cpu: 70
|
||||
memory: 100Gi
|
||||
|
||||
# -- Annotations to be added to the deployment
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8429"
|
||||
|
||||
# -- Annotations to be added to pod
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8429"
|
||||
|
||||
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "vmagent-n4"
|
||||
|
||||
# -- Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "vmagent-n4"
|
||||
effect: "NoSchedule"
|
||||
|
||||
# -- Pod topologySpreadConstraints
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmagent
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmagent
|
||||
|
||||
# -- Pod affinity
|
||||
affinity: {}
|
||||
|
||||
# -- VMAgent [scraping configuration](https://docs.victoriametrics.com/victoriametrics/vmagent/#how-to-collect-metrics-in-prometheus-format)
|
||||
# use existing configmap if specified
|
||||
# otherwise .config values will be used
|
||||
configMap: "vm-agent-datascience-a-prd-v0"
|
||||
|
||||
# -- Priority class to be assigned to the pod(s)
|
||||
priorityClassName: ""
|
||||
|
||||
# -- Enable the host network
|
||||
hostNetwork: false
|
||||
|
||||
serviceMonitor:
|
||||
# -- Enable deployment of Service Monitor for server component. This is Prometheus operator object
|
||||
enabled: false
|
||||
# -- Service Monitor labels
|
||||
extraLabels: {}
|
||||
# -- Service Monitor annotations
|
||||
annotations: {}
|
||||
# -- Service Monitor relabelings
|
||||
relabelings: []
|
||||
# -- Basic auth params for Service Monitor
|
||||
basicAuth: {}
|
||||
# -- Service Monitor metricRelabelings
|
||||
metricRelabelings: []
|
||||
# -- Service Monitor targetPort
|
||||
targetPort: http
|
||||
# interval: 15s
|
||||
# scrapeTimeout: 5s
|
||||
# -- Commented. HTTP scheme to use for scraping.
|
||||
# scheme: https
|
||||
# -- Commented. TLS configuration to use when scraping the endpoint
|
||||
# tlsConfig:
|
||||
# insecureSkipVerify: true
|
||||
|
||||
# -- Empty dir configuration for a case, when persistence is disabled
|
||||
emptyDir: {}
|
||||
|
||||
persistentVolume:
|
||||
# -- Create/use Persistent Volume Claim for server component. Empty dir if false
|
||||
enabled: false
|
||||
|
||||
# -- Override Persistent Volume Claim name
|
||||
name: ""
|
||||
|
||||
# -- StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically
|
||||
storageClassName: ""
|
||||
|
||||
# -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
|
||||
# -- Size of the volume. Should be calculated based on the logs you send and retention policy you set.
|
||||
size: 10Gi
|
||||
|
||||
# -- Persistent volume annotations
|
||||
annotations: {}
|
||||
|
||||
# -- Persistent volume additional labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- Existing Claim name. If defined, PVC must be created manually before volume will be bound
|
||||
existingClaim: ""
|
||||
|
||||
# -- Bind Persistent Volume by labels. Must match all labels of targeted PV.
|
||||
matchLabels: {}
|
||||
|
||||
# -- Horizontal Pod Autoscaling.
|
||||
# Note that it is not intended to be used for vmagents which perform scraping.
|
||||
# In order to scale scraping vmagents check [here](https://docs.victoriametrics.com/victoriametrics/vmagent/#scraping-big-number-of-targets)
|
||||
horizontalPodAutoscaling:
|
||||
# -- Use HPA for vmagent
|
||||
enabled: false
|
||||
# -- Maximum replicas for HPA to use to to scale vmagent
|
||||
maxReplicas: 10
|
||||
# -- Minimum replicas for HPA to use to scale vmagent
|
||||
minReplicas: 1
|
||||
# -- Metric for HPA to use to scale vmagent
|
||||
metrics: []
|
||||
|
||||
# -- VMAgent scrape configuration
|
||||
config: {}
|
||||
|
||||
# -- Extra scrape configs that will be appended to `config`
|
||||
extraScrapeConfigs: []
|
||||
|
||||
probe:
|
||||
# -- Readiness probe
|
||||
readiness:
|
||||
httpGet: {}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
# -- Liveness probe
|
||||
liveness:
|
||||
tcpSocket: {}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
# -- Startup probe
|
||||
startup: {}
|
||||
|
||||
# -- Add extra specs dynamically to this chart
|
||||
extraObjects: []
|
||||
|
||||
allowedMetricsEndpoints:
|
||||
- /metrics
|
||||
|
||||
# -- Enterprise license key configuration for VictoriaMetrics enterprise.
|
||||
# Required only for VictoriaMetrics enterprise. Check docs [here](https://docs.victoriametrics.com/victoriametrics/enterprise/),
|
||||
# for more information, visit [site](https://victoriametrics.com/products/enterprise/).
|
||||
# Request a trial license [here](https://victoriametrics.com/products/enterprise/trial/)
|
||||
# Supported starting from VictoriaMetrics v1.94.0
|
||||
license:
|
||||
# -- License key
|
||||
key: ""
|
||||
|
||||
# -- Use existing secret with license key
|
||||
secret:
|
||||
# -- Existing secret name
|
||||
name: ""
|
||||
# -- Key in secret with license key
|
||||
key: ""
|
||||
+411
@@ -0,0 +1,411 @@
|
||||
# Default values for victoria-metrics.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
global:
|
||||
# -- Image pull secrets, that can be shared across multiple helm charts
|
||||
imagePullSecrets: []
|
||||
image:
|
||||
# -- Image registry, that can be shared across multiple helm charts
|
||||
registry: ""
|
||||
vm:
|
||||
# -- Image tag for all vm charts
|
||||
tag: ""
|
||||
# -- Openshift security context compatibility configuration
|
||||
compatibility:
|
||||
openshift:
|
||||
adaptSecurityContext: "auto"
|
||||
# -- k8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
|
||||
cluster:
|
||||
dnsDomain: cluster.local.
|
||||
|
||||
# -- Print information after deployment
|
||||
printNotes: true
|
||||
|
||||
# -- use SRV discovery for storageNode and selectNode flags for enterprise version
|
||||
autoDiscovery: false
|
||||
|
||||
common:
|
||||
# -- common for all components image configuration
|
||||
image:
|
||||
tag: ""
|
||||
|
||||
serviceAccount:
|
||||
# -- Specifies whether a service account should be created
|
||||
create: true
|
||||
|
||||
# -- The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name:
|
||||
|
||||
# -- Service account labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- Service account annotations
|
||||
annotations: {}
|
||||
|
||||
# -- mount API token to pod directly
|
||||
automountToken: true
|
||||
|
||||
# -- Override chart name
|
||||
nameOverride: ""
|
||||
|
||||
extraSecrets:
|
||||
[]
|
||||
# - name: secret-remote-storage-keys
|
||||
# annotations: []
|
||||
# labels: []
|
||||
# data: |
|
||||
# credentials: b64_encoded_str
|
||||
|
||||
# -- Add extra specs dynamically to this chart
|
||||
extraObjects: []
|
||||
|
||||
vmselect:
|
||||
# -- Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet
|
||||
enabled: false
|
||||
|
||||
vminsert:
|
||||
# -- Enable deployment of vminsert component. Deployment is used
|
||||
enabled: true
|
||||
# -- IDs of vmstorage nodes to exclude from writing
|
||||
excludeStorageIDs: []
|
||||
# -- Override default `app` label name
|
||||
name: vminsert
|
||||
# -- VMInsert strategy
|
||||
strategy: {}
|
||||
# rollingUpdate:
|
||||
# maxSurge: 25%
|
||||
# maxUnavailable: 25%
|
||||
# type: RollingUpdate
|
||||
image:
|
||||
# -- Image registry
|
||||
registry: ""
|
||||
# -- Image repository
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vminsert
|
||||
# -- Image tag
|
||||
# override Chart.AppVersion
|
||||
tag: v1.107.0-cluster
|
||||
# -- Variant of the image to use.
|
||||
# e.g. cluster, enterprise-cluster
|
||||
variant: cluster
|
||||
# -- Image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
# -- Specify pod lifecycle
|
||||
lifecycle: {}
|
||||
ports:
|
||||
# -- VMInsert http port name
|
||||
name: "http"
|
||||
# -- Name of Priority Class
|
||||
priorityClassName: ""
|
||||
# -- Overrides the full name of vminsert component
|
||||
fullnameOverride: vm-insert-datascience-a-prd-v0
|
||||
# -- Extra command line arguments for vminsert component
|
||||
extraArgs:
|
||||
envflag.enable: true
|
||||
envflag.prefix: VM_
|
||||
loggerFormat: json
|
||||
httpListenAddr: :8480
|
||||
maxLabelsPerTimeseries: 65
|
||||
replicationFactor: 1
|
||||
loggerTimezone: "Asia/Kolkata"
|
||||
storageNode:
|
||||
- "vm-storage-datascience-a-prd-v0-0.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8400"
|
||||
- "vm-storage-datascience-a-prd-v0-1.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8400"
|
||||
- "vm-storage-datascience-a-prd-v0-2.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8400"
|
||||
- "vm-storage-datascience-a-prd-v0-3.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8400"
|
||||
- "vm-storage-datascience-a-prd-v0-4.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8400"
|
||||
# -- StatefulSet/Deployment annotations
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8480"
|
||||
# -- StatefulSet/Deployment additional labels
|
||||
extraLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "vm-insert-datascience-a-prd-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vminsert"
|
||||
# -- Pod's additional labels
|
||||
podLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "vm-insert-datascience-a-prd-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vminsert"
|
||||
terminationGracePeriodSeconds: 30
|
||||
|
||||
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for details.
|
||||
env: []
|
||||
|
||||
# -- Specify alternative source for env variables
|
||||
envFrom: []
|
||||
#- configMapRef:
|
||||
# name: special-config
|
||||
|
||||
# -- Suppress rendering `--storageNode` FQDNs based on `vmstorage.replicaCount` value. If true suppress rendering `--storageNodes`, they can be re-defined in extraArgs
|
||||
suppressStorageFQDNsRender: false
|
||||
|
||||
# -- Readiness & Liveness probes
|
||||
probe:
|
||||
# -- VMInsert readiness probe
|
||||
readiness:
|
||||
httpGet: {}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# -- VMInsert liveness probe
|
||||
liveness:
|
||||
tcpSocket: {}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# -- VMInsert startup probe
|
||||
startup: {}
|
||||
|
||||
# -- Relabel configuration
|
||||
relabel:
|
||||
enabled: false
|
||||
config: []
|
||||
# -- Use existing configmap if specified
|
||||
# otherwise .config values will be used. Relabel config **should** reside under `relabel.yml` key
|
||||
configMap: ""
|
||||
|
||||
# Horizontal Pod Autoscaling
|
||||
horizontalPodAutoscaler:
|
||||
# -- Use HPA for vminsert component
|
||||
enabled: true
|
||||
# -- Maximum replicas for HPA to use to to scale the vminsert component
|
||||
maxReplicas: 30
|
||||
# -- Minimum replicas for HPA to use to scale the vminsert component
|
||||
minReplicas: 8
|
||||
# -- Metric for HPA to use to scale the vminsert component
|
||||
metrics:
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: 40
|
||||
# -- Behavior settings for scaling by the HPA
|
||||
behavior: {}
|
||||
|
||||
# -- Extra Volumes for the pod
|
||||
extraVolumes:
|
||||
[]
|
||||
# - name: example
|
||||
# configMap:
|
||||
# name: example
|
||||
|
||||
# -- Extra Volume Mounts for the container
|
||||
extraVolumeMounts:
|
||||
[]
|
||||
# - name: example
|
||||
# mountPath: /example
|
||||
|
||||
# -- Extra containers to run in a pod with vminsert
|
||||
extraContainers:
|
||||
[]
|
||||
# - name: config-reloader
|
||||
# image: reloader-image
|
||||
|
||||
# -- Init containers for vminsert
|
||||
initContainers:
|
||||
[]
|
||||
# - name: example
|
||||
# image: example-image
|
||||
|
||||
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 1
|
||||
labels: {}
|
||||
|
||||
# -- Array of tolerations object. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "vminsert-mds"
|
||||
effect: "NoSchedule"
|
||||
|
||||
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "vminsert-mds"
|
||||
# -- Pod affinity
|
||||
affinity: {}
|
||||
# -- Pod topologySpreadConstraints
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vminsert
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vminsert
|
||||
# -- Pod's annotations
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8480"
|
||||
# -- Count of vminsert pods
|
||||
replicaCount: 2
|
||||
# -- Container workdir
|
||||
containerWorkingDir: ""
|
||||
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
|
||||
resources:
|
||||
# limits:
|
||||
# cpu: 50m
|
||||
# memory: 64Mi
|
||||
requests:
|
||||
cpu: 8
|
||||
memory: 8Gi
|
||||
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
|
||||
securityContext:
|
||||
enabled: false
|
||||
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
|
||||
podSecurityContext:
|
||||
enabled: false
|
||||
service:
|
||||
# -- Create VMInsert service
|
||||
enabled: true
|
||||
# -- Service annotations
|
||||
annotations: {}
|
||||
# -- Service labels
|
||||
labels: {}
|
||||
# -- Service ClusterIP
|
||||
clusterIP: ""
|
||||
# -- Service external IPs. Details are [here]( https://kubernetes.io/docs/concepts/services-networking/service/#external-ips)
|
||||
externalIPs: []
|
||||
# -- Extra service ports
|
||||
extraPorts: []
|
||||
# -- Service load balancer IP
|
||||
loadBalancerIP: ""
|
||||
# -- Load balancer source range
|
||||
loadBalancerSourceRanges: []
|
||||
# -- Service port
|
||||
servicePort: 8480
|
||||
# -- Target port
|
||||
targetPort: http
|
||||
# -- Service type
|
||||
type: ClusterIP
|
||||
# -- Enable UDP port. used if you have `spec.opentsdbListenAddr` specified
|
||||
# Make sure that service is not type `LoadBalancer`, as it requires `MixedProtocolLBService` feature gate. Check [here](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) for details
|
||||
udp: false
|
||||
# -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
|
||||
healthCheckNodePort: ""
|
||||
# -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
|
||||
externalTrafficPolicy: ""
|
||||
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
|
||||
ipFamilyPolicy: ""
|
||||
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
|
||||
ipFamilies: []
|
||||
# -- Traffic Distribution. Check [Traffic distribution](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
|
||||
trafficDistribution: ""
|
||||
|
||||
ingress:
|
||||
# -- Enable deployment of ingress for vminsert component
|
||||
enabled: false
|
||||
|
||||
# -- Ingress annotations
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
||||
|
||||
# -- Ingress extra labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- Array of host objects
|
||||
hosts:
|
||||
- name: vm-insert-datascience-a-prd-v0.meeshogcp.in
|
||||
path: /
|
||||
port: http
|
||||
|
||||
# -- Array of TLS objects
|
||||
tls: []
|
||||
# - secretName: vminsert-ingress-tls
|
||||
# hosts:
|
||||
# - vminsert.local
|
||||
|
||||
# -- Ingress controller class name
|
||||
ingressClassName: nginx-internal
|
||||
|
||||
# -- Ingress path type
|
||||
pathType: Prefix
|
||||
|
||||
route:
|
||||
# -- Enable deployment of HTTPRoute for insert component
|
||||
enabled: false
|
||||
# -- HTTPRoute annotations
|
||||
annotations: {}
|
||||
# -- HTTPRoute extra labels
|
||||
labels: {}
|
||||
# -- HTTPGateway objects refs
|
||||
parentRefs: []
|
||||
# -- Array of hostnames
|
||||
hostnames: []
|
||||
# -- Extra rules to prepend to route. This is useful when working with annotation based services.
|
||||
extraRules: []
|
||||
# -- Filters for a default rule in HTTPRoute
|
||||
filters: []
|
||||
# -- Matches for a default rule in HTTPRoute
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: '{{ dig "extraArgs" "http.pathPrefix" "/insert" .Values.vminsert }}'
|
||||
|
||||
serviceMonitor:
|
||||
# -- Enable deployment of Service Monitor for vminsert component. This is Prometheus operator object
|
||||
enabled: false
|
||||
# -- Target namespace of ServiceMonitor manifest
|
||||
namespace: ""
|
||||
# -- Service Monitor labels
|
||||
extraLabels: {}
|
||||
# -- Service Monitor annotations
|
||||
annotations: {}
|
||||
# -- Basic auth params for Service Monitor
|
||||
basicAuth: {}
|
||||
# Commented. Prometheus scare interval for vminsert component
|
||||
# interval: 15s
|
||||
# Commented. Prometheus pre-scrape timeout for vminsert component
|
||||
# scrapeTimeout: 5s
|
||||
# -- Commented. HTTP scheme to use for scraping.
|
||||
# scheme: https
|
||||
# -- Commented. TLS configuration to use when scraping the endpoint
|
||||
# tlsConfig:
|
||||
# insecureSkipVerify: true
|
||||
# -- Service Monitor relabelings
|
||||
relabelings: []
|
||||
# -- Service Monitor metricRelabelings
|
||||
metricRelabelings: []
|
||||
|
||||
vmauth:
|
||||
# -- Enable deployment of vmauth component.
|
||||
enabled: false
|
||||
|
||||
vmstorage:
|
||||
# -- Enable deployment of vmstorage component. StatefulSet is used
|
||||
enabled: false
|
||||
|
||||
# -- Enterprise license key configuration for VictoriaMetrics enterprise.
|
||||
# Required only for VictoriaMetrics enterprise. Check docs [here](https://docs.victoriametrics.com/victoriametrics/enterprise/),
|
||||
# for more information, visit [site](https://victoriametrics.com/products/enterprise/).
|
||||
# Request a trial license [here](https://victoriametrics.com/products/enterprise/trial/)
|
||||
# Supported starting from VictoriaMetrics v1.94.0
|
||||
license:
|
||||
# -- License key
|
||||
key: ""
|
||||
|
||||
# -- Use existing secret with license key
|
||||
secret:
|
||||
# -- Existing secret name
|
||||
name: ""
|
||||
# -- Key in secret with license key
|
||||
key: ""
|
||||
+449
@@ -0,0 +1,449 @@
|
||||
# Default values for victoria-metrics.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
global:
|
||||
# -- Image pull secrets, that can be shared across multiple helm charts
|
||||
imagePullSecrets: []
|
||||
image:
|
||||
# -- Image registry, that can be shared across multiple helm charts
|
||||
registry: ""
|
||||
vm:
|
||||
# -- Image tag for all vm charts
|
||||
tag: ""
|
||||
# -- Openshift security context compatibility configuration
|
||||
compatibility:
|
||||
openshift:
|
||||
adaptSecurityContext: "auto"
|
||||
# -- k8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
|
||||
cluster:
|
||||
dnsDomain: cluster.local.
|
||||
|
||||
# -- Print information after deployment
|
||||
printNotes: true
|
||||
|
||||
# -- use SRV discovery for storageNode and selectNode flags for enterprise version
|
||||
autoDiscovery: false
|
||||
|
||||
common:
|
||||
# -- common for all components image configuration
|
||||
image:
|
||||
tag: ""
|
||||
|
||||
serviceAccount:
|
||||
# -- Specifies whether a service account should be created
|
||||
create: true
|
||||
|
||||
# -- The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name:
|
||||
|
||||
# -- Service account labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- Service account annotations
|
||||
annotations: {}
|
||||
|
||||
# -- mount API token to pod directly
|
||||
automountToken: true
|
||||
|
||||
# -- Override chart name
|
||||
nameOverride: ""
|
||||
|
||||
extraSecrets:
|
||||
[]
|
||||
# - name: secret-remote-storage-keys
|
||||
# annotations: []
|
||||
# labels: []
|
||||
# data: |
|
||||
# credentials: b64_encoded_str
|
||||
|
||||
# -- Add extra specs dynamically to this chart
|
||||
extraObjects: []
|
||||
|
||||
vmselect:
|
||||
# -- Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet
|
||||
enabled: true
|
||||
|
||||
splitService: true
|
||||
externalService:
|
||||
enabled: true
|
||||
name: vmselect-datascience-a-prd-proxy
|
||||
|
||||
# -- Enable clusternative service for LoadBalancer vmselect component
|
||||
clusternativeService:
|
||||
enabled: false
|
||||
|
||||
# -- Override default `app` label name
|
||||
name: ""
|
||||
image:
|
||||
# -- Image registry
|
||||
registry: ""
|
||||
# -- Image repository
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmselect
|
||||
# override Chart.AppVersion
|
||||
tag: v1.133.0-cluster
|
||||
# -- Image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
# -- Variant of the image to use.
|
||||
# e.g. cluster, enterprise-cluster
|
||||
variant: cluster
|
||||
# -- Specify pod lifecycle
|
||||
lifecycle: {}
|
||||
ports:
|
||||
# -- VMSelect http port name
|
||||
name: "http"
|
||||
# -- Name of Priority Class
|
||||
priorityClassName: ""
|
||||
# -- Overrides the full name of vmselect component
|
||||
fullnameOverride: vm-select-datascience-a-prd-v0
|
||||
# -- Suppress rendering `--storageNode` FQDNs based on `vmstorage.replicaCount` value. If true suppress rendering `--storageNodes`, they can be re-defined in extraArgs
|
||||
suppressStorageFQDNsRender: false
|
||||
# -- Pod's termination grace period in seconds
|
||||
terminationGracePeriodSeconds: 60
|
||||
# -- Extra command line arguments for vmselect component
|
||||
extraArgs:
|
||||
envflag.enable: true
|
||||
envflag.prefix: VM_
|
||||
loggerFormat: json
|
||||
httpListenAddr: :8481
|
||||
clusternativeListenAddr: ":8401"
|
||||
dedup.minScrapeInterval: 60s
|
||||
search.maxSamplesPerQuery: "1000000000000"
|
||||
search.maxQueryDuration: 300s
|
||||
search.maxQueueDuration: 60s
|
||||
search.maxSeries: "10000000000"
|
||||
search.maxExportSeries: "1000000000"
|
||||
search.maxUniqueTimeseries: "1000000000000"
|
||||
search.maxQueryLen: "1000000"
|
||||
loggerTimezone: "Asia/Kolkata"
|
||||
storageNode:
|
||||
- "vm-storage-datascience-a-prd-v0-0.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8401"
|
||||
- "vm-storage-datascience-a-prd-v0-1.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8401"
|
||||
- "vm-storage-datascience-a-prd-v0-2.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8401"
|
||||
- "vm-storage-datascience-a-prd-v0-3.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8401"
|
||||
- "vm-storage-datascience-a-prd-v0-4.vm-storage-datascience-a-prd-v0.victoriametrics.svc:8401"
|
||||
# -- StatefulSet/Deployment annotations
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8481"
|
||||
# -- StatefulSet/Deployment additional labels
|
||||
extraLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "vm-select-datascience-a-prd-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmselect"
|
||||
# -- Pod's additional labels
|
||||
podLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "vm-select-datascience-a-prd-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmselect"
|
||||
|
||||
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for details.
|
||||
env: []
|
||||
|
||||
# -- Specify alternative source for env variables
|
||||
envFrom: []
|
||||
#- configMapRef:
|
||||
# name: special-config
|
||||
|
||||
# -- Readiness & Liveness probes
|
||||
probe:
|
||||
# -- VMSelect readiness probe
|
||||
readiness:
|
||||
httpGet: {}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# -- VMSelect liveness probe
|
||||
liveness:
|
||||
tcpSocket: {}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
# -- VMSelect startup probe
|
||||
startup: {}
|
||||
|
||||
horizontalPodAutoscaler:
|
||||
# -- Use HPA for vmselect component
|
||||
enabled: true
|
||||
# -- Maximum replicas for HPA to use to to scale the vmselect component
|
||||
maxReplicas: 40
|
||||
# -- Minimum replicas for HPA to use to scale the vmselect component
|
||||
minReplicas: 15
|
||||
# -- Metric for HPA to use to scale the vmselect component
|
||||
metrics:
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: 40
|
||||
# -- Behavior settings for scaling by the HPA
|
||||
behavior: {}
|
||||
|
||||
# -- Additional hostPath mounts
|
||||
extraHostPathMounts:
|
||||
[]
|
||||
# - name: certs-dir
|
||||
# mountPath: /etc/kubernetes/certs
|
||||
# subPath: ""
|
||||
# hostPath: /etc/kubernetes/certs
|
||||
# readOnly: true
|
||||
|
||||
# -- Extra Volumes for the pod
|
||||
extraVolumes:
|
||||
[]
|
||||
# - name: example
|
||||
# configMap:
|
||||
# name: example
|
||||
|
||||
# -- Extra Volume Mounts for the container
|
||||
extraVolumeMounts:
|
||||
[]
|
||||
# - name: example
|
||||
# mountPath: /example
|
||||
|
||||
# -- Extra containers to run in a pod with vmselect
|
||||
extraContainers:
|
||||
[]
|
||||
# - name: config-reloader
|
||||
# image: reloader-image
|
||||
|
||||
# -- Init containers for vmselect
|
||||
initContainers:
|
||||
[]
|
||||
# - name: example
|
||||
# image: example-image
|
||||
|
||||
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
||||
podDisruptionBudget:
|
||||
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
||||
enabled: true
|
||||
minAvailable: 1
|
||||
# maxUnavailable: 1
|
||||
labels: {}
|
||||
|
||||
# -- Array of tolerations object. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "vmselect"
|
||||
effect: "NoSchedule"
|
||||
|
||||
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "vmselect"
|
||||
# -- Pod affinity
|
||||
affinity: {}
|
||||
# -- Pod topologySpreadConstraints
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmselect
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmselect
|
||||
# -- Pod's annotations
|
||||
podAnnotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "8481"
|
||||
# -- Count of vmselect pods
|
||||
replicaCount: 2
|
||||
# -- Container workdir
|
||||
containerWorkingDir: ""
|
||||
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
|
||||
resources:
|
||||
# limits:
|
||||
# cpu: 50m
|
||||
# memory: 64Mi
|
||||
requests:
|
||||
cpu: 18
|
||||
memory: 32Gi
|
||||
|
||||
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
|
||||
securityContext:
|
||||
enabled: false
|
||||
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
|
||||
podSecurityContext:
|
||||
enabled: false
|
||||
# -- Cache root folder
|
||||
cacheMountPath: /cache
|
||||
service:
|
||||
# -- Create VMSelect service
|
||||
enabled: true
|
||||
# -- Service annotations
|
||||
annotations: {}
|
||||
# -- Service labels
|
||||
labels: {}
|
||||
# -- Service ClusterIP
|
||||
clusterIP: ""
|
||||
# -- Service external IPs. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips)
|
||||
externalIPs: []
|
||||
# -- Extra service ports
|
||||
extraPorts: []
|
||||
# -- Service load balancer IP
|
||||
loadBalancerIP: ""
|
||||
# -- Load balancer source range
|
||||
loadBalancerSourceRanges: []
|
||||
# -- Service port
|
||||
servicePort: 8481
|
||||
# -- Target port
|
||||
targetPort: http
|
||||
# -- Service type
|
||||
type: ClusterIP
|
||||
# -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
|
||||
healthCheckNodePort: ""
|
||||
# -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
|
||||
externalTrafficPolicy: ""
|
||||
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
|
||||
ipFamilyPolicy: ""
|
||||
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
|
||||
ipFamilies: []
|
||||
# -- Traffic Distribution. Check [Traffic distribution](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
|
||||
trafficDistribution: ""
|
||||
ingress:
|
||||
# -- Enable deployment of ingress for vmselect component
|
||||
enabled: false
|
||||
|
||||
# -- Ingress annotations
|
||||
annotations: {}
|
||||
|
||||
# -- Ingress extra labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- Array of host objects
|
||||
hosts:
|
||||
- name: vm-select-datascience.prd.meesho.int
|
||||
path: /
|
||||
port: http
|
||||
|
||||
# -- Array of TLS objects
|
||||
tls: []
|
||||
# - secretName: vmselect-ingress-tls
|
||||
# hosts:
|
||||
# - vmselect.local
|
||||
|
||||
# -- Ingress controller class name
|
||||
ingressClassName: contour-internal-0
|
||||
|
||||
# -- Ingress path type
|
||||
pathType: Prefix
|
||||
|
||||
route:
|
||||
# -- Enable deployment of HTTPRoute for select component
|
||||
enabled: false
|
||||
# -- HTTPRoute annotations
|
||||
annotations: {}
|
||||
# -- HTTPRoute extra labels
|
||||
labels: {}
|
||||
# -- HTTPGateway objects refs
|
||||
parentRefs: []
|
||||
# -- Array of hostnames
|
||||
hostnames: []
|
||||
# -- Extra rules to prepend to route. This is useful when working with annotation based services.
|
||||
extraRules: []
|
||||
# -- Filters for a default rule in HTTPRoute
|
||||
filters: []
|
||||
# -- Matches for a default rule in HTTPRoute
|
||||
matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: '{{ dig "extraArgs" "http.pathPrefix" "/select" .Values.vmselect }}'
|
||||
|
||||
# -- vmselect mode: deployment, daemonSet
|
||||
mode: deployment
|
||||
|
||||
# -- [K8s Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) specific variables
|
||||
deployment:
|
||||
spec:
|
||||
# -- VMSelect strategy
|
||||
strategy: {}
|
||||
# rollingUpdate:
|
||||
# maxSurge: 25%
|
||||
# maxUnavailable: 25%
|
||||
# type: RollingUpdate
|
||||
|
||||
# -- [K8s StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) specific variables
|
||||
statefulSet:
|
||||
enabled: false
|
||||
spec:
|
||||
# -- Deploy order policy for StatefulSet pods
|
||||
podManagementPolicy: OrderedReady
|
||||
|
||||
# -- Empty dir configuration if persistence is disabled
|
||||
emptyDir: {}
|
||||
persistentVolume:
|
||||
# -- Create/use Persistent Volume Claim for vmselect component. Empty dir if false. If true, vmselect will create/use a Persistent Volume Claim
|
||||
enabled: false
|
||||
|
||||
# -- Override Persistent Volume Claim name
|
||||
name: ""
|
||||
|
||||
# -- Array of access mode. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
|
||||
# -- Persistent volume annotations
|
||||
annotations: {}
|
||||
|
||||
# -- Persistent volume extra labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- Existing Claim name. Requires vmselect.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound
|
||||
existingClaim: ""
|
||||
|
||||
# -- Size of the volume. Better to set the same as resource limit memory property
|
||||
size: 2Gi
|
||||
|
||||
# -- Mount subpath
|
||||
subPath: ""
|
||||
serviceMonitor:
|
||||
# -- Enable deployment of Service Monitor for vmselect component. This is Prometheus operator object
|
||||
enabled: false
|
||||
# -- Target namespace of ServiceMonitor manifest
|
||||
namespace: ""
|
||||
# -- Service Monitor labels
|
||||
extraLabels: {}
|
||||
# -- Service Monitor annotations
|
||||
annotations: {}
|
||||
# -- Basic auth params for Service Monitor
|
||||
basicAuth: {}
|
||||
# Commented. Prometheus scare interval for vmselect component
|
||||
# interval: 15s
|
||||
# Commented. Prometheus pre-scrape timeout for vmselect component
|
||||
# scrapeTimeout: 5s
|
||||
# -- Commented. HTTP scheme to use for scraping.
|
||||
# scheme: https
|
||||
# -- Commented. TLS configuration to use when scraping the endpoint
|
||||
# tlsConfig:
|
||||
# insecureSkipVerify: true
|
||||
# -- Service Monitor relabelings
|
||||
relabelings: []
|
||||
# -- Service Monitor metricRelabelings
|
||||
metricRelabelings: []
|
||||
|
||||
vminsert:
|
||||
# -- Enable deployment of vminsert component. Deployment is used
|
||||
enabled: false
|
||||
|
||||
vmauth:
|
||||
# -- Enable deployment of vmauth component.
|
||||
enabled: false
|
||||
|
||||
vmstorage:
|
||||
# -- Enable deployment of vmstorage component. StatefulSet is used
|
||||
enabled: false
|
||||
|
||||
+363
@@ -0,0 +1,363 @@
|
||||
# Default values for victoria-metrics.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
global:
|
||||
# -- Image pull secrets, that can be shared across multiple helm charts
|
||||
imagePullSecrets: []
|
||||
image:
|
||||
# -- Image registry, that can be shared across multiple helm charts
|
||||
registry: ""
|
||||
vm:
|
||||
# -- Image tag for all vm charts
|
||||
tag: ""
|
||||
# -- Openshift security context compatibility configuration
|
||||
compatibility:
|
||||
openshift:
|
||||
adaptSecurityContext: "auto"
|
||||
# -- k8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
|
||||
cluster:
|
||||
dnsDomain: cluster.local.
|
||||
|
||||
# -- Print information after deployment
|
||||
printNotes: true
|
||||
|
||||
# -- use SRV discovery for storageNode and selectNode flags for enterprise version
|
||||
autoDiscovery: false
|
||||
|
||||
common:
|
||||
# -- common for all components image configuration
|
||||
image:
|
||||
tag: ""
|
||||
|
||||
serviceAccount:
|
||||
# -- Specifies whether a service account should be created
|
||||
create: true
|
||||
|
||||
# -- The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name:
|
||||
|
||||
# -- Service account labels
|
||||
extraLabels: {}
|
||||
|
||||
# -- Service account annotations
|
||||
annotations: {}
|
||||
|
||||
# -- mount API token to pod directly
|
||||
automountToken: true
|
||||
|
||||
# -- Override chart name
|
||||
nameOverride: ""
|
||||
|
||||
extraSecrets:
|
||||
[]
|
||||
# - name: secret-remote-storage-keys
|
||||
# annotations: []
|
||||
# labels: []
|
||||
# data: |
|
||||
# credentials: b64_encoded_str
|
||||
|
||||
# -- Add extra specs dynamically to this chart
|
||||
extraObjects: []
|
||||
|
||||
vmselect:
|
||||
enabled: false
|
||||
|
||||
vminsert:
|
||||
enabled: false
|
||||
|
||||
vmauth:
|
||||
enabled: false
|
||||
|
||||
vmstorage:
|
||||
# -- Enable deployment of vmstorage component. StatefulSet is used
|
||||
enabled: true
|
||||
# -- Override default `app` label name
|
||||
name: vmstorage
|
||||
image:
|
||||
# -- Image registry
|
||||
registry: ""
|
||||
# -- Image repository
|
||||
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmstorage
|
||||
# -- Image tag
|
||||
tag: v1.133.0-cluster
|
||||
# -- Variant of the image to use. e.g. cluster, enterprise-cluster
|
||||
variant: cluster
|
||||
# -- Image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
# -- Specify pod lifecycle
|
||||
lifecycle: {}
|
||||
ports:
|
||||
# -- VMStorage http port name
|
||||
name: "http"
|
||||
# -- Name of Priority Class
|
||||
priorityClassName: ""
|
||||
# -- Overrides the full name of vmstorage component
|
||||
fullnameOverride: vm-storage-datascience-a-prd-v0
|
||||
|
||||
# -- Additional environment variables (ex.: secret tokens, flags). Check https://docs.victoriametrics.com/victoriametrics/#environment-variables for details
|
||||
env: []
|
||||
# -- Specify alternative source for env variables
|
||||
envFrom: []
|
||||
# -- Data retention period. Possible units character: h(ours), d(ays), w(eeks), y(ears), if no unit character specified - month. The minimum retention period is 24h.
|
||||
retentionPeriod: 90d
|
||||
# Additional vmstorage container arguments. Extra command line arguments for vmstorage component
|
||||
extraArgs:
|
||||
envflag.enable: true
|
||||
envflag.prefix: VM_
|
||||
loggerFormat: json
|
||||
search.maxUniqueTimeseries: "30000000"
|
||||
httpListenAddr: :8482
|
||||
loggerTimezone: "Asia/Kolkata"
|
||||
dedup.minScrapeInterval: 60s
|
||||
|
||||
# Additional hostPath mounts
|
||||
extraHostPathMounts:
|
||||
[]
|
||||
# - name: certs-dir
|
||||
# mountPath: /etc/kubernetes/certs
|
||||
# subPath: ""
|
||||
# hostPath: /etc/kubernetes/certs
|
||||
# readOnly: true
|
||||
|
||||
# Extra Volumes for the pod
|
||||
extraVolumes:
|
||||
[]
|
||||
# - name: example
|
||||
# configMap:
|
||||
# name: example
|
||||
|
||||
# Extra Volume Mounts for the container
|
||||
extraVolumeMounts:
|
||||
[]
|
||||
# - name: example
|
||||
# mountPath: /example
|
||||
|
||||
extraContainers:
|
||||
[]
|
||||
# - name: config-reloader
|
||||
# image: reloader-image
|
||||
|
||||
extraSecretMounts:
|
||||
[]
|
||||
# - name: secret
|
||||
# mountPath: /etc/credentials
|
||||
# subPath: ""
|
||||
# readOnly: true
|
||||
|
||||
initContainers:
|
||||
[]
|
||||
# - name: vmrestore
|
||||
# image: victoriametrics/vmrestore:latest
|
||||
# volumeMounts:
|
||||
# - mountPath: /storage
|
||||
# name: vmstorage-volume
|
||||
# - mountPath: /etc/vm/creds
|
||||
# name: secret-remote-storage-keys
|
||||
# readOnly: true
|
||||
# args:
|
||||
# - -storageDataPath=/storage
|
||||
# - -src=s3://your_bucket/folder/latest
|
||||
# - -credsFilePath=/etc/vm/creds/credentials
|
||||
|
||||
# -- See `kubectl explain poddisruptionbudget.spec` for more. Ref: [https://kubernetes.io/docs/tasks/run-application/configure-pdb/](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
|
||||
podDisruptionBudget:
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 1
|
||||
labels: {}
|
||||
|
||||
# -- Array of tolerations object. Node tolerations for server scheduling to nodes with taints. Ref: [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
|
||||
##
|
||||
tolerations:
|
||||
- key: "cloud.google.com/compute-class"
|
||||
operator: "Equal"
|
||||
value: "vvmstorage-n4"
|
||||
effect: "NoSchedule"
|
||||
|
||||
# -- Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/)
|
||||
nodeSelector:
|
||||
cloud.google.com/compute-class: "vmstorage-n4"
|
||||
|
||||
# -- Pod affinity
|
||||
affinity: {}
|
||||
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: topology.kubernetes.io/zone
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmstorage
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
type: vmstorage
|
||||
|
||||
# -- Use an alternate scheduler, e.g. "stork". Check https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ for details
|
||||
# schedulerName:
|
||||
|
||||
# -- Empty dir configuration if persistence is disabled
|
||||
emptyDir: {}
|
||||
persistentVolume:
|
||||
# -- Create/use Persistent Volume Claim for vmstorage component. Empty dir if false. If true, vmstorage will create/use a Persistent Volume Claim
|
||||
enabled: true
|
||||
|
||||
# -- Override Persistent Volume Claim name
|
||||
name: vmstack-storage-volume
|
||||
|
||||
# -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are https://kubernetes.io/docs/concepts/storage/persistent-volumes/
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
# -- Persistent volume annotations
|
||||
annotations: {}
|
||||
# -- Persistent volume extra labels
|
||||
extraLabels: {}
|
||||
# -- Storage class name. Will be empty if not set
|
||||
storageClassName: hyperdisk-balanced
|
||||
# -- Existing Claim name. Requires vmstorage.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound
|
||||
existingClaim: ""
|
||||
|
||||
# -- Data root path. Vmstorage data Persistent Volume mount root path
|
||||
mountPath: /storage
|
||||
# -- Size of the volume
|
||||
size: 7400Gi
|
||||
# -- Mount subpath
|
||||
subPath: ""
|
||||
|
||||
# -- Pod's annotations
|
||||
podAnnotations:
|
||||
prometheus.io/port: "8482"
|
||||
prometheus.io/scrape: "true"
|
||||
# -- StatefulSet/Deployment annotations
|
||||
annotations:
|
||||
prometheus.io/port: "8482"
|
||||
prometheus.io/scrape: "true"
|
||||
# -- StatefulSet/Deployment additional labels
|
||||
extraLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "vm-storage-datascience-a-prd-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmstorage"
|
||||
# arch: "arm64"
|
||||
# runpod: "ondemand"
|
||||
# -- Pod's additional labels
|
||||
podLabels:
|
||||
bu: "datascience"
|
||||
team: "datascience-sre"
|
||||
service: "vm-storage-datascience-a-prd-v0"
|
||||
env: "prd"
|
||||
priority: "p0"
|
||||
type: "vmstorage"
|
||||
|
||||
# -- Count of vmstorage pods
|
||||
replicaCount: 5
|
||||
# -- Container workdir
|
||||
containerWorkingDir: ""
|
||||
# -- Deploy order policy for StatefulSet pods
|
||||
podManagementPolicy: OrderedReady
|
||||
|
||||
# -- Resource object. Details are https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
||||
resources:
|
||||
# limits:
|
||||
# cpu: 500m
|
||||
# memory: 512Mi
|
||||
requests:
|
||||
cpu: 58
|
||||
memory: 475Gi
|
||||
|
||||
# -- Pod's security context. Details are https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
securityContext:
|
||||
enabled: false
|
||||
# -- Pod's security context. Details are https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
podSecurityContext:
|
||||
enabled: false
|
||||
service:
|
||||
enabled: true
|
||||
# -- Service annotations
|
||||
annotations: {}
|
||||
# -- Service ClusterIP
|
||||
clusterIP: None
|
||||
# -- Service type
|
||||
type: ClusterIP
|
||||
# -- Service labels
|
||||
labels: {}
|
||||
# -- Service port
|
||||
servicePort: 8482
|
||||
# -- Port for accepting connections from vminsert
|
||||
vminsertPort: 8400
|
||||
# -- Port for accepting connections from vmselect
|
||||
vmselectPort: 8401
|
||||
# -- Extra service ports
|
||||
extraPorts: []
|
||||
# -- Health check node port for a service. Check https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip for details
|
||||
healthCheckNodePort: ""
|
||||
# -- Service external traffic policy. Check https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip for details
|
||||
externalTrafficPolicy: ""
|
||||
# -- Service IP family policy. Check https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services for details
|
||||
ipFamilyPolicy: ""
|
||||
# -- List of service IP families. Check https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services for details
|
||||
ipFamilies: []
|
||||
# -- Traffic Distribution. Check https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution
|
||||
trafficDistribution: ""
|
||||
# -- Pod's termination grace period in seconds
|
||||
terminationGracePeriodSeconds: 60
|
||||
minReadySeconds: 5
|
||||
# -- Readiness probes
|
||||
probe:
|
||||
# -- VMStorage readiness probe
|
||||
readiness:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: http
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
liveness:
|
||||
tcpSocket:
|
||||
port: http
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 10
|
||||
# -- VMStorage startup probe
|
||||
startup: {}
|
||||
|
||||
horizontalPodAutoscaler:
|
||||
# -- Use HPA for vmstorage component
|
||||
enabled: false
|
||||
# -- Maximum replicas for HPA to use to to scale the vmstorage component
|
||||
maxReplicas: 10
|
||||
# -- Minimum replicas for HPA to use to scale the vmstorage component
|
||||
minReplicas: 2
|
||||
# -- Metric for HPA to use to scale the vmstorage component
|
||||
metrics: []
|
||||
# -- Behavior settings for scaling by the HPA
|
||||
behavior:
|
||||
scaleDown:
|
||||
selectPolicy: Disabled
|
||||
|
||||
vmbackupmanager:
|
||||
# -- Enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages
|
||||
enabled: false
|
||||
|
||||
# -- Enterprise license key configuration for VictoriaMetrics enterprise.
|
||||
# Required only for VictoriaMetrics enterprise. Check docs [here](https://docs.victoriametrics.com/victoriametrics/enterprise/),
|
||||
# for more information, visit [site](https://victoriametrics.com/products/enterprise/).
|
||||
# Request a trial license [here](https://victoriametrics.com/products/enterprise/trial/)
|
||||
# Supported starting from VictoriaMetrics v1.94.0
|
||||
license:
|
||||
# -- License key
|
||||
key: ""
|
||||
|
||||
# -- Use existing secret with license key
|
||||
secret:
|
||||
# -- Existing secret name
|
||||
name: ""
|
||||
# -- Key in secret with license key
|
||||
key: ""
|
||||
Reference in New Issue
Block a user