708 lines
25 KiB
YAML
708 lines
25 KiB
YAML
image:
|
|
# -- Image registry to pull our product images
|
|
registry: docker.io
|
|
# -- Image registry's namespace
|
|
repo: openebs
|
|
# -- Release tag for our images
|
|
tag: v2.4.0
|
|
repoTags:
|
|
# Note: Below image tag configuration is optional and typically should never be
|
|
# used. Setting specific image tags for the different repositories proves useful
|
|
# for some integration testing scenarios. Use the 'tag' option above to set
|
|
# release/pre-release container image tags.
|
|
# The below tag values will be picked for images by default.
|
|
# If not specified, 'tag' option provided above will be picked.
|
|
controlPlane: ""
|
|
dataPlane: ""
|
|
extensions: ""
|
|
# -- ImagePullPolicy for our images
|
|
pullPolicy: IfNotPresent
|
|
|
|
# -- Node labels for pod assignment
|
|
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
|
# Note that if multi-arch images support 'kubernetes.io/arch: amd64'
|
|
# should be removed and set 'nodeSelector' to empty '{}' as default value.
|
|
nodeSelector:
|
|
kubernetes.io/arch: amd64
|
|
|
|
# -- Pod scheduling priority.
|
|
# Setting this value will apply to all components except the external Chart dependencies.
|
|
# If any component has `priorityClassName` set, then this value would be overridden for that component.
|
|
# For external components like etcd, jaeger or loki-stack, PriorityClass can only be set at component level.
|
|
priorityClassName: ""
|
|
|
|
earlyEvictionTolerations:
|
|
- effect: NoExecute
|
|
key: node.kubernetes.io/unreachable
|
|
operator: Exists
|
|
tolerationSeconds: 5
|
|
- effect: NoExecute
|
|
key: node.kubernetes.io/not-ready
|
|
operator: Exists
|
|
tolerationSeconds: 5
|
|
|
|
# -- Tolerations to be applied to all components except external Chart dependencies.
|
|
# If any component has tolerations set, then it would override this value.
|
|
# For external components like etcd, jaeger and loki-stack, tolerations can only be set at component level.
|
|
tolerations: []
|
|
|
|
base:
|
|
# -- Request timeout for rest & core agents
|
|
default_req_timeout: 5s
|
|
# -- Cache timeout for core agent & diskpool deployment
|
|
cache_poll_period: 30s
|
|
# -- Silence specific module components
|
|
logSilenceLevel:
|
|
initContainers:
|
|
enabled: true
|
|
containers:
|
|
- name: agent-core-grpc-probe
|
|
image: busybox:latest
|
|
command: ['sh', '-c', 'trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-agent-core 50051; do date; echo "Waiting for agent-core-grpc services..."; sleep 1; done;']
|
|
- name: etcd-probe
|
|
image: busybox:latest
|
|
command: ['sh', '-c', 'trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-etcd {{.Values.etcd.service.port}}; do date; echo "Waiting for etcd..."; sleep 1; done;']
|
|
initHaNodeContainers:
|
|
enabled: true
|
|
containers:
|
|
- name: agent-cluster-grpc-probe
|
|
image: busybox:latest
|
|
command: ['sh', '-c', 'trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-agent-core 50052; do date; echo "Waiting for agent-cluster-grpc services..."; sleep 1; done;']
|
|
initCoreContainers:
|
|
enabled: true
|
|
containers:
|
|
- name: etcd-probe
|
|
image: busybox:latest
|
|
command: ['sh', '-c', 'trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-etcd {{.Values.etcd.service.port}}; do date; echo "Waiting for etcd..."; sleep 1; done;']
|
|
# docker-secrets required to pull images if the container registry from image.Registry is protected
|
|
imagePullSecrets:
|
|
# -- Enable imagePullSecrets for pulling our container images
|
|
enabled: false
|
|
# Name of the imagePullSecret in the installed namespace
|
|
secrets:
|
|
- name: login
|
|
|
|
metrics:
|
|
# -- Enable the metrics exporter
|
|
enabled: true
|
|
# metrics refresh time
|
|
# WARNING: Lowering pollingInterval value will affect performance adversely
|
|
pollingInterval: "5m"
|
|
|
|
jaeger:
|
|
# -- Enable jaeger tracing
|
|
enabled: false
|
|
initContainer: true
|
|
agent:
|
|
name: jaeger-agent
|
|
port: 6831
|
|
initContainer:
|
|
- name: jaeger-probe
|
|
image: busybox:latest
|
|
command: ['sh', '-c', 'trap "exit 1" TERM; until nc -vzw 5 -u {{.Values.base.jaeger.agent.name}} {{.Values.base.jaeger.agent.port}}; do date; echo "Waiting for jaeger..."; sleep 1; done;']
|
|
initRestContainer:
|
|
enabled: true
|
|
initContainer:
|
|
- name: api-rest-probe
|
|
image: busybox:latest
|
|
command: ['sh', '-c', 'trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-api-rest 8081; do date; echo "Waiting for REST API endpoint to become available"; sleep 1; done;']
|
|
|
|
operators:
|
|
pool:
|
|
# -- Log level for diskpool operator service
|
|
logLevel: info
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for diskpool operator
|
|
cpu: "100m"
|
|
# -- Memory limits for diskpool operator
|
|
memory: "32Mi"
|
|
requests:
|
|
# -- Cpu requests for diskpool operator
|
|
cpu: "50m"
|
|
# -- Memory requests for diskpool operator
|
|
memory: "16Mi"
|
|
# -- Set tolerations, overrides global
|
|
tolerations: []
|
|
# -- Set PriorityClass, overrides global
|
|
priorityClassName: ""
|
|
|
|
jaeger-operator:
|
|
# Name of jaeger operator
|
|
name: "{{ .Release.Name }}"
|
|
crd:
|
|
# Install jaeger CRDs
|
|
install: false
|
|
jaeger:
|
|
# Install jaeger-operator
|
|
create: false
|
|
rbac:
|
|
# Create a clusterRole for Jaeger
|
|
clusterRole: true
|
|
tolerations: []
|
|
priorityClassName: ""
|
|
|
|
agents:
|
|
core:
|
|
# -- Log level for the core service
|
|
logLevel: info
|
|
capacity:
|
|
thin:
|
|
# -- The allowed pool commitment limit when dealing with thin provisioned volumes.
|
|
# Example: If the commitment is 250 and the pool is 10GiB we can overcommit the pool
|
|
# up to 25GiB (create 2 10GiB and 1 5GiB volume) but no further.
|
|
poolCommitment: "250%"
|
|
# -- When creating replicas for an existing volume, each replica pool must have at least
|
|
# this much free space percentage of the volume size.
|
|
# Example: if this value is 40, the pool has 40GiB free, then the max volume size allowed
|
|
# to be created on the pool is 100GiB.
|
|
volumeCommitment: "40%"
|
|
# -- Same as the `volumeCommitment` argument, but applicable only when creating replicas
|
|
# for a new volume.
|
|
volumeCommitmentInitial: "40%"
|
|
# -- When creating snapshots for an existing volume, each replica pool must have at least
|
|
# this much free space percentage of the volume size.
|
|
# Example: if this value is 40, the pool has 40GiB free, then the max volume size allowed
|
|
# to be snapped on the pool is 100GiB.
|
|
snapshotCommitment: "40%"
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for core agents
|
|
cpu: "1000m"
|
|
# -- Memory limits for core agents
|
|
memory: "128Mi"
|
|
requests:
|
|
# -- Cpu requests for core agents
|
|
cpu: "500m"
|
|
# -- Memory requests for core agents
|
|
memory: "32Mi"
|
|
# -- If a faulted replica comes back online within this time period then it will be
|
|
# rebuilt using the partial rebuild capability (using a log of missed IO), hence a bit
|
|
# faster depending on the log size. Otherwise, the replica will be fully rebuilt.
|
|
# A blank value "" means internally derived value will be used.
|
|
partialRebuildWaitPeriod: ""
|
|
# -- Set tolerations, overrides global
|
|
tolerations: []
|
|
# -- Set PriorityClass, overrides global.
|
|
# If both local and global are not set, the final deployment manifest has a mayastor custom critical priority class assigned to the pod by default.
|
|
# Refer the `templates/_helpers.tpl` and `templates/mayastor/agents/core/agent-core-deployment.yaml` for more details.
|
|
priorityClassName: ""
|
|
ha:
|
|
enabled: true
|
|
node:
|
|
# -- Log level for the ha node service
|
|
logLevel: info
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for ha node agent
|
|
cpu: "100m"
|
|
# -- Memory limits for ha node agent
|
|
memory: "64Mi"
|
|
requests:
|
|
# -- Cpu requests for ha node agent
|
|
cpu: "100m"
|
|
# -- Memory requests for ha node agent
|
|
memory: "64Mi"
|
|
# -- Set tolerations, overrides global
|
|
tolerations: []
|
|
# -- Set PriorityClass, overrides global
|
|
priorityClassName: ""
|
|
cluster:
|
|
# -- Log level for the ha cluster service
|
|
logLevel: info
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for ha cluster agent
|
|
cpu: "100m"
|
|
# -- Memory limits for ha cluster agent
|
|
memory: "64Mi"
|
|
requests:
|
|
# -- Cpu requests for ha cluster agent
|
|
cpu: "100m"
|
|
# -- Memory requests for ha cluster agent
|
|
memory: "16Mi"
|
|
|
|
apis:
|
|
rest:
|
|
# -- Log level for the rest service
|
|
logLevel: info
|
|
# -- Number of replicas of rest
|
|
replicaCount: 1
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for rest
|
|
cpu: "100m"
|
|
# -- Memory limits for rest
|
|
memory: "64Mi"
|
|
requests:
|
|
# -- Cpu requests for rest
|
|
cpu: "50m"
|
|
# -- Memory requests for rest
|
|
memory: "32Mi"
|
|
# Rest service parameters define how the rest service is exposed
|
|
service:
|
|
# -- Rest K8s service type
|
|
type: ClusterIP
|
|
# Ports from where rest endpoints are accessible from outside the cluster, only valid if type is NodePort
|
|
nodePorts:
|
|
# NodePort associated with http port
|
|
http: 30011
|
|
# NodePort associated with https port
|
|
https: 30010
|
|
# -- Set tolerations, overrides global
|
|
tolerations: []
|
|
# -- Set PriorityClass, overrides global.
|
|
# If both local and global are not set, the final deployment manifest has a mayastor custom critical priority class assigned to the pod by default.
|
|
# Refer the `templates/_helpers.tpl` and `templates/mayastor/apis/rest/api-rest-deployment.yaml` for more details.
|
|
priorityClassName: ""
|
|
|
|
csi:
|
|
image:
|
|
# -- Image registry to pull all CSI Sidecar images
|
|
registry: registry.k8s.io
|
|
# -- Image registry's namespace
|
|
repo: sig-storage
|
|
# -- imagePullPolicy for all CSI Sidecar images
|
|
pullPolicy: IfNotPresent
|
|
# -- csi-provisioner image release tag
|
|
provisionerTag: v3.5.0
|
|
# -- csi-attacher image release tag
|
|
attacherTag: v4.3.0
|
|
# -- csi-snapshotter image release tag
|
|
snapshotterTag: v6.2.1
|
|
# -- csi-snapshot-controller image release tag
|
|
snapshotControllerTag: v6.2.1
|
|
# -- csi-node-driver-registrar image release tag
|
|
registrarTag: v2.8.0
|
|
|
|
controller:
|
|
# -- Log level for the csi controller
|
|
logLevel: info
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for csi controller
|
|
cpu: "32m"
|
|
# -- Memory limits for csi controller
|
|
memory: "128Mi"
|
|
requests:
|
|
# -- Cpu requests for csi controller
|
|
cpu: "16m"
|
|
# -- Memory requests for csi controller
|
|
memory: "64Mi"
|
|
# -- Set tolerations, overrides global
|
|
tolerations: []
|
|
# -- Set PriorityClass, overrides global
|
|
priorityClassName: ""
|
|
node:
|
|
logLevel: info
|
|
topology:
|
|
segments:
|
|
openebs.io/csi-node: mayastor
|
|
# -- Add topology segments to the csi-node daemonset node selector
|
|
nodeSelector: false
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for csi node plugin
|
|
cpu: "100m"
|
|
# -- Memory limits for csi node plugin
|
|
memory: "128Mi"
|
|
requests:
|
|
# -- Cpu requests for csi node plugin
|
|
cpu: "100m"
|
|
# -- Memory requests for csi node plugin
|
|
memory: "64Mi"
|
|
nvme:
|
|
# -- The nvme_core module io timeout in seconds
|
|
io_timeout: "30"
|
|
# -- The ctrl_loss_tmo (controller loss timeout) in seconds
|
|
ctrl_loss_tmo: "1980"
|
|
# Kato (keep alive timeout) in seconds
|
|
keep_alive_tmo: ""
|
|
# -- The kubeletDir directory for the csi-node plugin
|
|
kubeletDir: /var/lib/kubelet
|
|
pluginMounthPath: /csi
|
|
socketPath: csi.sock
|
|
# -- Set tolerations, overrides global
|
|
tolerations: []
|
|
# -- Set PriorityClass, overrides global
|
|
priorityClassName: ""
|
|
|
|
io_engine:
|
|
# -- Log level for the io-engine service
|
|
logLevel: info
|
|
api: "v1"
|
|
target:
|
|
nvmf:
|
|
# -- NVMF target interface (ip, mac, name or subnet)
|
|
iface: ""
|
|
# -- Reservations Persist Through Power Loss State
|
|
ptpl: true
|
|
# NVMF target Command Retry Delay for volume target initiators
|
|
hostCmdRetryDelay:
|
|
# A command retry delay in seconds. A value of 0 means no delay, host may retry immediately
|
|
crdt1: 30
|
|
|
|
# -- Pass additional arguments to the Environment Abstraction Layer.
|
|
# Example: --set {product}.envcontext=iova-mode=pa
|
|
envcontext: ""
|
|
reactorFreezeDetection:
|
|
enabled: false
|
|
# -- The number of cores that each io-engine instance will bind to.
|
|
cpuCount: "2"
|
|
# -- If not empty, overrides the cpuCount and explicitly sets the list of cores.
|
|
# Example: --set='io_engine.coreList={30,31}'
|
|
coreList: []
|
|
# -- Node selectors to designate storage nodes for diskpool creation
|
|
# Note that if multi-arch images support 'kubernetes.io/arch: amd64'
|
|
# should be removed.
|
|
nodeSelector:
|
|
openebs.io/engine: mayastor
|
|
kubernetes.io/arch: amd64
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for the io-engine
|
|
cpu: ""
|
|
# -- Memory limits for the io-engine
|
|
memory: "1Gi"
|
|
# -- Hugepage size available on the nodes
|
|
hugepages2Mi: "2Gi"
|
|
requests:
|
|
# -- Cpu requests for the io-engine
|
|
cpu: ""
|
|
# -- Memory requests for the io-engine
|
|
memory: "1Gi"
|
|
# -- Hugepage size available on the nodes
|
|
hugepages2Mi: "2Gi"
|
|
# -- Set tolerations, overrides global
|
|
tolerations: []
|
|
# -- Set PriorityClass, overrides global
|
|
priorityClassName: ""
|
|
|
|
etcd:
|
|
# Configuration for etcd's localpv hostpath storage class.
|
|
localpvScConfig:
|
|
# Name of etcd's localpv hostpath storage class.
|
|
name: "mayastor-etcd-localpv"
|
|
# -- Host path where local etcd data is stored in.
|
|
basePath: "/var/local/localpv-hostpath/{{ .Release.Name }}/etcd"
|
|
# -- ReclaimPolicy of etcd's localpv hostpath storage class.
|
|
reclaimPolicy: Delete
|
|
# -- VolumeBindingMode of etcd's localpv hostpath storage class.
|
|
volumeBindingMode: WaitForFirstConsumer
|
|
# Pod labels; okay to remove the openebs logging label if required
|
|
podLabels:
|
|
app: etcd
|
|
openebs.io/logging: "true"
|
|
# -- Number of replicas of etcd
|
|
replicaCount: 3
|
|
# Kubernetes Cluster Domain
|
|
clusterDomain: cluster.local
|
|
# TLS authentication for client-to-server communications
|
|
# ref: https://etcd.io/docs/current/op-guide/security/
|
|
client:
|
|
secureTransport: false
|
|
# TLS authentication for server-to-server communications
|
|
# ref: https://etcd.io/docs/current/op-guide/security/
|
|
peer:
|
|
secureTransport: false
|
|
# Enable persistence using Persistent Volume Claims
|
|
persistence:
|
|
# -- If true, use a Persistent Volume Claim. If false, use emptyDir.
|
|
enabled: true
|
|
# -- Will define which storageClass to use in etcd's StatefulSets. Options:
|
|
# <p> - `"manual"` - Will provision a hostpath PV on the same node. <br>
|
|
# - `""` (empty) - Will use the default StorageClass on the cluster. </p>
|
|
storageClass: "mayastor-etcd-localpv"
|
|
# -- Volume size
|
|
size: 2Gi
|
|
# -- PVC's reclaimPolicy
|
|
reclaimPolicy: "Delete"
|
|
# -- Use a PreStop hook to remove the etcd members from the etcd cluster on container termination
|
|
# Ignored if lifecycleHooks is set or replicaCount=1
|
|
removeMemberOnContainerTermination: false
|
|
|
|
# -- AutoCompaction
|
|
# Since etcd keeps an exact history of its keyspace, this history should be
|
|
# periodically compacted to avoid performance degradation
|
|
# and eventual storage space exhaustion.
|
|
# Auto compaction mode. Valid values: "periodic", "revision".
|
|
# - 'periodic' for duration based retention, defaulting to hours if no time unit is provided (e.g. 5m).
|
|
# - 'revision' for revision number based retention.
|
|
autoCompactionMode: revision
|
|
# -- Auto compaction retention length. 0 means disable auto compaction.
|
|
autoCompactionRetention: 100
|
|
extraEnvVars:
|
|
# -- Raise alarms when backend size exceeds the given quota.
|
|
- name: ETCD_QUOTA_BACKEND_BYTES
|
|
value: "8589934592"
|
|
|
|
auth:
|
|
rbac:
|
|
create: false
|
|
enabled: false
|
|
allowNoneAuthentication: true
|
|
# Init containers parameters:
|
|
# volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
|
|
#
|
|
volumePermissions:
|
|
# chown the mounted volume; this is required if a statically provisioned hostpath volume is used
|
|
enabled: true
|
|
# extra debug information on logs
|
|
debug: false
|
|
initialClusterState: "new"
|
|
|
|
# -- Pod anti-affinity preset
|
|
# Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
|
podAntiAffinityPreset: "hard"
|
|
## -- nodeSelector [object] Node labels for pod assignment
|
|
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
nodeSelector: {}
|
|
|
|
# etcd service parameters defines how the etcd service is exposed
|
|
service:
|
|
# K8s service type
|
|
type: ClusterIP
|
|
|
|
# etcd client port
|
|
port: 2379
|
|
|
|
# Specify the nodePort(s) value(s) for the LoadBalancer and NodePort service types.
|
|
# ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
|
#
|
|
nodePorts:
|
|
# Port from where etcd endpoints are accessible from outside cluster
|
|
clientPort: 31379
|
|
peerPort: ""
|
|
tolerations: []
|
|
priorityClassName: ""
|
|
|
|
loki-stack:
|
|
# -- Enable loki log collection for our components
|
|
enabled: true
|
|
# Configuration for loki's localpv hostpath storage class.
|
|
localpvScConfig:
|
|
# Name of loki's localpv hostpath storage class.
|
|
name: "mayastor-loki-localpv"
|
|
# -- Host path where local etcd data is stored in.
|
|
basePath: "/var/local/localpv-hostpath/{{ .Release.Name }}/loki"
|
|
# -- ReclaimPolicy of loki's localpv hostpath storage class.
|
|
reclaimPolicy: Delete
|
|
# -- VolumeBindingMode of loki's localpv hostpath storage class.
|
|
volumeBindingMode: WaitForFirstConsumer
|
|
loki:
|
|
rbac:
|
|
# -- Create rbac roles for loki
|
|
create: true
|
|
pspEnabled: false
|
|
# -- Enable loki installation as part of loki-stack
|
|
enabled: true
|
|
# Install loki with persistence storage
|
|
persistence:
|
|
# -- Enable persistence storage for the logs
|
|
enabled: true
|
|
# -- StorageClass for Loki's centralised log storage. Options:
|
|
# <p> - `"manual"` - Will provision a hostpath PV on the same node. <br>
|
|
# - `""` (empty) - Will use the default StorageClass on the cluster. </p>
|
|
storageClassName: "mayastor-loki-localpv"
|
|
# -- PVC's ReclaimPolicy, can be Delete or Retain
|
|
reclaimPolicy: "Delete"
|
|
# -- Size of Loki's persistence storage
|
|
size: 10Gi
|
|
# loki process run & file permissions, required if sc=manual
|
|
securityContext:
|
|
fsGroup: 1001
|
|
runAsGroup: 1001
|
|
runAsNonRoot: false
|
|
runAsUser: 1001
|
|
# initContainers to chown the static hostpath PV by 1001 user
|
|
initContainers:
|
|
- command: ["/bin/bash", "-ec", "chown -R 1001:1001 /data"]
|
|
image: docker.io/bitnami/bitnami-shell:10
|
|
imagePullPolicy: IfNotPresent
|
|
name: volume-permissions
|
|
securityContext:
|
|
runAsUser: 0
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: File
|
|
volumeMounts:
|
|
- mountPath: /data
|
|
name: storage
|
|
config:
|
|
# Compactor is a BoltDB(loki term) Shipper specific service that reduces the index
|
|
# size by deduping the index and merging all the files to a single file per table.
|
|
# Ref: https://grafana.com/docs/loki/latest/operations/storage/retention/
|
|
compactor:
|
|
# Dictates how often compaction and/or retention is applied. If the
|
|
# Compactor falls behind, compaction and/or retention occur as soon as possible.
|
|
compaction_interval: 20m
|
|
|
|
# If not enabled compactor will only compact table but they will not get
|
|
# deleted
|
|
retention_enabled: true
|
|
|
|
# The delay after which the compactor will delete marked chunks
|
|
retention_delete_delay: 1h
|
|
|
|
# Specifies the maximum quantity of goroutine workers instantiated to
|
|
# delete chunks
|
|
retention_delete_worker_count: 50
|
|
|
|
# Rentention period of logs is configured within the limits_config section
|
|
limits_config:
|
|
# configuring retention period for logs
|
|
retention_period: 168h
|
|
|
|
# Loki service parameters defines how the Loki service is exposed
|
|
service:
|
|
# K8s service type
|
|
type: ClusterIP
|
|
port: 3100
|
|
# Port where REST endpoints of Loki are accessible from outside cluster
|
|
nodePort: 31001
|
|
tolerations: []
|
|
priorityClassName: ""
|
|
|
|
# promtail configuration
|
|
promtail:
|
|
rbac:
|
|
# create rbac roles for promtail
|
|
create: true
|
|
pspEnabled: false
|
|
# -- Enables promtail for scraping logs from nodes
|
|
enabled: true
|
|
# -- Disallow promtail from running on the master node
|
|
tolerations: []
|
|
priorityClassName: ""
|
|
config:
|
|
# -- The Loki address to post logs to
|
|
lokiAddress: http://{{ .Release.Name }}-loki:3100/loki/api/v1/push
|
|
snippets:
|
|
# Promtail will export logs to loki only based on based on below
|
|
# configuration, below scrape config will export only our services
|
|
# which are labeled with openebs.io/logging=true
|
|
scrapeConfigs: |
|
|
- job_name: {{ .Release.Name }}-pods-name
|
|
pipeline_stages:
|
|
- docker: {}
|
|
kubernetes_sd_configs:
|
|
- role: pod
|
|
relabel_configs:
|
|
- source_labels:
|
|
- __meta_kubernetes_pod_node_name
|
|
target_label: hostname
|
|
action: replace
|
|
- action: labelmap
|
|
regex: __meta_kubernetes_pod_label_(.+)
|
|
- action: keep
|
|
source_labels:
|
|
- __meta_kubernetes_pod_label_openebs_io_logging
|
|
regex: true
|
|
target_label: {{ .Release.Name }}_component
|
|
- action: replace
|
|
replacement: $1
|
|
separator: /
|
|
source_labels:
|
|
- __meta_kubernetes_namespace
|
|
target_label: job
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_pod_name
|
|
target_label: pod
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_pod_container_name
|
|
target_label: container
|
|
- replacement: /var/log/pods/*$1/*.log
|
|
separator: /
|
|
source_labels:
|
|
- __meta_kubernetes_pod_uid
|
|
- __meta_kubernetes_pod_container_name
|
|
target_label: __path__
|
|
|
|
# Eventing which enables or disables eventing-related components.
|
|
eventing:
|
|
enabled: true
|
|
|
|
# Configuration for the nats message-bus. This is an eventing component, and is enabled when
|
|
# 'eventing.enabled' is set to 'true'.
|
|
nats:
|
|
nats:
|
|
image:
|
|
pullPolicy: IfNotPresent
|
|
# Defaults to docker.io
|
|
registry: ""
|
|
jetstream:
|
|
enabled: true
|
|
memStorage:
|
|
enabled: true
|
|
# Size of nats message is around 0.3 KB, so it can store around 10K messages.
|
|
size: "5Mi"
|
|
fileStorage:
|
|
enabled: false
|
|
cluster:
|
|
enabled: true
|
|
replicas: 3
|
|
# The nats box can be installed for debugging, by default its enabled.
|
|
natsbox:
|
|
enabled: false
|
|
|
|
|
|
obs:
|
|
callhome:
|
|
# -- Enable callhome
|
|
enabled: true
|
|
# -- Log level for callhome
|
|
logLevel: "info"
|
|
sendReport: true
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for callhome
|
|
cpu: "100m"
|
|
# -- Memory limits for callhome
|
|
memory: "32Mi"
|
|
requests:
|
|
# -- Cpu requests for callhome
|
|
cpu: "50m"
|
|
# -- Memory requests for callhome
|
|
memory: "16Mi"
|
|
# -- Set tolerations, overrides global
|
|
tolerations: []
|
|
# -- Set PriorityClass, overrides global
|
|
priorityClassName: ""
|
|
# Eventing component enabled/disabled based on obs.callhome.enabled value
|
|
stats:
|
|
# -- Log level for stats
|
|
logLevel: "info"
|
|
resources:
|
|
limits:
|
|
# -- Cpu limits for stats
|
|
cpu: "100m"
|
|
# -- Memory limits for stats
|
|
memory: "32Mi"
|
|
requests:
|
|
# -- Cpu requests for stats
|
|
cpu: "50m"
|
|
# -- Memory requests for stats
|
|
memory: "16Mi"
|
|
service:
|
|
# -- Rest K8s service type
|
|
type: ClusterIP
|
|
# Ports from where rest endpoints are accessible from outside the cluster, only valid if type is NodePort
|
|
nodePorts:
|
|
# NodePort associated with http port
|
|
http: 90011
|
|
# NodePort associated with https port
|
|
https: 90010
|
|
|
|
localpv-provisioner:
|
|
# -- Enables the openebs dynamic-localpv provisioner. If disabled, modify etcd and loki-stack storage class accordingly.
|
|
enabled: true
|
|
# Enable/disable the openebs NDM sub-chart. It's recommended to keep this disabled.
|
|
openebsNDM:
|
|
enabled: false
|
|
# Enable/disable the creation of the openebs-device StorageClass. It's recommended to keep this disabled.
|
|
deviceClass:
|
|
enabled: false
|
|
hostpathClass:
|
|
enabled: false
|