[incubator/spring-cloud-data-flow] Update to new app version 1.3.0 (#3525)

* [incubator/spring-cloud-data-flow] Update to new app version 1.3.0

- Add new spring-cloud-skipper component

- Add RBAC support

- Update requirements versions

* Updating chart for RBAC best practices

* Addressing further review comments

- use "scdf" prefix for name/fullname/serviceAccountName templates

- remove namespace from Role definition

- update to latest image tags for Data Flow server

* Address review comments

- add seviceAccount config to README

- remove most port config options

- move SPRING_APPLICATION_JSON to ConfigMap

* Update Chart.yaml with latest release version

* Adding names to container ports

- refer to ports by name for services and probes

- remove TCP protocol since it is the default

- add probes for skipper deployment

* Avoid warning message for skipper init-mysql-database init container

* Modifying init container init-wait-mysql for skipper component

* Fix env var references that include the release name

- replaces any '-' characters with '_' to create valid env var references
This commit is contained in:
Thomas Risberg
2018-03-08 10:44:55 -08:00
committed by k8s-ci-robot
parent ffcce6180f
commit 4eece2c7b7
18 changed files with 315 additions and 94 deletions
+4 -3
View File
@@ -1,12 +1,13 @@
apiVersion: v1
description: Open source, multi-cloud toolkit for building data integration and real-time data processing pipelines.
description: Toolkit for building data processing pipelines.
name: spring-cloud-data-flow
version: 0.1.0
appVersion: 1.2.2.RELEASE
version: 0.2.0
appVersion: 1.3.1.RELEASE
home: http://cloud.spring.io/spring-cloud-dataflow/
sources:
- https://github.com/spring-cloud/spring-cloud-dataflow
- https://github.com/spring-cloud/spring-cloud-dataflow-server-kubernetes
- https://github.com/spring-cloud/spring-cloud-skipper
- https://github.com/spring-cloud/spring-cloud-dataflow-metrics-collector
icon: https://raw.githubusercontent.com/spring-cloud/spring-cloud-dataflow/master/spring-cloud-dataflow-docs/src/main/docbook/images/logo.png
maintainers:
+28 -11
View File
@@ -36,6 +36,19 @@ Note that this chart pulls in many different Docker images so can take a while t
The following tables lists the configurable parameters and their default values.
### RBAC Configuration
| Parameter | Description | Default |
| ------------- | --------------------------- | ------------------------- |
| rbac.create | Create RBAC configurations | true
### ServiceAccount Configuration
| Parameter | Description | Default |
| --------------------- | ---------------------- | --------------------------- |
| serviceAccount.create | Create ServiceAccount | true
| serviceAccount.name | ServiceAccount name | (generated if not specified)
### Data Flow User Accounts
| Parameter | Description | Default |
@@ -45,19 +58,25 @@ The following tables lists the configurable parameters and their default values.
| dataflowRoles | The roles assigned to the primary user | ROLE_VIEW, ROLE_CREATE
| dataflowAdminUsername | The username for the admin user | admin
| dataflowAdminPassword | The password for the admin user | admin
| dataflowAdminRoles | The roles assigned to the admin user ROLE_MANAGE, ROLE_VIEW
| dataflowAdminRoles | The roles assigned to the admin user | ROLE_MANAGE, ROLE_VIEW
### Data Flow Server Configuration
| Parameter | Description | Default |
| --------------------------------- | -------------------------------------------------- | ---------------- |
| server.version | The version/tag of the Data Flow server | 1.2.2.RELEASE
| server.version | The version/tag of the Data Flow server | 1.3.0.RELEASE
| server.imagePullPolicy | The imagePullPolicy of the Data Flow server | IfNotPresent
| server.service.type | The service type for the Data Flow server | LoadBalancer
| server.service.externalPort | The external port for the Data Flow server | 80
| server.service.internalPort | The internal port for the Data Flow server | 80
| server.service.resources.limits | Data Flow server Resource limits | cpu: 1.0 memory: 2048Mi
| server.service.resources.requests | Data Flow server Resource resuests | cpu: 0.5 memory: 1024Mi
### Skipper Server Configuration
| Parameter | Description | Default |
| ---------------------------------- | ------------------------------------------------- | ---------------- |
| skipper.version | The version/tag of the Skipper server | 1.0.0.RELEASE
| skipper.imagePullPolicy | The imagePullPolicy of the Skipper server | IfNotPresent
| skipper.platformName | The name of the configured platform account | minikube
| skipper.service.type | The service type for the Skipper server | ClusterIP
### Metrics Server Configuration
@@ -66,23 +85,21 @@ The following tables lists the configurable parameters and their default values.
| metrics.version | The version/tag of the Metrics server | 1.0.0.RELEASE
| metrics.imagePullPolicy | The imagePullPolicy of the Metrics server | IfNotPresent
| metrics.service.type | The service type for the Metrics server | ClusterIP
| metrics.service.externalPort | The external port for the Metrics server | 80
| metrics.service.internalPort | The internal port for the Metrics server | 80
| metrics.service.resources.limits | Metrics server Resource limits | cpu: 1.0 memory: 1024Mi
| metrics.service.resources.requests | Metrics server Resource limits | cpu: 0.5 memory: 640Mi
### Spring Cloud Deployer Configuration
| Parameter | Description | Default |
| ------------------------------------------- | -------------------------------------- | ------------------------- |
| deployer.resourceLimits.cpu | Deployer resource limit for cpu | 500m
| deployer.resourceLimits.memory | Deployer resource limit for memory | 1024Mi
| deployer.readinessProbe.initialDelaySeconds | Deployer readiness probe initial delay | 120
| deployer.livenessProbe.initialDelaySeconds | Deployer liveness probe initial delay | 90
### Rabbit MQ Configuration
### RabbitMQ Configuration
| Parameter | Description | Default |
| -------------------------- | --------------------- | ------------------------- |
| rabbitmq.rabbitmqUsername | Rebbit MQ user name | user
| rabbitmq.rabbitmqUsername | RabbitMQ user name | user
### MySQL Configuration
@@ -1,24 +1,12 @@
dependencies:
- condition: ""
enabled: false
import-values: null
name: mysql
- name: mysql
repository: https://kubernetes-charts.storage.googleapis.com/
tags: null
version: 0.2.6
- condition: ""
enabled: false
import-values: null
name: redis
version: 0.3.4
- name: redis
repository: https://kubernetes-charts.storage.googleapis.com/
tags: null
version: 0.7.0
- condition: ""
enabled: false
import-values: null
name: rabbitmq
version: 1.1.11
- name: rabbitmq
repository: https://kubernetes-charts.storage.googleapis.com/
tags: null
version: 0.5.3
digest: sha256:49551c5220854587689ffacf8ff53167aec2dd302593d163dcea2f6eb412b5a5
generated: 2017-07-05T15:31:20.67673899-04:00
version: 0.6.16
digest: sha256:b16ffdc5da316b3a7e677d3a83670341b13670d7e59f8ce74d023a01df05f135
generated: 2018-01-31T09:21:26.470351-05:00
@@ -1,10 +1,10 @@
dependencies:
- name: mysql
version: 0.2.6
version: 0.3.4
repository: https://kubernetes-charts.storage.googleapis.com/
- name: redis
version: 0.7.0
version: 1.1.11
repository: https://kubernetes-charts.storage.googleapis.com/
- name: rabbitmq
version: 0.5.3
version: 0.6.16
repository: https://kubernetes-charts.storage.googleapis.com/
@@ -9,7 +9,7 @@
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "scdf.fullname" . }}-server -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.server.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "scdf.fullname" . }}-server" -> -l "app={{ template "name" . }},release={{ .Release.Name }},component=server"
echo "Visit http://127.0.0.1:{{ .Values.server.service.internalPort }} to use your application"
kubectl port-forward $POD_NAME {{ .Values.server.service.internalPort }}:{{ .Values.service.externalPort }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "scdf.fullname" . }}-server" -> -l "app={{ template "scdf.name" . }},release={{ .Release.Name }},component=server"
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.server.service.externalPort }}
{{- end }}
@@ -2,19 +2,10 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- define "scdf.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default short app name to use for resource naming.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
@@ -25,10 +16,27 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
{{- end -}}
{{/*
Create a default short app name to use for environment variables.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
Create an uppercase app name to use for environment variables.
*/}}
{{- define "scdf.envname" -}}
{{- $name := default "data-flow" .Values.appNameOverride -}}
{{- printf "%s_%s" .Release.Name $name | upper | replace "-" "_" | trunc 63 | trimSuffix "_" -}}
{{- printf "%s_%s" .Release.Name $name | upper | replace "-" "_" | trimSuffix "_" -}}
{{- end -}}
{{/*
Create an uppercase release prefix to use for environment variables.
*/}}
{{- define "scdf.envrelease" -}}
{{- printf "%s" .Release.Name | upper | replace "-" "_" | trimSuffix "_" -}}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "scdf.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "scdf.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}
@@ -3,7 +3,7 @@ kind: Deployment
metadata:
name: {{ template "scdf.fullname" . }}-metrics
labels:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
component: metrics
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
@@ -13,7 +13,7 @@ spec:
template:
metadata:
labels:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
component: metrics
release: "{{ .Release.Name }}"
spec:
@@ -22,30 +22,35 @@ spec:
image: {{ .Values.metrics.image }}:{{ .Values.metrics.version }}
imagePullPolicy: {{ .Values.metrics.imagePullPolicy }}
ports:
- containerPort: {{ .Values.metrics.service.internalPort }}
- containerPort: 8080
name: http
resources:
{{ toYaml .Values.metrics.resources | indent 10 }}
livenessProbe:
httpGet:
path: /health
port: {{ .Values.metrics.service.internalPort }}
initialDelaySeconds: 60
timeoutSeconds: 10
port: http
initialDelaySeconds: 90
periodSeconds: 15
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /health
port: {{ .Values.metrics.service.internalPort }}
initialDelaySeconds: 30
timeoutSeconds: 10
port: http
initialDelaySeconds: 60
periodSeconds: 15
timeoutSeconds: 5
env:
- name: SERVER_PORT
value: '80'
value: '8080'
- name: SPRING_CLOUD_CONFIG_ENABLED
value: 'false'
- name: SECURITY_BASIC_ENABLED
value: 'false'
- name: SPRING_RABBITMQ_HOST
value: '${{ printf "{%s" .Release.Name | upper }}_RABBITMQ_SERVICE_HOST}'
value: '${{ printf "{" }}{{ template "scdf.envrelease" . }}_RABBITMQ_SERVICE_HOST}'
- name: SPRING_RABBITMQ_PORT
value: '${{ printf "{%s" .Release.Name | upper }}_RABBITMQ_SERVICE_PORT_AMPQ}'
value: '${{ printf "{" }}{{ template "scdf.envrelease" . }}_RABBITMQ_SERVICE_PORT_AMQP}'
- name: SPRING_RABBITMQ_USERNAME
value: '{{ .Values.rabbitmq.rabbitmqUsername }}'
- name: SPRING_RABBITMQ_PASSWORD
@@ -53,3 +58,4 @@ spec:
secretKeyRef:
name: {{ printf "%s-%s" .Release.Name "rabbitmq" | trunc 63 | trimSuffix "-" }}
key: rabbitmq-password
serviceAccountName: {{ template "scdf.serviceAccountName" . }}
@@ -3,7 +3,7 @@ apiVersion: v1
metadata:
name: {{ template "scdf.fullname" . }}-metrics
labels:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
component: metrics
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
@@ -11,11 +11,10 @@ metadata:
spec:
type: {{ .Values.metrics.service.type }}
ports:
- port: {{ .Values.metrics.service.externalPort }}
targetPort: {{ .Values.metrics.service.internalPort }}
protocol: TCP
- port: 80
targetPort: http
name: http
selector:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
component: metrics
release: {{ .Release.Name }}
@@ -3,7 +3,7 @@ kind: Secret
metadata:
name: {{ template "scdf.fullname" . }}
labels:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
@@ -3,7 +3,7 @@ kind: ConfigMap
metadata:
name: {{ template "scdf.fullname" . }}-server
labels:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
component: server
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
@@ -26,15 +26,15 @@ data:
{{ .Values.dataflowUsername }}: ${data-flow-password}, {{ .Values.dataflowRoles }}
deployer:
kubernetes:
environmentVariables: 'SPRING_RABBITMQ_HOST=${{ printf "{%s" .Release.Name | upper }}_RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${{ printf "{%s" .Release.Name | upper }}_RABBITMQ_SERVICE_PORT_AMPQ},SPRING_RABBITMQ_USERNAME={{ .Values.rabbitmq.rabbitmqUsername }},SPRING_RABBITMQ_PASSWORD=${rabbitmq-password},SPRING_REDIS_HOST=${{ printf "{%s" .Release.Name | upper }}_REDIS_SERVICE_HOST},SPRING_REDIS_PORT=${{ printf "{%s" .Release.Name | upper }}_REDIS_SERVICE_PORT},SPRING_REDIS_PASSWORD=${redis-password}'
environmentVariables: 'SPRING_RABBITMQ_HOST=${{ printf "{" }}{{ template "scdf.envrelease" . }}_RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${{ printf "{" }}{{ template "scdf.envrelease" . }}_RABBITMQ_SERVICE_PORT_AMQP},SPRING_RABBITMQ_USERNAME={{ .Values.rabbitmq.rabbitmqUsername }},SPRING_RABBITMQ_PASSWORD=${rabbitmq-password},SPRING_REDIS_HOST=${{ printf "{" }}{{ template "scdf.envrelease" . }}_REDIS_SERVICE_HOST},SPRING_REDIS_PORT=${{ printf "{" }}{{ template "scdf.envrelease" . }}_REDIS_SERVICE_PORT},SPRING_REDIS_PASSWORD=${redis-password}'
datasource:
url: 'jdbc:mysql://${{ printf "{%s" .Release.Name | upper }}_MYSQL_SERVICE_HOST}:3306/dataflow'
url: 'jdbc:mysql://${{ printf "{" }}{{ template "scdf.envrelease" . }}_MYSQL_SERVICE_HOST}:3306/dataflow'
driverClassName: org.mariadb.jdbc.Driver
username: root
password: ${mysql-root-password}
testOnBorrow: true
validationQuery: "SELECT 1"
redis:
host: ${{ printf "{%s" .Release.Name | upper }}_REDIS_SERVICE_HOST}
port: ${{ printf "{%s" .Release.Name | upper }}_REDIS_SERVICE_PORT}
host: ${{ printf "{" }}{{ template "scdf.envrelease" . }}_REDIS_SERVICE_HOST}
port: ${{ printf "{" }}{{ template "scdf.envrelease" . }}_REDIS_SERVICE_PORT}
password: ${redis-password}
@@ -3,7 +3,7 @@ kind: Deployment
metadata:
name: {{ template "scdf.fullname" . }}-server
labels:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
component: server
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
@@ -13,7 +13,7 @@ spec:
template:
metadata:
labels:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
component: server
release: "{{ .Release.Name }}"
spec:
@@ -44,13 +44,14 @@ spec:
}
]
ports:
- containerPort: {{ .Values.server.service.internalPort }}
- containerPort: 8080
name: http
resources:
{{ toYaml .Values.server.resources | indent 10 }}
livenessProbe:
httpGet:
path: /management/health
port: {{ .Values.server.service.internalPort }}
port: http
httpHeaders:
- name: Authorization
value: 'Basic {{ printf "%s:%s" .Values.dataflowAdminUsername .Values.dataflowAdminPassword | b64enc }}'
@@ -60,7 +61,7 @@ spec:
readinessProbe:
httpGet:
path: /management/health
port: {{ .Values.server.service.internalPort }}
port: http
httpHeaders:
- name: Authorization
value: 'Basic {{ printf "%s:%s" .Values.dataflowAdminUsername .Values.dataflowAdminPassword | b64enc }}'
@@ -73,15 +74,17 @@ spec:
fieldRef:
fieldPath: "metadata.namespace"
- name: SERVER_PORT
value: '{{ .Values.server.service.internalPort }}'
value: '8080'
- name: SPRING_CLOUD_CONFIG_ENABLED
value: 'false'
- name: SPRING_CLOUD_DATAFLOW_FEATURES_ANALYTICS_ENABLED
value: 'true'
- name: SPRING_CLOUD_DEPLOYER_KUBERNETES_CREATE_DEPLOYMENT
value: 'true'
- name: SPRING_CLOUD_DEPLOYER_KUBERNETES_CPU
value: '{{ .Values.deployer.resourceLimits.cpu }}'
- name: SPRING_CLOUD_DEPLOYER_KUBERNETES_MEMORY
value: 640Mi
value: '{{ .Values.deployer.resourceLimits.memory }}'
- name: SPRING_CLOUD_DEPLOYER_KUBERNETES_READINESS_PROBE_DELAY
value: '{{ .Values.deployer.readinessProbe.initialDelaySeconds }}'
- name: SPRING_CLOUD_DEPLOYER_KUBERNETES_LIVENESS_PROBE_DELAY
@@ -92,6 +95,10 @@ spec:
value: 'true'
- name: SPRING_CLOUD_KUBERNETES_SECRETS_PATHS
value: /etc/secrets
- name: SPRING_CLOUD_DATAFLOW_FEATURES_SKIPPER_ENABLED
value: 'true'
- name: SPRING_CLOUD_SKIPPER_CLIENT_SERVER_URI
value: 'http://${{ printf "{" }}{{ template "scdf.envname" . }}_SKIPPER_SERVICE_HOST}/api'
- name: SPRING_CLOUD_DATAFLOW_METRICS_COLLECTOR_URI
value: 'http://${{ printf "{" }}{{ template "scdf.envname" . }}_METRICS_SERVICE_HOST}'
- name: SPRING_CLOUD_DATAFLOW_SERVER_URI
@@ -125,3 +132,4 @@ spec:
}
}
]
serviceAccountName: {{ template "scdf.serviceAccountName" . }}
@@ -0,0 +1,41 @@
{{- if .Values.rbac.create -}}
kind: Role
apiVersion: rbac.authorization.k8s.io/{{ required "A valid .Values.rbac.apiVersion entry required!" .Values.rbac.apiVersion }}
metadata:
name: {{ template "scdf.fullname" . }}
labels:
app: {{ template "scdf.name" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
rules:
- apiGroups: [""]
resources: ["services", "pods", "replicationcontrollers", "persistentvolumeclaims"]
verbs: ["get", "list", "watch", "create", "delete", "update"]
- apiGroups: [""]
resources: ["configmaps", "secrets"]
verbs: ["get", "list", "watch"]
- apiGroups: ["apps"]
resources: ["statefulsets"]
verbs: ["get", "list", "watch", "create", "delete", "update"]
- apiGroups: ["extensions"]
resources: ["deployments", "replicasets", "jobs"]
verbs: ["get", "list", "watch", "create", "delete", "update", "patch"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/{{ required "A valid .Values.rbac.apiVersion entry required!" .Values.rbac.apiVersion }}
metadata:
name: {{ template "scdf.fullname" . }}
labels:
app: {{ template "scdf.name" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
roleRef:
kind: Role
name: {{ template "scdf.fullname" . }}
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
name: {{ template "scdf.serviceAccountName" . }}
{{- end -}}
@@ -3,7 +3,7 @@ apiVersion: v1
metadata:
name: {{ template "scdf.fullname" . }}-server
labels:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
component: server
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
@@ -13,10 +13,9 @@ spec:
type: {{ .Values.server.service.type }}
ports:
- port: {{ .Values.server.service.externalPort }}
targetPort: {{ .Values.server.service.internalPort }}
protocol: TCP
targetPort: http
name: http
selector:
app: {{ template "name" . }}
app: {{ template "scdf.name" . }}
component: server
release: {{ .Release.Name }}
@@ -0,0 +1,11 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "scdf.serviceAccountName" . }}
labels:
app: {{ template "scdf.name" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
{{- end -}}
@@ -0,0 +1,12 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "scdf.fullname" . }}-skipper
labels:
app: {{ template "scdf.name" . }}
component: skipper
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
data:
spring.application.json: '{"spring.cloud.skipper.server.enableLocalPlatform" : false, "spring.cloud.skipper.server.platform.kubernetes.accounts.{{ .Values.skipper.platformName }}.environmentVariables" : "SPRING_RABBITMQ_HOST=${{ printf "{" }}{{ template "scdf.envrelease" . }}_RABBITMQ_SERVICE_HOST},SPRING_RABBITMQ_PORT=${{ printf "{" }}{{ template "scdf.envrelease" . }}_RABBITMQ_SERVICE_PORT_AMQP},SPRING_RABBITMQ_USERNAME={{ .Values.rabbitmq.rabbitmqUsername }},SPRING_RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}","spring.cloud.skipper.server.platform.kubernetes.accounts.{{ .Values.skipper.platformName }}.memory" : "{{ .Values.deployer.resourceLimits.memory }}","spring.cloud.skipper.server.platform.kubernetes.accounts.{{ .Values.skipper.platformName }}.cpu" : "{{ .Values.deployer.resourceLimits.cpu }}","spring.cloud.skipper.server.platform.kubernetes.accounts.{{ .Values.skipper.platformName }}.createDeployment" : true}'
@@ -0,0 +1,79 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "scdf.fullname" . }}-skipper
labels:
app: {{ template "scdf.name" . }}
component: skipper
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec:
replicas: 1
template:
metadata:
labels:
app: {{ template "scdf.name" . }}
component: skipper
release: "{{ .Release.Name }}"
spec:
containers:
- name: {{ template "scdf.fullname" . }}-skipper
image: {{ .Values.skipper.image }}:{{ .Values.skipper.version }}
imagePullPolicy: {{ .Values.skipper.imagePullPolicy }}
ports:
- containerPort: 7577
name: http
resources:
{{ toYaml .Values.skipper.resources | indent 10 }}
livenessProbe:
httpGet:
path: /api/about
port: http
initialDelaySeconds: 90
periodSeconds: 15
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /api/about
port: http
initialDelaySeconds: 30
periodSeconds: 15
timeoutSeconds: 5
env:
- name: SPRING_DATASOURCE_URL
value: 'jdbc:mysql://${{ printf "{" }}{{ template "scdf.envrelease" . }}_MYSQL_SERVICE_HOST}:3306/skipper'
- name: SPRING_DATASOURCE_USERNAME
value: root
- name: SPRING_DATASOURCE_PASSWORD
valueFrom:
secretKeyRef:
name: {{ printf "%s-%s" .Release.Name "mysql" | trunc 63 | trimSuffix "-" }}
key: mysql-root-password
- name: SPRING_DATASOURCE_DRIVER_CLASS_NAME
value: org.mariadb.jdbc.Driver
- name: RABBITMQ_PASSWORD
valueFrom:
secretKeyRef:
name: {{ printf "%s-%s" .Release.Name "rabbitmq" | trunc 63 | trimSuffix "-" }}
key: rabbitmq-password
- name: SPRING_APPLICATION_JSON
valueFrom:
configMapKeyRef:
name: {{ template "scdf.fullname" . }}-skipper
key: spring.application.json
value:
initContainers:
- name: init-mysql-wait
image: busybox
command: ['sh', '-c', 'until nc -w3 -z {{ printf "%s-%s" .Release.Name "mysql" | trunc 63 | trimSuffix "-" }} 3306; do echo waiting for mysql; sleep 3; done;']
- name: init-mysql-database
image: mysql:5.7.14
env:
- name: MYSQL_PWD
valueFrom:
secretKeyRef:
name: {{ printf "%s-%s" .Release.Name "mysql" | trunc 63 | trimSuffix "-" }}
key: mysql-root-password
command: ['sh', '-c', 'mysql -h {{ printf "%s-%s" .Release.Name "mysql" | trunc 63 | trimSuffix "-" }} -u root -e "CREATE DATABASE IF NOT EXISTS skipper;"']
serviceAccountName: {{ template "scdf.serviceAccountName" . }}
@@ -0,0 +1,20 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "scdf.fullname" . }}-skipper
labels:
app: {{ template "scdf.name" . }}
component: skipper
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec:
type: {{ .Values.skipper.service.type }}
ports:
- port: 80
targetPort: http
name: http
selector:
app: {{ template "scdf.name" . }}
component: skipper
release: {{ .Release.Name }}
+39 -7
View File
@@ -7,14 +7,26 @@ dataflowRoles: ROLE_VIEW, ROLE_CREATE
dataflowAdminUsername: admin
dataflowAdminPassword: admin
dataflowAdminRoles: ROLE_MANAGE, ROLE_VIEW
rbac:
# Specifies whether RBAC resources should be created
create: true
apiVersion: v1beta1
serviceAccount:
# Specifies whether a service account should be created
create: true
# The name of the service account to use.
# If not set and create is true, a name is generated using the serviceAccountName template
name:
server:
image: springcloud/spring-cloud-dataflow-server-kubernetes
version: 1.2.2.RELEASE
version: 1.3.1.RELEASE
imagePullPolicy: IfNotPresent
service:
type: LoadBalancer
externalPort: 80
internalPort: 80
resources: {}
# limits:
# cpu: 1.0
@@ -22,14 +34,14 @@ server:
# requests:
# cpu: 0.5
# memory: 640Mi
metrics:
image: springcloud/metrics-collector-rabbit
version: 1.0.0.RELEASE
skipper:
image: springcloud/spring-cloud-skipper-server
version: 1.0.1.RELEASE
imagePullPolicy: IfNotPresent
platformName: minikube
service:
type: ClusterIP
externalPort: 80
internalPort: 80
resources: {}
# limits:
# cpu: 1.0
@@ -37,12 +49,32 @@ metrics:
# requests:
# cpu: 0.5
# memory: 640Mi
metrics:
image: springcloud/metrics-collector-rabbit
version: 1.0.0.RELEASE
imagePullPolicy: IfNotPresent
service:
type: ClusterIP
resources: {}
# limits:
# cpu: 1.0
# memory: 1024Mi
# requests:
# cpu: 0.5
# memory: 640Mi
deployer:
resourceLimits:
cpu: 500m
memory: 1024Mi
readinessProbe:
initialDelaySeconds: 120
livenessProbe:
initialDelaySeconds: 90
rabbitmq:
rabbitmqUsername: user
mysql:
mysqlDatabase: dataflow