Add nodeSelector, tolerations, affinity configuration to helm chart (#5059)

This commit is contained in:
SangJun Yun 2018-05-31 19:50:31 +09:00 committed by Jesse Hu
parent 82b57971c0
commit 615671e660
9 changed files with 126 additions and 2 deletions

View File

@ -141,6 +141,9 @@ The following tables lists the configurable parameters of the Harbor chart and t
| `adminserver.ldap.verifyCert` | LDAP Verify HTTPS Certificate | `True` | | `adminserver.ldap.verifyCert` | LDAP Verify HTTPS Certificate | `True` |
| `adminserver.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined | | `adminserver.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined |
| `adminserver.volumes` | used to create PVCs if persistence is enabled (see instructions in values.yaml) | see values.yaml | | `adminserver.volumes` | used to create PVCs if persistence is enabled (see instructions in values.yaml) | see values.yaml |
| `adminserver.nodeSelector` | Node labels for pod assignment | `{}` |
| `adminserver.tolerations` | Tolerations for pod assignment | `[]` |
| `adminserver.affinity` | Node/Pod affinities | `{}` |
| **Jobservice** | | **Jobservice** |
| `jobservice.image.repository` | Repository for jobservice image | `vmware/harbor-jobservice` | | `jobservice.image.repository` | Repository for jobservice image | `vmware/harbor-jobservice` |
| `jobservice.image.tag` | Tag for jobservice image | `v1.4.0` | | `jobservice.image.tag` | Tag for jobservice image | `v1.4.0` |
@ -148,6 +151,9 @@ The following tables lists the configurable parameters of the Harbor chart and t
| `jobservice.key` | jobservice key | `not-a-secure-key` | | `jobservice.key` | jobservice key | `not-a-secure-key` |
| `jobservice.secret` | jobservice secret | `not-a-secure-secret` | | `jobservice.secret` | jobservice secret | `not-a-secure-secret` |
| `jobservice.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined | | `jobservice.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined |
| `jobservice.nodeSelector` | Node labels for pod assignment | `{}` |
| `jobservice.tolerations` | Tolerations for pod assignment | `[]` |
| `jobservice.affinity` | Node/Pod affinities | `{}` |
| **UI** | | **UI** |
| `ui.image.repository` | Repository for ui image | `vmware/harbor-ui` | | `ui.image.repository` | Repository for ui image | `vmware/harbor-ui` |
| `ui.image.tag` | Tag for ui image | `v1.4.0` | | `ui.image.tag` | Tag for ui image | `v1.4.0` |
@ -156,6 +162,9 @@ The following tables lists the configurable parameters of the Harbor chart and t
| `ui.secret` | ui secret | `not-a-secure-secret` | | `ui.secret` | ui secret | `not-a-secure-secret` |
| `ui.privateKeyPem` | ui private key | see values.yaml | | `ui.privateKeyPem` | ui private key | see values.yaml |
| `ui.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined | | `ui.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined |
| `ui.nodeSelector` | Node labels for pod assignment | `{}` |
| `ui.tolerations` | Tolerations for pod assignment | `[]` |
| `ui.affinity` | Node/Pod affinities | `{}` |
| **MySQL** | | **MySQL** |
| `mysql.image.repository` | Repository for mysql image | `vmware/harbor-mysql` | | `mysql.image.repository` | Repository for mysql image | `vmware/harbor-mysql` |
| `mysql.image.tag` | Tag for mysql image | `v1.4.0` | | `mysql.image.tag` | Tag for mysql image | `v1.4.0` |
@ -167,6 +176,9 @@ The following tables lists the configurable parameters of the Harbor chart and t
| `mysql.database` | MySQL Database | `registry` | | `mysql.database` | MySQL Database | `registry` |
| `mysql.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined | | `mysql.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined |
| `mysql.volumes` | used to create PVCs if persistence is enabled (see instructions in values.yaml) | see values.yaml | | `mysql.volumes` | used to create PVCs if persistence is enabled (see instructions in values.yaml) | see values.yaml |
| `mysql.nodeSelector` | Node labels for pod assignment | `{}` |
| `mysql.tolerations` | Tolerations for pod assignment | `[]` |
| `mysql.affinity` | Node/Pod affinities | `{}` |
| **Registry** | | **Registry** |
| `registry.image.repository` | Repository for registry image | `vmware/registry-photon` | | `registry.image.repository` | Repository for registry image | `vmware/registry-photon` |
| `registry.image.tag` | Tag for registry image | `v2.6.2-v1.4.0` | | `registry.image.tag` | Tag for registry image | `v2.6.2-v1.4.0` |
@ -175,11 +187,17 @@ The following tables lists the configurable parameters of the Harbor chart and t
| `registry.httpSecret` | registry secret | `not-a-secure-secret` | | `registry.httpSecret` | registry secret | `not-a-secure-secret` |
| `registry.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined | | `registry.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined |
| `registry.volumes` | used to create PVCs if persistence is enabled (see instructions in values.yaml) | see values.yaml | | `registry.volumes` | used to create PVCs if persistence is enabled (see instructions in values.yaml) | see values.yaml |
| `registry.nodeSelector` | Node labels for pod assignment | `{}` |
| `registry.tolerations` | Tolerations for pod assignment | `[]` |
| `registry.affinity` | Node/Pod affinities | `{}` |
| **Clair** | | **Clair** |
| `clair.enabled` | Enable Clair? | `true` | | `clair.enabled` | Enable Clair? | `true` |
| `clair.image.repository` | Repository for clair image | `vmware/clair-photon` | | `clair.image.repository` | Repository for clair image | `vmware/clair-photon` |
| `clair.image.tag` | Tag for clair image | `v2.0.1-v1.4.0` | `clair.image.tag` | Tag for clair image | `v2.0.1-v1.4.0`
| `clair.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined | `clair.resources` | [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) to allocate for container | undefined
| `clair.nodeSelector` | Node labels for pod assignment | `{}` |
| `clair.tolerations` | Tolerations for pod assignment | `[]` |
| `clair.affinity` | Node/Pod affinities | `{}` |
| `postgresql` | Overrides for postgresql chart [values.yaml](https://github.com/kubernetes/charts/blob/f2938a46e3ae8e2512ede1142465004094c3c333/stable/postgresql/values.yaml) | see values.yaml | `postgresql` | Overrides for postgresql chart [values.yaml](https://github.com/kubernetes/charts/blob/f2938a46e3ae8e2512ede1142465004094c3c333/stable/postgresql/values.yaml) | see values.yaml
| **Notary** | | **Notary** |
| `notary.enabled` | Enable Notary? | `true` | | `notary.enabled` | Enable Notary? | `true` |
@ -190,7 +208,9 @@ The following tables lists the configurable parameters of the Harbor chart and t
| `notary.db.image.repository` | Repository for notary database image | `vmware/mariadb-photon` | | `notary.db.image.repository` | Repository for notary database image | `vmware/mariadb-photon` |
| `notary.db.image.tag` | Tag for notary database image | `v1.4.0` | `notary.db.image.tag` | Tag for notary database image | `v1.4.0`
| `notary.db.password` | The password of users for notary database | Specify your own password | | `notary.db.password` | The password of users for notary database | Specify your own password |
| `notary.nodeSelector` | Node labels for pod assignment | `{}` |
| `notary.tolerations` | Tolerations for pod assignment | `[]` |
| `notary.affinity` | Node/Pod affinities | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example: Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example:

View File

@ -56,6 +56,18 @@ spec:
items: items:
- key: secretKey - key: secretKey
path: key path: key
{{- with .Values.adminserver.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.adminserver.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.adminserver.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- if .Values.persistence.enabled }} {{- if .Values.persistence.enabled }}
volumeClaimTemplates: volumeClaimTemplates:
- metadata: - metadata:

View File

@ -38,4 +38,16 @@ spec:
items: items:
- key: config.yaml - key: config.yaml
path: config.yaml path: config.yaml
{{- with .Values.clair.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.clair.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.clair.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{ end }} {{ end }}

View File

@ -45,3 +45,15 @@ spec:
name: "{{ template "harbor.fullname" . }}-jobservice" name: "{{ template "harbor.fullname" . }}-jobservice"
- name: job-logs - name: job-logs
emptyDir: {} emptyDir: {}
{{- with .Values.jobservice.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.jobservice.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.jobservice.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}

View File

@ -38,6 +38,18 @@ spec:
- name: "mysql-data" - name: "mysql-data"
emptyDir: {} emptyDir: {}
{{- end -}} {{- end -}}
{{- with .Values.mysql.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.mysql.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.mysql.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- if .Values.persistence.enabled }} {{- if .Values.persistence.enabled }}
volumeClaimTemplates: volumeClaimTemplates:
- metadata: - metadata:

View File

@ -40,4 +40,16 @@ spec:
- name: root-certificate - name: root-certificate
secret: secret:
secretName: "{{ template "harbor.fullname" . }}-registry" secretName: "{{ template "harbor.fullname" . }}-registry"
{{- with .Values.notary.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.notary.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.notary.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{ end }} {{ end }}

View File

@ -52,6 +52,18 @@ spec:
- name: registry-config - name: registry-config
configMap: configMap:
name: "{{ template "harbor.fullname" . }}-registry" name: "{{ template "harbor.fullname" . }}-registry"
{{- with .Values.registry.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.registry.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.registry.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- if and (not .Values.registry.objectStorage) .Values.persistence.enabled }} {{- if and (not .Values.registry.objectStorage) .Values.persistence.enabled }}
volumeClaimTemplates: volumeClaimTemplates:
- metadata: - metadata:

View File

@ -74,3 +74,15 @@ spec:
emptyDir: {} emptyDir: {}
- name: psc - name: psc
emptyDir: {} emptyDir: {}
{{- with .Values.ui.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.ui.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.ui.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}

View File

@ -89,6 +89,9 @@ adminserver:
# requests: # requests:
# memory: 256Mi # memory: 256Mi
# cpu: 100m # cpu: 100m
nodeSelector: {}
tolerations: []
affinity: {}
## jobservice ## jobservice
# #
@ -103,6 +106,9 @@ jobservice:
# requests: # requests:
# memory: 256Mi # memory: 256Mi
# cpu: 100m # cpu: 100m
nodeSelector: {}
tolerations: []
affinity: {}
## UI ## UI
# #
@ -168,6 +174,9 @@ ui:
# requests: # requests:
# memory: 256Mi # memory: 256Mi
# cpu: 100m # cpu: 100m
nodeSelector: {}
tolerations: []
affinity: {}
## MySQL Settings. Currently Harbor does not support an external ## MySQL Settings. Currently Harbor does not support an external
## MySQL server, only their own image. Until this is fixed, do not ## MySQL server, only their own image. Until this is fixed, do not
@ -193,6 +202,9 @@ mysql:
# requests: # requests:
# memory: 256Mi # memory: 256Mi
# cpu: 100m # cpu: 100m
nodeSelector: {}
tolerations: []
affinity: {}
registry: registry:
image: image:
@ -260,8 +272,10 @@ registry:
#redis: #redis:
# addr: "redis-host:6379" # addr: "redis-host:6379"
# db: 2 # db: 2
nodeSelector: {}
tolerations: []
affinity: {}
clair: clair:
enabled: true enabled: true
image: image:
@ -291,6 +305,9 @@ clair:
# requests: # requests:
# memory: 256Mi # memory: 256Mi
# cpu: 100m # cpu: 100m
nodeSelector: {}
tolerations: []
affinity: {}
## Settings for postgresql dependency. ## Settings for postgresql dependency.
## see https://github.com/kubernetes/charts/tree/master/stable/postgresql ## see https://github.com/kubernetes/charts/tree/master/stable/postgresql
@ -349,3 +366,6 @@ notary:
# requests: # requests:
# memory: 256Mi # memory: 256Mi
# cpu: 100m # cpu: 100m
nodeSelector: {}
tolerations: []
affinity: {}