diff --git a/.gitignore b/.gitignore index fa6e50f61..d31c96326 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,8 @@ **/requirements.lock # Generated example yaml -/examples +/build +*.tar.gz # OSX trash .DS_Store diff --git a/.travis.yml b/.travis.yml index 3bca62011..00af88b7f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,10 @@ deploy: file: - pega-kubernetes-example.tar.gz - pega-openshift-example.tar.gz - - pega-eks-example.tar.gz + - pega-azure-aks-example.tar.gz + - pega-aws-eks-example.tar.gz + - pega-google-gke-example.tar.gz + - pega-pivotal-pks-example.tar.gz skip_cleanup: true on: repo: pegasystems/pega-helm-charts diff --git a/Makefile b/Makefile index 2d04cace9..315b3bd81 100644 --- a/Makefile +++ b/Makefile @@ -1,24 +1,62 @@ dependencies: - helm repo add traefik https://kubernetes-charts.storage.googleapis.com - helm repo add cassandra https://kubernetes-charts-incubator.storage.googleapis.com/ - helm repo add elasticsearch https://kubernetes-charts.storage.googleapis.com/ - helm repo add fluentd-elasticsearch https://kubernetes-charts.storage.googleapis.com/ - helm repo add kibana https://kubernetes-charts.storage.googleapis.com/ + helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/ helm repo list helm dependency update ./charts/pega/ examples: dependencies mkdir -p ./build/kubernetes - helm template ./charts/pega/ --output-dir ./build/kubernetes --values ./charts/pega/values.yaml --namespace example --set provider=k8s --set actions.execute=deploy + helm template ./charts/pega/ \ + --output-dir ./build/kubernetes \ + --values ./charts/pega/values.yaml \ + --namespace example \ + --set provider=k8s \ + --set actions.execute=deploy tar -C ./build/kubernetes/pega/templates -cvzf ./pega-kubernetes-example.tar.gz . mkdir -p ./build/openshift - helm template ./charts/pega/ --output-dir ./build/openshift --values ./charts/pega/values.yaml --namespace example --set provider=openshift --set actions.execute=deploy + helm template ./charts/pega/ \ + --output-dir ./build/openshift \ + --values ./charts/pega/values.yaml \ + --namespace example \ + --set provider=openshift \ + --set actions.execute=deploy tar -C ./build/openshift/pega/templates -cvzf ./pega-openshift-example.tar.gz . mkdir -p ./build/aws-eks - helm template ./charts/pega/ --output-dir ./build/aws-eks --values ./charts/pega/values.yaml --namespace example --set provider=eks --set actions.execute=deploy - tar -C ./build/aws-eks/pega/templates -cvzf ./pega-eks-example.tar.gz . + helm template ./charts/pega/ \ + --output-dir ./build/aws-eks \ + --values ./charts/pega/values.yaml \ + --namespace example \ + --set provider=eks \ + --set actions.execute=deploy + tar -C ./build/aws-eks/pega/templates -cvzf ./pega-aws-eks-example.tar.gz . + + mkdir -p ./build/azure-aks + helm template ./charts/pega/ \ + --output-dir ./build/azure-aks \ + --values ./charts/pega/values.yaml \ + --namespace example \ + --set provider=aks \ + --set actions.execute=deploy + tar -C ./build/azure-aks/pega/templates -cvzf ./pega-azure-aks-example.tar.gz . + + mkdir -p ./build/google-gke + helm template ./charts/pega/ \ + --output-dir ./build/google-gke \ + --values ./charts/pega/values.yaml \ + --namespace example \ + --set provider=gke \ + --set actions.execute=deploy + tar -C ./build/google-gke/pega/templates -cvzf ./pega-google-gke-example.tar.gz . + + mkdir -p ./build/pivotal-pks + helm template ./charts/pega/ \ + --output-dir ./build/pivotal-pks \ + --values ./charts/pega/values.yaml \ + --namespace example \ + --set provider=pks \ + --set actions.execute=deploy + tar -C ./build/pivotal-pks/pega/templates -cvzf ./pega-pivotal-pks-example.tar.gz . clean: rm -rf ./build diff --git a/README.md b/README.md index 4a68523e0..8e1b4bd00 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # Pega Deployment on Kubernetes -This project provides Helm charts and basic examples for deploying Pega on Kubernetes. This project **does not include** the required database installation image which you [may obtain from the Pega Community](https://community.pega.com/knowledgebase/products/platform/deploy). +This project provides Helm charts and basic examples for deploying Pega on Kubernetes. This project **does not include** the required database installation image which you [may obtain from the Pega Community](https://community.pega.com/knowledgebase/products/platform/deploy). Deploying Pega on Kubernetes requires Pega Infinity 8.2 or newer. [![Build Status](https://travis-ci.org/pegasystems/pega-helm-charts.svg?branch=master)](https://travis-ci.org/pegasystems/pega-helm-charts) -![GitHub release](https://img.shields.io/github/release/pegasystems/pega-helm-charts.svg) +[![GitHub release](https://img.shields.io/github/release/pegasystems/pega-helm-charts.svg)](https://github.com/pegasystems/pega-helm-charts/releases) ## Getting Started diff --git a/charts/pega/requirements.yaml b/charts/pega/requirements.yaml index 5fcf997b1..6af0f1807 100644 --- a/charts/pega/requirements.yaml +++ b/charts/pega/requirements.yaml @@ -21,3 +21,7 @@ dependencies: version: "1.1.0" repository: https://kubernetes-charts.storage.googleapis.com/ condition: kibana.enabled +- name: metrics-server + version: "2.5.0" + repository: https://kubernetes-charts.storage.googleapis.com/ + condition: metrics-server.enabled diff --git a/charts/pega/templates/_helpers.tpl b/charts/pega/templates/_helpers.tpl index f41825360..6977117f0 100644 --- a/charts/pega/templates/_helpers.tpl +++ b/charts/pega/templates/_helpers.tpl @@ -1,8 +1,7 @@ {{- define "pegaEnvironmentConfig" }}pega-environment-config{{- end }} {{- define "pegaVolumeConfig" }}pega-volume-config{{- end }} {{- define "pegaVolumeCredentials" }}pega-volume-credentials{{- end }} -{{- define "pegaStorageClassEBS" }}pega-ebs-storage-class{{- end }} -{{- define "pegaDatabaseSecret" }}pega-database-secret{{- end }} +{{- define "pegaCredentialsSecret" }}pega-credentials-secret{{- end }} {{- define "pegaRegistrySecret" }}pega-registry-secret{{- end }} {{- define "pegaWebName" -}}pega-web{{- end -}} {{- define "pegaBatchName" -}}pega-batch{{- end -}} @@ -118,16 +117,6 @@ until cqlsh -u {{ $cassandraUser | quote }} -p {{ $cassandraPassword | quote }} configMapKeyRef: name: {{ template "pegaEnvironmentConfig" }} key: CASSANDRA_PORT -- name: CASSANDRA_USERNAME - valueFrom: - configMapKeyRef: - name: {{ template "pegaEnvironmentConfig" }} - key: CASSANDRA_USERNAME -- name: CASSANDRA_PASSWORD - valueFrom: - configMapKeyRef: - name: {{ template "pegaEnvironmentConfig" }} - key: CASSANDRA_PASSWORD - name: PEGA_SEARCH_URL valueFrom: configMapKeyRef: @@ -158,6 +147,11 @@ until cqlsh -u {{ $cassandraUser | quote }} -p {{ $cassandraPassword | quote }} configMapKeyRef: name: {{ template "pegaEnvironmentConfig" }} key: DATA_SCHEMA +- name: CUSTOMERDATA_SCHEMA + valueFrom: + configMapKeyRef: + name: {{ template "pegaEnvironmentConfig" }} + key: CUSTOMERDATA_SCHEMA - name: DL-NAME value: EMPTY {{- end }} diff --git a/charts/pega/templates/_pega-config.tpl b/charts/pega/templates/_pega-config.tpl index a20e2479f..5a06c65ac 100644 --- a/charts/pega/templates/_pega-config.tpl +++ b/charts/pega/templates/_pega-config.tpl @@ -6,10 +6,10 @@ metadata: name: {{ .name }} namespace: {{ .root.Release.Namespace }} data: - # prconfig file to be used by {{ .name }} + # prconfig file to be used by {{ .name }} prconfig.xml: |- {{ .root.Files.Get .node.prconfigPath | indent 6 }} - # prlog4j2 file to be used by {{ .name }} + # prlog4j2 file to be used by {{ .name }} prlog4j2.xml: |- {{ .root.Files.Get .node.prlog4j2Path | indent 6 }} {{- end }} diff --git a/charts/pega/templates/_pega-deployment.tpl b/charts/pega/templates/_pega-deployment.tpl index 1ab677164..d226234da 100644 --- a/charts/pega/templates/_pega-deployment.tpl +++ b/charts/pega/templates/_pega-deployment.tpl @@ -29,7 +29,7 @@ spec: - name: {{ template "pegaVolumeCredentials" }} secret: # This name will be referred in the volume mounts kind. - secretName: {{ template "pegaDatabaseSecret" }} + secretName: {{ template "pegaCredentialsSecret" }} # Used to specify permissions on files within the volume. defaultMode: 420 initContainers: @@ -82,4 +82,4 @@ spec: {{- if .extraSpecData }} {{ include .extraSpecData .root | indent 2 }} {{- end }} -{{- end -}} \ No newline at end of file +{{- end -}} diff --git a/charts/pega/templates/_pega_hpa.tpl b/charts/pega/templates/_pega_hpa.tpl new file mode 100644 index 000000000..a991fac73 --- /dev/null +++ b/charts/pega/templates/_pega_hpa.tpl @@ -0,0 +1,26 @@ +{{- define "pega.hpa" -}} +{{- if .hpa.enabled -}} +# The Horizontal Pod Autoscaler for {{ .deploymentName }} deployment +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .name | quote}} + namespace: {{ .root.Release.Namespace }} +spec: + scaleTargetRef: + apiVersion: extensions/v1beta1 + kind: Deployment + name: {{ .deploymentName | quote }} + minReplicas: {{ .hpa.minReplicas }} + maxReplicas: {{ .hpa.maxReplicas }} + metrics: + - type: Resource + resource: + name: cpu + targetAverageUtilization: {{ .hpa.targetAverageCPUUtilization }} + - type: Resource + resource: + name: memory + targetAverageUtilization: {{ .hpa.targetAverageMemoryUtilization }} +{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/pega/templates/eks/pega-ebs-storage-class.yaml b/charts/pega/templates/eks/pega-ebs-storage-class.yaml deleted file mode 100644 index 063ddf057..000000000 --- a/charts/pega/templates/eks/pega-ebs-storage-class.yaml +++ /dev/null @@ -1,13 +0,0 @@ -{{- if eq .Values.provider "eks" -}} -kind: StorageClass -apiVersion: storage.k8s.io/v1 -metadata: - name: {{ template "pegaStorageClassEBS" }} -provisioner: kubernetes.io/aws-ebs -parameters: - type: gp2 -reclaimPolicy: Retain -mountOptions: -- debug -volumeBindingMode: Immediate -{{- end -}} diff --git a/charts/pega/templates/pega-batch-hpa.yaml b/charts/pega/templates/pega-batch-hpa.yaml new file mode 100644 index 000000000..4da9426da --- /dev/null +++ b/charts/pega/templates/pega-batch-hpa.yaml @@ -0,0 +1 @@ +{{ template "pega.hpa" dict "root" $ "name" (printf "%s-hpa" (include "pegaBatchName" .)) "deploymentName" (include "pegaBatchName" .) "hpa" .Values.batch.hpa}} \ No newline at end of file diff --git a/charts/pega/templates/pega-database-secret.yaml b/charts/pega/templates/pega-credentials-secret.yaml similarity index 70% rename from charts/pega/templates/pega-database-secret.yaml rename to charts/pega/templates/pega-credentials-secret.yaml index bd15bfd17..80a22c27f 100644 --- a/charts/pega/templates/pega-database-secret.yaml +++ b/charts/pega/templates/pega-credentials-secret.yaml @@ -1,13 +1,17 @@ kind: Secret apiVersion: v1 metadata: - name: {{ template "pegaDatabaseSecret" }} + name: {{ template "pegaCredentialsSecret" }} namespace: {{ .Release.Namespace }} data: # Base64 encdoded username for connecting to the Pega DB DB_USERNAME: {{ .Values.jdbc.username | b64enc }} # Base64 encdoded password for connecting to the Pega DB DB_PASSWORD: {{ .Values.jdbc.password | b64enc }} + # Base64 encdoded username for connecting to cassandra + CASSANDRA_USERNAME: {{ .Values.dds.username | b64enc }} + # Base64 encdoded password for connecting to cassandra + CASSANDRA_PASSWORD: {{ .Values.dds.password | b64enc }} # Base64 encdoded username for a Tomcat user that will be created with the PegaDiagnosticUser role PEGA_DIAGNOSTIC_USER: {{ .Values.web.pegaDiagnosticUser | b64enc }} # Base64 encdoded password for a Tomcat user that will be created with the PegaDiagnosticUser role diff --git a/charts/pega/templates/pega-environment-config.yaml b/charts/pega/templates/pega-environment-config.yaml index 1915059b2..5071d016f 100644 --- a/charts/pega/templates/pega-environment-config.yaml +++ b/charts/pega/templates/pega-environment-config.yaml @@ -15,6 +15,8 @@ data: RULES_SCHEMA: {{ .Values.jdbc.rulesSchema }} # Data schema of the Pega installation DATA_SCHEMA: {{ .Values.jdbc.dataSchema }} + # CustomerData schema of the Pega installation + CUSTOMERDATA_SCHEMA: {{ .Values.jdbc.customerDataSchema }} # URL to connect to Elastic Search PEGA_SEARCH_URL: {{ include "properPegaSearchURL" . }} # Whether to enable connecting to a cassandra cluster. "true" for enabled, "false for disabled" @@ -23,7 +25,3 @@ data: CASSANDRA_NODES: {{ include "cassandraNodes" . }} # Port to connect to cassandra with CASSANDRA_PORT: "{{ .Values.dds.port }}" - # Username for Cassandra DB - CASSANDRA_USERNAME: {{ .Values.dds.username }} - # Password for Cassandra DB - CASSANDRA_PASSWORD: {{ .Values.dds.password }} diff --git a/charts/pega/templates/pega-search-deployment.yaml b/charts/pega/templates/pega-search-deployment.yaml index 19836a5e0..58ecb5d8a 100644 --- a/charts/pega/templates/pega-search-deployment.yaml +++ b/charts/pega/templates/pega-search-deployment.yaml @@ -27,6 +27,14 @@ spec: fsGroup: 1000 {{ end }} initContainers: + {{ if eq .Values.provider "openshift" }} + - name: set-dir-owner + image: busybox:1.27.2 + command: ['sh', '-c', 'chown -R 1000:1000 /usr/share/elasticsearch/data'] + volumeMounts: + - name: esstorage + mountPath: /usr/share/elasticsearch/data + {{ end }} - name: set-max-map-count image: busybox:1.27.2 command: ['sysctl', '-w', 'vm.max_map_count=262144'] diff --git a/charts/pega/templates/pega-stream-deployment.yaml b/charts/pega/templates/pega-stream-deployment.yaml index 3d249daad..69be019ee 100644 --- a/charts/pega/templates/pega-stream-deployment.yaml +++ b/charts/pega/templates/pega-stream-deployment.yaml @@ -10,9 +10,6 @@ volumeClaimTemplates: spec: accessModes: - ReadWriteOnce - {{- if eq .Values.provider "eks" }} - storageClassName: {{ template "pegaStorageClassEBS" }} - {{- end }} resources: requests: storage: 5Gi diff --git a/charts/pega/templates/pega-web-hpa.yaml b/charts/pega/templates/pega-web-hpa.yaml new file mode 100644 index 000000000..1436319ff --- /dev/null +++ b/charts/pega/templates/pega-web-hpa.yaml @@ -0,0 +1 @@ +{{ template "pega.hpa" dict "root" $ "name" (printf "%s-hpa" (include "pegaWebName" .)) "deploymentName" (include "pegaWebName" .) "hpa" .Values.web.hpa}} \ No newline at end of file diff --git a/charts/pega/values.yaml b/charts/pega/values.yaml index 6aa6ae758..4cbeed71a 100644 --- a/charts/pega/values.yaml +++ b/charts/pega/values.yaml @@ -3,6 +3,9 @@ # k8s - for a deployment using open-source Kubernetes # openshift - for a deployment using Red Hat Openshift # eks - for a deployment using Amazon EKS +# gke - for a deployment using Google Kubernetes Engine +# pks - for a deployment using Pivotal Container Service +# aks - for a deployment using Azure Kubernetes Service provider: "YOUR_KUBERNETES_PROVIDER" # Configure Traefik for load balancing: @@ -14,7 +17,11 @@ traefik: enabled: true # Set any additional Traefik parameters. These values will be used by Traefik's helm chart. # See https://github.com/helm/charts/blob/master/stable/traefik/values.yaml + # Set traefik.serviceType to "LoadBalancer" on gke, aks, and pks serviceType: NodePort + # If enabled is set to "true", ssl will be enabled for traefik + ssl: + enabled: false rbac: enabled: true service: @@ -23,48 +30,6 @@ traefik: http: 30080 https: 30443 -# Configure EFK stack for logging: -# For a complete EFK stack: elasticsearch, fluentd-elasticsearch, and kibana should all be enabled -# Pega recommends deploying EFK only on k8s -# On Openshift, see https://docs.openshift.com/container-platform/3.11/install_config/aggregate_logging.html -# On EKS, see https://eksworkshop.com/logging/ -elasticsearch: - # If elasticsearch.enabled is set to true, elasticsearch is deployed automatically. - enabled: true - # Set this variable to create the service with given prefix. - # elasticsearch service would be -client. - # If this parameter is changed, please update the values for for kibana [elasticsearch.url] and fluentd-elasticsearch [host]. - # Set any additional elastic search parameters. These values will be used by elasticsearch helm chart. - # See https://github.com/helm/charts/tree/master/stable/elasticsearch/values.yaml - fullnameOverride: "YOUR_ELASTICSEARCH_NAME" - -kibana: - # If kibana.enabled is set to true, kibana is deployed automatically. - enabled: true - # Set any additional kibana parameters. These values will be used by Kibana's helm chart. - # See https://github.com/helm/charts/tree/master/stable/kibana/values.yaml - files: - kibana.yml: - elasticsearch.url: http://-client:9200 - service: - externalPort: 80 - ingress: - # If enabled is set to "true", an ingress is created to access kibana. - enabled: true - # Enter the domain name to access kibana via a load balancer. - hosts: - - "YOUR_WEB.KIBANA.EXAMPLE.COM" - -fluentd-elasticsearch: - # If fluentd-elasticsearch.enabled is set to true, fluentd-elasticsearch is deployed automatically. - enabled: true - # Set any additional fluentd-elasticsearch parameters. These values will be used by fluentd-elasticsearch's helm chart. - # See https://github.com/helm/charts/tree/master/stable/fluentd-elasticsearch/values.yaml - elasticsearch: - host: '-client' - buffer_chunk_limit: 250M - buffer_queue_limit: 30 - # Docker image information for the Pega docker image, containing the application server. # To use this feature you MUST host the image using a private registry. # See https://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry @@ -108,6 +73,8 @@ jdbc: # Set the rules and data schemas for your database. Additional schemas can be defined within Pega. rulesSchema: "YOUR_RULES_SCHEMA" dataSchema: "YOUR_DATA_SCHEMA" + # If configured, set the customerdata schema for your database. Defaults to value of dataSchema if not provided. + customerDataSchema: # Pega web deployment settings. web: @@ -134,6 +101,20 @@ web: # Set your Pega diagnostic credentials. pegaDiagnosticUser: "" pegaDiagnosticPassword: "" + hpa: + enabled: true + # Enter the minimum number of replicas that HPA can scale-down + minReplicas: 1 + # Enter the maximum number of replicas that HPA can scale-up + maxReplicas: 5 + # Enter the threshold value for average cpu utilization percentage. This value is calculated on resource request. + # Default value is set at 70% of web pod cpu limit. Pega web pod default cpu request is 200m & limit is 2c. 70% of limit or 700% request which is 1.4c. + # HPA will scale up if pega web pods average cpu utilization reaches 1.4c + targetAverageCPUUtilization: 700 + # Enter the threshold value for average memory utilization percentage. This value is calculated on resource request. + # Default value is set at 70% of web pod memory limit. Pega web pod default memory request is 2Gi & limit is 8Gi. 70% of limit or 280% request which is 5.6Gi. + # HPA will scale up if pega web pods average memory utilization reaches 5.6Gi + targetAverageMemoryUtilization: 280 # Pega stream deployment settings. stream: @@ -141,7 +122,7 @@ stream: # e.g. stream.mypega.example.com domain: "YOUR_STREAM_NODE_DOMAIN" # Enter the number of stream nodes for Kubernetes to deploy (minimum 2). - replicas: 1 + replicas: 2 # Enter the CPU limit for each stream node (recommended 2). cpuLimit: 2 # Enter the memory limit for each stream node (recommended 8Gi). @@ -177,6 +158,20 @@ batch: # Pega includes default files, but supports overriding these files with customized prconfig and prlog4j2 files. prconfigPath: "config/prconfig.xml" prlog4j2Path: "config/prlog4j2.xml" + hpa: + enabled: true + # Enter the minimum number of replicas that HPA can scale-down + minReplicas: 1 + # Enter the maximum number of replicas that HPA can scale-up + maxReplicas: 3 + # Enter the threshold value for average cpu utilization percentage. This value is calculated on resource request. + # Default value is set at 70% of batch pod cpu limit. Pega batch pod default cpu request is 200m & limit is 2c. 70% of limit or 700% request which is 1.4c. + # HPA will scale up if pega batch pods average cpu utilization reaches 1.4c + targetAverageCPUUtilization: 700 + # Enter the threshold value for average memory utilization percentage. This value is calculated on resource request. + # Default value is set at 70% of batch pod memory limit. Pega batch pod default memory request is 2Gi & limit is 8Gi. 70% of limit or 280% request which is 5.6Gi. + # HPA will scale up if pega batch pods average memory utilization reaches 5.6Gi + targetAverageMemoryUtilization: 280 # Cassandra automatic deployment settings. cassandra: @@ -215,3 +210,77 @@ search: cpuLimit: 1 # Enter the volume size limit for each search node (recommended 5Gi). volumeSize: "5Gi" + + +# Configure EFK stack for logging: +# For a complete EFK stack: elasticsearch, fluentd-elasticsearch, and kibana should all be enabled +# Pega recommends deploying EFK only on k8s +# On Openshift, see https://docs.openshift.com/container-platform/3.11/install_config/aggregate_logging.html +# On EKS, see https://eksworkshop.com/logging/ + +# Replace false with true to deploy EFK. +# Do not remove &deploy_efk; it is a yaml anchor which is referenced by the EFK subcharts. +deploy_efk: &deploy_efk false + +elasticsearch: + enabled: *deploy_efk + # Set any additional elastic search parameters. These values will be used by elasticsearch helm chart. + # See https://github.com/helm/charts/tree/master/stable/elasticsearch/values.yaml + # + # If you need to change this value then you will also need to replace the same + # part of the value within the following properties further below: + # + # kibana.files.kibana.yml.elasticsearch.url + # fluentd-elasticsearch.elasticsearch.host + # + fullnameOverride: "elastic-search" + +kibana: + enabled: *deploy_efk + # Set any additional kibana parameters. These values will be used by Kibana's helm chart. + # See https://github.com/helm/charts/tree/master/stable/kibana/values.yaml + files: + kibana.yml: + elasticsearch.url: http://elastic-search-client:9200 + service: + externalPort: 80 + ingress: + # If enabled is set to "true", an ingress is created to access kibana. + enabled: true + # Enter the domain name to access kibana via a load balancer. + hosts: + - "YOUR_WEB.KIBANA.EXAMPLE.COM" + +fluentd-elasticsearch: + enabled: *deploy_efk + # Set any additional fluentd-elasticsearch parameters. These values will be used by fluentd-elasticsearch's helm chart. + # See https://github.com/helm/charts/tree/master/stable/fluentd-elasticsearch/values.yaml + elasticsearch: + host: elastic-search-client + buffer_chunk_limit: 250M + buffer_queue_limit: 30 + +metrics-server: + # Set this to true to install metrics-server. Follow below guidelines specific + # to each provider, open-source Kubernetes, Openshift & EKS - mandatory to + # set this to true if web.hpa.enabled or batch.hpa.enabled is true GKE or + # AKS - set this to false since metrics-server is installed in the cluster + # by default. + enabled: true + # Set any additional metrics-server parameters. These values will be used by + # metrics-server's helm chart. + # See https://github.com/helm/charts/blob/master/stable/metrics-server/values.yaml + args: + - --logtostderr + # The order in which to consider different Kubelet node address types when + # connecting to Kubelet. Uncomment below arguemnt if host names are not + # resolvable from metrics server pod. This setting is not required for + # public cloud providers & openshift enterprise. It may be required for + # open-source Kubernetes. + # - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP + # Uncomment below arguemnt to skip verifying Kubelet CA certificates. + # Not recommended for production usage, but can be useful in test clusters + # with self-signed Kubelet serving certificates. This setting is not + # required for public cloud providers & openshift enterprise. It may be + # required for open-source Kubernetes. + # - --kubelet-insecure-tls