Giter Site home page Giter Site logo

cb-helm-generator's Introduction

-

TL;DR;

$ helm repo add  
$ helm repo update
$ helm install  / -n 

Introduction

This chart deploys on a Kubernetes cluster using the Helm package manager.

Prerequisites

Installing the Chart

To install the chart with the release name ``:

$ helm install  / -n 

The command deploys on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the ``:

$ helm delete  -n 

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following table lists the configurable parameters of the `` chart and their default values.

Parameter Description Default
antiAffinity Couchbase Operator Chart Values AntiAffinity forces the Operator to schedule different Couchbase server pods on different Kubernetes nodes. Anti-affinity reduces the likelihood of unrecoverable failure in the event of a node issue. Use of anti-affinity is highly recommended for production clusters. null
autoResourceAllocation.cpuLimits CPULimits automatically populates the CPU limits across all Couchbase server pods. This field defaults to "4" CPUs. Explicitly specifying the CPU limit for a particular server class will override this value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources- containers/#resource-units-in-kubernetes '4'
autoResourceAllocation.cpuRequests CPURequests automatically populates the CPU requests across all Couchbase server pods. The default vaule of "2", is the minimum recommended number of CPUs required to run Couchbase Server. Explicitly specifying the CPU request for a particular server class will override this value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources- containers/#resource-units-in-kubernetes '2'
autoResourceAllocation.enabled Enabled defines whether auto-resource allocation is enabled. null
autoResourceAllocation.overheadPercent OverheadPercent defines the amount of memory above that required for individual services on a pod. For Couchbase Server this should be approximately 25%. 25
autoscaleStabilizationPeriod AutoscaleStabilizationPeriod defines how long after a rebalance the corresponding HorizontalPodAutoscaler should remain in maintenance mode. During maintenance mode all autoscaling is disabled since every HorizontalPodAutoscaler associated with the cluster becomes inactive. Since certain metrics can be unpredictable when Couchbase is rebalancing or upgrading, setting a stabilization period helps to prevent scaling recommendations from the HorizontalPodAutoscaler for a provided period of time. Values must be a valid Kubernetes duration of 0s or higher: https://golang.org/pkg/time/#ParseDuration A value of 0, puts the cluster in maintenance mode during rebalance but immediately exits this mode once the rebalance has completed. When undefined, the HPA is never put into maintenance mode during rebalance. null
backup.image The Backup Image to run on backup pods null
backup.imagePullSecrets.name Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with- objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? null
backup.managed Managed defines whether backups are managed by us or the clients. null
backup.nodeSelector NodeSelector defines which nodes to constrain the pods that run any backup operations to null
backup.resources.limits Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute- resources-container/ null
backup.resources.requests Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute- resources-container/ null
backup.s3Secret S3Secret contains the region and credentials for operating backups in S3 null
backup.selector.matchExpressions.key key is the label key that the selector applies to. null
backup.selector.matchExpressions.operator operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. null
backup.selector.matchExpressions.values values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. null
backup.selector.matchLabels matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. null
backup.serviceAccountName The Service Account to run backup (and restore) pods under. Without this backup pods will not be able to update status null
backup.tolerations.effect Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. null
backup.tolerations.key Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. null
backup.tolerations.operator Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. null
backup.tolerations.tolerationSeconds TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. null
backup.tolerations.value Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. null
buckets.managed Managed defines whether buckets are managed by us or the clients. null
buckets.selector.matchExpressions.key key is the label key that the selector applies to. null
buckets.selector.matchExpressions.operator operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. null
buckets.selector.matchExpressions.values values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. null
buckets.selector.matchLabels matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. null
cluster.\analyticsServiceMemoryQuota AnalyticsServiceMemQuota is the amount of memory that should be allocated to the analytics service. This value is per-pod, and only applicable to pods belonging to server classes running the analytics service. This field must be a quantity greater than or equal to 1Gi. This field defaults to 1Gi. More info: https://kubernetes.io/docs/concepts/configuration/manage- resources-containers/#resource-units-in-kubernetes 1Gi
cluster.autoCompaction.databaseFragmentationThreshold.percent Percent is the percentage of disk fragmentation after which to decompaction will be triggered. This field must be in the range 2-100, defaulting to 30. 30
cluster.autoCompaction.databaseFragmentationThreshold.size Size is the amount of disk framentation, that once exceeded, will trigger decompaction. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources- containers/#resource-units-in-kubernetes null
cluster.autoCompaction.parallelCompaction ParallelCompaction controls whether database and view compactions can happen in parallel. null
cluster.autoCompaction.timeWindow.abortCompactionOutsideWindow AbortCompactionOutsideWindow stops compaction processes when the process moves outside the window. null
cluster.autoCompaction.timeWindow.end End is a wallclock time, in the form HH:MM, when a compaction should stop. null
cluster.autoCompaction.timeWindow.start Start is a wallclock time, in the form HH:MM, when a compaction is permitted to start. null
cluster.autoCompaction.tombstonePurgeInterval TombstonePurgeInterval controls how long to wait before purging tombstones. This field must be in the range 1h-1440h, defaulting to 72h. More info: https://golang.org/pkg/time/#ParseDuration 72h
cluster.autoCompaction.viewFragmentationThreshold.percent Percent is the percentage of disk fragmentation after which to decompaction will be triggered. This field must be in the range 2-100, defaulting to 30. 30
cluster.autoCompaction.viewFragmentationThreshold.size Size is the amount of disk framentation, that once exceeded, will trigger decompaction. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources- containers/#resource-units-in-kubernetes null
cluster.autoFailoverMaxCount AutoFailoverMaxCount is the maximum number of automatic failovers Couchbase server will allow before not allowing any more. This field must be between 1-3, default 3. 3
cluster.autoFailoverOnDataDiskIssues AutoFailoverOnDataDiskIssues defines whether Couchbase server should failover a pod if a disk issue was detected. null
cluster.autoFailoverOnDataDiskIssuesTimePeriod AutoFailoverOnDataDiskIssuesTimePeriod defines how long to wait for transient errors before failing over a faulty disk. This field must be in the range 5-3600s, defaulting to 120s. More info: https://golang.org/pkg/time/#ParseDuration 120s
cluster.autoFailoverServerGroup AutoFailoverServerGroup whether to enable failing over a server group. null
cluster.autoFailoverTimeout AutoFailoverTimeout defines how long Couchbase server will wait between a pod being witnessed as down, until when it will failover the pod. Couchbase server will only failover pods if it deems it safe to do so, and not result in data loss. This field must be in the range 5-3600s, defaulting to 120s. More info: https://golang.org/pkg/time/#ParseDuration 120s
cluster.clusterName ClusterName defines the name of the cluster, as displayed in the Couchbase UI. By default, the cluster name is that specified in the CouchbaseCluster resource's metadata. null
cluster.data.readerThreads ReaderThreads allows the number of threads used by the data service, per pod, to be altered. This value must be between 4 and 64 threads, and should only be increased where there are sufficient CPU resources allocated for their use. If not specified, this defaults to the default value set by Couchbase Server. null
cluster.data.writerThreads ReaderThreads allows the number of threads used by the data service, per pod, to be altered. This setting is especially relevant when using "durable writes", increaing this field will have a large impact on performance. This value must be between 4 and 64 threads, and should only be increased where there are sufficient CPU resources allocated for their use. If not specified, this defaults to the default value set by Couchbase Server. null
cluster.dataServiceMemoryQuota DataServiceMemQuota is the amount of memory that should be allocated to the data service. This value is per-pod, and only applicable to pods belonging to server classes running the data service. This field must be a quantity greater than or equal to 256Mi. This field defaults to 256Mi. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources- containers/#resource-units-in-kubernetes 256Mi
cluster.eventingServiceMemoryQuota EventingServiceMemQuota is the amount of memory that should be allocated to the eventing service. This value is per-pod, and only applicable to pods belonging to server classes running the eventing service. This field must be a quantity greater than or equal to 256Mi. This field defaults to 256Mi. More info: https://kubernetes.io/docs/concepts/configuration/manage- resources-containers/#resource-units-in-kubernetes 256Mi
cluster.indexServiceMemoryQuota IndexServiceMemQuota is the amount of memory that should be allocated to the index service. This value is per-pod, and only applicable to pods belonging to server classes running the index service. This field must be a quantity greater than or equal to 256Mi. This field defaults to 256Mi. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources- containers/#resource-units-in-kubernetes 256Mi
cluster.indexStorageSetting DEPRECATED - by indexer. The index storage mode to use for secondary indexing. This field must be one of "memory_optimized" or "plasma", defaulting to "memory_optimized". This field is immutable and cannot be changed unless there are no server classes running the index service in the cluster. memory_optimized
cluster.indexer.logLevel LogLevel controls the verbosity of indexer logs. This field must be one of "silent", "fatal", "error", "warn", "info", "verbose", "timing", "debug" or "trace", defaulting to "info". info
cluster.indexer.maxRollbackPoints MaxRollbackPoints controls the number of checkpoints that can be rolled back to. The default is 2, with a minimum of 1. 2
cluster.indexer.memorySnapshotInterval MemorySnapshotInterval controls when memory indexes should be snapshotted. This defaults to 200ms, and must be greater than or equal to 1ms. 200ms
cluster.indexer.stableSnapshotInterval StableSnapshotInterval controls when disk indexes should be snapshotted. This defaults to 5s, and must be greater than or equal to 1ms. 5s
cluster.indexer.storageMode StorageMode controls the underlying storage engine for indexes. Once set it can only be modified if there are no nodes in the cluster running the index service. The field must be one of "memory_optimized" or "plasma", defaulting to "memory_optimized". memory_optimized
cluster.indexer.threads Threads controls the number of processor threads to use for indexing. A value of 0 means 1 per CPU. This attribute must be greater than or equal to 0, defaulting to 0. null
cluster.query.backfillEnabled BackfillEnabled allows the query service to backfill. true
cluster.query.temporarySpace TemporarySpace allows the temporary storage used by the query service backfill, per-pod, to be modified. This field requires backfillEnabled to be set to true in order to have any effect. 5Gi
cluster.query.temporarySpaceUnlimited TemporarySpaceUnlimited allows the temporary storage used by the query service backfill, per-pod, to be unconstrainend. This field requires backfillEnabled to be set to true in order to have any effect. This field overrides temporarySpace. null
cluster.queryServiceMemoryQuota QueryServiceMemQuota is a dummy field. By default, Couchbase server provides no memory resource constrints for the query service, so this has no effect on Couchbase server. It is, however, used when the spec.autoResourceAllocation feature is enabled, and is used to define the amount of memory reserved by the query service for use with Kubernetes resource scheduling. null
cluster.searchServiceMemoryQuota SearchServiceMemQuota is the amount of memory that should be allocated to the search service. This value is per-pod, and only applicable to pods belonging to server classes running the search service. This field must be a quantity greater than or equal to 256Mi. This field defaults to 256Mi. More info: https://kubernetes.io/docs/concepts/configuration/manage- resources-containers/#resource-units-in-kubernetes 256Mi
enableOnlineVolumeExpansion EnableOnlineVolumeExpansion enables online expansion of Persistent Volumes. You can only expand a PVC if its storage class's "allowVolumeExpansion" field is set to true. Additionally, Kubernetes feature "ExpandInUsePersistentVolumes" must be enabled in order to expand the volumes which are actively bound to Pods. Volumes can only be expanded and not reduced to a smaller size. See: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#resizing-an- in-use-persistentvolumeclaim If "EnableOnlineVolumeExpansion" is enabled for use within an evironment that does not actually support online volume and file system expansion then the cluster will fallback to rolling upgrade procedure to create a new set of Pods for use with resized Volumes. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#expanding- persistent-volumes-claims null

cb-helm-generator

cb-helm-generator's People

Contributors

tahmmee avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.