## Default values for charts. ## This is a YAML-formatted file. ## Declare variables to be passed into your templates. ## @param installMode "host" and "agent" are provided ## "host" means install karmada in the control-cluster ## "agent" means install agent client in the member cluster ## "component" means install selected components in the control-cluster installMode: "host" ## @param clusterDomain default domain for karmada clusterDomain: "cluster.local" ## @param components component list components: [] # components: [ # "schedulerEstimator" # "descheduler" # ] ## pre-install job config preInstallJob: initContainerImage: cfssl/cfssl preInstallContainerImage: bitnami/kubectl:latest ## post-install job config postInstallJob: postInstallContainerImage: bitnami/kubectl:latest ## post-delete job config postDeleteJob: postDeleteContainerImage: bitnami/kubectl:latest ## karmada certificate config certs: ## @param certs.mode "auto" and "custom" are provided ## "auto" means auto generate certificate ## "custom" means use user certificate mode: auto auto: ## @param certs.auto.expiry expiry of the certificate expiry: 43800h ## @param certs.auto.hosts hosts of the certificate hosts: [ "kubernetes.default.svc", "*.etcd.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}", "*.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}", "*.{{ .Release.Namespace }}.svc", "localhost", "127.0.0.1" ] custom: ## @param certs.custom.caCrt ca of the certificate caCrt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param certs.custom.crt crt of the certificate crt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param certs.custom.key key of the certificate key: | -----BEGIN RSA PRIVATE KEY----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END RSA PRIVATE KEY----- ## @param certs.custom.frontProxyCaCrt ca of the front proxy certificate frontProxyCaCrt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param certs.custom.frontProxyCrt crt of the front proxy certificate frontProxyCrt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param certs.custom.frontProxyKey key of the front proxy certificate frontProxyKey: | -----BEGIN RSA PRIVATE KEY----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END RSA PRIVATE KEY----- ## scheduler config scheduler: ## @param scheduler.labels labels: app: karmada-scheduler ## @param scheduler.replicaCount target replicas replicaCount: 1 ## @param scheduler.podAnnotations podAnnotations: { } ## @param scheduler.podLabels podLabels: { } ## @param scheduler.imagePullSecrets imagePullSecrets: [ ] image: ## @param scheduler.image.repository image of the scheduler repository: swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-scheduler ## @param scheduler.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param scheduler.image.tag overrides the image tag whose default is the latest tag: latest ## @param scheduler.resources resources: { } # 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: 100m # memory: 128Mi ## @param scheduler.nodeSelector nodeSelector: { } ## @param scheduler.affinity affinity: { } ## @param scheduler.tolerations tolerations: [ ] # - key: node-role.kubernetes.io/master # operator: Exists strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 50% ## webhook config webhook: ## @param webhook.labels labels: app: karmada-webhook ## @param webhook.replicaCount target replicas replicaCount: 1 ## @param webhook.podAnnotations podAnnotations: { } ## @param webhook.podLabels podLabels: { } ## @param webhook.imagePullSecrets imagePullSecrets: [ ] image: ## @param webhook.image.repository image of the webhook repository: swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-webhook ## @param webhook.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param webhook.image.tag overrides the image tag whose default is the latest tag: latest ## @param webhook.resources resources: { } # 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: 100m # memory: 128Mi ## @param webhook.nodeSelector nodeSelector: { } ## @param webhook.affinity affinity: { } ## @param webhook.tolerations tolerations: [ ] # - key: node-role.kubernetes.io/master # operator: Exists strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 50% ## controller manager config controllerManager: ## @param controllerManager.labels labels: app: karmada-controller-manager ## @param controllerManager.replicaCount target replicas replicaCount: 1 ## @param controllerManager.podAnnotations podAnnotations: { } ## @param controllerManager.podLabels podLabels: { } ## @param controllerManager.imagePullSecrets imagePullSecrets: [ ] image: ## @param controllerManager.image.repository image of the controller manager repository: swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-controller-manager ## @param controllerManager.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param controllerManager.image.tag overrides the image tag whose default is the latest tag: latest ## @param controllerManager.resources resources: { } # 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: 100m # memory: 128Mi ## @param controllerManager.nodeSelector nodeSelector: { } ## @param controllerManager.affinity affinity: { } ## @param controllerManager.tolerations tolerations: [ ] # - key: node-role.kubernetes.io/master # operator: Exists strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 50% ## karmada apiserver config apiServer: ## @param apiServer.labels labels: app: karmada-apiserver ## @param apiServer.replicaCount target replicas replicaCount: 1 ## @param apiServer.podAnnotations podAnnotations: { } ## @param apiServer.podLabels podLabels: { } ## @param apiServer.imagePullSecrets imagePullSecrets: [] image: ## @param apiServer.image.repository image of the apiserver repository: k8s.gcr.io/kube-apiserver ## @param apiServer.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param apiServer.image.tag overrides the image tag whose default is the latest tag: "v1.21.7" ## @param apiServer.resources resources: { } # 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: 100m # memory: 128Mi ## @param apiServer.hostNetwork ## "true" means using hostNetwork ## "false" means normal network hostNetwork: true ## @param apiServer.nodeSelector nodeSelector: { } ## @param apiServer.affinity affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - karmada-apiserver topologyKey: kubernetes.io/hostname ## @param apiServer.tolerations tolerations: [ ] # - key: node-role.kubernetes.io/master # operator: Exists ## @param apiServer.serviceType default service type for apiserver ## "LoadBalancer" means using LoadBalancer ## "ClusterIP" means using ClusterIP ## "NodePort" means using NodePort serviceType: ClusterIP ## @param apiServer.nodePort node port for apiserver service, ## will take effect when 'apiServer.serviceType' is 'NodePort'. ## If no port is specified, the nodePort will be automatically assigned. nodePort: 0 maxRequestsInflight: 1500 maxMutatingRequestsInflight: 500 strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 maxSurge: 1 ## karmada aggregated apiserver config aggregatedApiServer: ## @param aggregatedApiServer.labels labels: app: karmada-aggregated-apiserver ## @param aggregatedApiServer.replicaCount target replicas replicaCount: 1 ## @param aggregatedApiServer.podAnnotations podAnnotations: { } ## @param aggregatedApiServer.podLabels podLabels: { } ## @param aggregatedApiServer.imagePullSecrets imagePullSecrets: [] image: ## @param aggregatedApiServer.image.repository image of the apiserver repository: swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-aggregated-apiserver ## @param aggregatedApiServer.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param aggregatedApiServer.image.tag overrides the image tag whose default is the latest tag: latest ## @param aggregatedApiServer.resources resources: requests: cpu: 100m # 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: 100m # memory: 128Mi ## @param aggregatedApiServer.nodeSelector nodeSelector: { } ## @param aggregatedApiServer.affinity affinity: { } ## @param aggregatedApiServer.tolerations tolerations: [ ] # - key: node-role.kubernetes.io/master # operator: Exists strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 50% ## kubernetes controller manager config kubeControllerManager: ## @param kubeControllerManager.labels labels: app: kube-controller-manager ## @param kubeControllerManager.replicaCount target replicas replicaCount: 1 ## @param kubeControllerManager.podAnnotations podAnnotations: {} ## @param kubeControllerManager.podLabels podLabels: {} ## @param kubeControllerManager.imagePullSecrets imagePullSecrets: [] image: ## @param kubeControllerManager.image.repository image of the kube controller manager repository: k8s.gcr.io/kube-controller-manager ## @param kubeControllerManager.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param kubeControllerManager.image.tag overrides the image tag whose default is the latest tag: "v1.21.7" ## @param kubeControllerManager.resources resources: # 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: 100m # memory: 128Mi ## @param kubeControllerManager.nodeSelector nodeSelector: {} ## @param kubeControllerManager.affinity affinity: {} ## @param kubeControllerManager.tolerations tolerations: [ ] # - key: node-role.kubernetes.io/master # operator: Exists strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 50% ## etcd config etcd: ## @param etcd.mode "external" and "internal" are provided ## "external" means use external ectd ## "internal" means install a etcd in the cluster mode: "internal" external: ## @param etcd.external.servers servers of etcd ## such as "https://192.168.1.1:2379,https://192.168.1.2:2379,https://192.168.1.3:2379" servers: "" ## @param etcd.external.registryPrefix use to registry prefix of etcd registryPrefix: "/registry/karmada" certs: ## @param etcd.external.certs.caCrt ca of the certificate caCrt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param etcd.external.certs.crt crt of the certificate crt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param etcd.external.certs.key key of the certificate key: | -----BEGIN RSA PRIVATE KEY----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END RSA PRIVATE KEY----- internal: ## @param etcd.internal.replicaCount target replicas replicaCount: 1 image: ## @param etcd.internal.image.repository image of the etcd repository: k8s.gcr.io/etcd ## @param etcd.internal.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param etcd.internal.image.tag overrides the image tag whose default is the latest tag: "3.4.13-0" ## @param etcd.internal.storageType storage type for etcd data ## "pvc" means using volumeClaimTemplates ## "hostPath" means using hostPath storageType: "hostPath" pvc: ## @param etcd.internal.pvc.storageClass storageClass name of PVC storageClass: "" ## @param etcd.internal.pvc.size size of PVC size: "" ## @param etcd.internal.resources resources: { } # 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: 100m # memory: 128Mi ## agent client config agent: ## @param agent.clusterName name of the member cluster clusterName: "" ## kubeconfig of the karmada kubeconfig: ## @param agent.kubeconfig.caCrt ca of the certificate caCrt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param agent.kubeconfig.crt crt of the certificate crt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param agent.kubeconfig.key key of the certificate key: | -----BEGIN RSA PRIVATE KEY----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END RSA PRIVATE KEY----- ## @param agent.kubeconfig.server apiserver of the karmada server: "" ## @param agent.labels labels: app: karmada-agent ## @param agent.replicaCount target replicas replicaCount: 1 ## @param agent.podAnnotations podAnnotations: { } ## @param agent.podLabels podLabels: { } ## @param agent.imagePullSecrets imagePullSecrets: [ ] image: ## @param agent.image.repository image of the agent repository: swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-agent ## @param agent.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param agent.image.tag overrides the image tag whose default is the latest tag: latest ## @param agent.resources resources: { } # 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: 100m # memory: 128Mi ## @param agent.nodeSelector nodeSelector: { } ## @param agent.affinity affinity: { } ## @param agent.tolerations tolerations: { } # - key: node-role.kubernetes.io/master # operator: Exists strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 50% ## karmada scheduler estimator schedulerEstimator: ## schedulerEstimator.clusterName the name of the member cluster clusterName: "" ## kubeconfig of the member cluster kubeconfig: ## @param schedulerEstimator.kubeconfig.caCrt ca of the certificate caCrt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param schedulerEstimator.kubeconfig.crt crt of the certificate crt: | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ## @param schedulerEstimator.kubeconfig.key key of the certificate key: | -----BEGIN RSA PRIVATE KEY----- XXXXXXXXXXXXXXXXXXXXXXXXXXX -----END RSA PRIVATE KEY----- ## @param schedulerEstimator.kubeconfig.server apiserver of the member cluster server: "" ## @param schedulerEstimator.labels labels: {} ## @param schedulerEstimator.replicaCount target replicas replicaCount: 1 ## @param schedulerEstimator.podAnnotations podAnnotations: { } ## @param schedulerEstimator.podLabels podLabels: { } ## @param schedulerEstimator.imagePullSecrets imagePullSecrets: [ ] image: ## @param schedulerEstimator.image.repository image of the apiserver repository: swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-scheduler-estimator ## @param schedulerEstimator.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param schedulerEstimator.image.tag overrides the image tag whose default is the latest tag: "latest" ## @param schedulerEstimator.resources resources: { } # 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: 100m # memory: 128Mi ## @param schedulerEstimator.nodeSelector nodeSelector: { } ## @param schedulerEstimator.affinity affinity: { } ## @param schedulerEstimator.tolerations tolerations: [ ] # - key: node-role.kubernetes.io/master # operator: Exists strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 50% ## descheduler config descheduler: ## @param descheduler.labels labels: app: karmada-descheduler ## @param descheduler.replicaCount target replicas replicaCount: 2 ## @param descheduler.podAnnotations podAnnotations: { } ## @param descheduler.podLabels podLabels: { } ## @param descheduler.imagePullSecrets imagePullSecrets: [ ] image: ## @param descheduler.image.repository image of the descheduler repository: swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-descheduler ## @param descheduler.image.pullPolicy pull policy of image pullPolicy: IfNotPresent ## @param descheduler.image.tag overrides the image tag whose default is the latest tag: latest ## @param descheduler.resources resources: { } # 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: 100m # memory: 128Mi ## @param descheduler.nodeSelector nodeSelector: { } ## @param descheduler.affinity affinity: { } ## @param descheduler.tolerations tolerations: [ ] # - key: node-role.kubernetes.io/master # operator: Exists strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 50%