Skip to content
This repository has been archived by the owner on Feb 22, 2022. It is now read-only.

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
cten authored Feb 27, 2020
2 parents b995fcd + ee50ef7 commit f90c92a
Show file tree
Hide file tree
Showing 610 changed files with 7,260 additions and 6,340 deletions.
2 changes: 1 addition & 1 deletion incubator/cassandra/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v1
name: cassandra
version: 0.13.4
version: 0.14.2
appVersion: 3.11.5
description: Apache Cassandra is a free and open-source distributed database management
system designed to handle large amounts of data across many commodity servers, providing
Expand Down
1 change: 1 addition & 0 deletions incubator/cassandra/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ The following table lists the configurable parameters of the Cassandra chart and
| `persistence.size` | Size of data volume | `10Gi` |
| `resources` | CPU/Memory resource requests/limits | Memory: `4Gi`, CPU: `2` |
| `service.type` | k8s service type exposing ports, e.g. `NodePort`| `ClusterIP` |
| `service.annotations` | Annotations to apply to cassandra service | `""` |
| `podManagementPolicy` | podManagementPolicy of the StatefulSet | `OrderedReady` |
| `podDisruptionBudget` | Pod distruption budget | `{}` |
| `podAnnotations` | pod annotations for the StatefulSet | `{}` |
Expand Down
38 changes: 20 additions & 18 deletions incubator/cassandra/templates/backup/cronjob.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,23 +66,25 @@ spec:
secret:
secretName: {{ $backup.google.serviceAccountSecret | quote }}
{{- end }}
affinity:
podAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- {{ template "cassandra.fullname" $ }}
- key: release
operator: In
values:
- {{ $release.Name }}
topologyKey: "kubernetes.io/hostname"
{{- with $values.tolerations }}
tolerations:
{{ toYaml . | indent 10 }}
{{- end }}
affinity:
podAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- {{ template "cassandra.fullname" $ }}
- key: release
operator: In
values:
- {{ $release.Name }}
topologyKey: "kubernetes.io/hostname"
{{- with $values.tolerations }}
tolerations:
{{ toYaml . | indent 12 }}
{{- end }}
{{- end }}
{{- end }}
4 changes: 4 additions & 0 deletions incubator/cassandra/templates/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ metadata:
chart: {{ template "cassandra.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- with .Values.service.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
clusterIP: None
type: {{ .Values.service.type }}
Expand Down
29 changes: 23 additions & 6 deletions incubator/cassandra/templates/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,20 @@ spec:
{{- if .Values.tolerations }}
tolerations:
{{ toYaml .Values.tolerations | indent 8 }}
{{- end }}
{{- if .Values.configOverrides }}
initContainers:
- name: config-copier
image: busybox
command: [ 'sh', '-c', 'cp /configmap-files/* /cassandra-configs/ && chown 999:999 /cassandra-configs/*']
volumeMounts:
{{- range $key, $value := .Values.configOverrides }}
- name: cassandra-config-{{ $key | replace "." "-" | replace "_" "--" }}
mountPath: /configmap-files/{{ $key }}
subPath: {{ $key }}
{{- end }}
- name: cassandra-configs
mountPath: /cassandra-configs/
{{- end }}
containers:
{{- if .Values.exporter.enabled }}
Expand Down Expand Up @@ -153,11 +167,10 @@ spec:
volumeMounts:
- name: data
mountPath: /var/lib/cassandra
{{- range $key, $value := .Values.configOverrides }}
- name: cassandra-config-{{ $key | replace "." "-" }}
mountPath: /etc/cassandra/{{ $key }}
subPath: {{ $key }}
{{- end }}
{{- if .Values.configOverrides }}
- name: cassandra-configs
mountPath: /etc/cassandra
{{- end }}
{{- if not .Values.persistence.enabled }}
lifecycle:
preStop:
Expand All @@ -175,7 +188,11 @@ spec:
{{- range $key, $value := .Values.configOverrides }}
- configMap:
name: cassandra
name: cassandra-config-{{ $key | replace "." "-" }}
name: cassandra-config-{{ $key | replace "." "-" | replace "_" "--" }}
{{- end }}
{{- if .Values.configOverrides }}
- name: cassandra-configs
emptyDir: {}
{{- end }}
{{- if not .Values.persistence.enabled }}
- name: data
Expand Down
1 change: 1 addition & 0 deletions incubator/cassandra/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ image:
## ref: http://kubernetes.io/docs/user-guide/services/
service:
type: ClusterIP
annotations: ""

## Use an alternate scheduler, e.g. "stork".
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
Expand Down
2 changes: 1 addition & 1 deletion incubator/mysqlha/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v1
name: mysqlha
version: 1.0.0
version: 1.0.1
appVersion: 5.7.13
description: MySQL cluster with a single master and zero or more slave replicas
keywords:
Expand Down
2 changes: 1 addition & 1 deletion incubator/mysqlha/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This chart bootstraps a single master and multiple slave MySQL deployment on a [

## Prerequisites

- Kubernetes 1.6+
- Kubernetes 1.10+ with Beta APIs enabled
- PV provisioner support in the underlying infrastructure

## Installing the Chart
Expand Down
7 changes: 6 additions & 1 deletion incubator/mysqlha/templates/statefulset.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: apps/v1beta1
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ template "fullname" . }}
Expand All @@ -8,12 +8,17 @@ metadata:
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec:
selector:
matchLabels:
app: {{ template "fullname" . }}
release: {{ .Release.Name }}
serviceName: {{ template "fullname" . }}
replicas: {{ .Values.mysqlha.replicaCount }}
template:
metadata:
labels:
app: {{ template "fullname" . }}
release: {{ .Release.Name }}
{{- if .Values.mysqlha.podAnnotations }}
annotations:
{{ toYaml .Values.mysqlha.podAnnotations | indent 8 }}
Expand Down
2 changes: 1 addition & 1 deletion incubator/mysqlha/values.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## mysql image version
## ref: https://hub.docker.com/r/library/mysql/tags/
##
mysqlImage: mysql:5.7.13
mysqlImage: mysql:5.7.29
xtraBackupImage: gcr.io/google-samples/xtrabackup:1.0

## Specify an imagePullPolicy (Required)
Expand Down
2 changes: 1 addition & 1 deletion incubator/schema-registry/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: schema-registry
home: https://docs.confluent.io/current/schema-registry/docs/index.html
version: 1.1.8
version: 1.1.9
appVersion: 5.0.1
keywords:
- confluent
Expand Down
29 changes: 2 additions & 27 deletions incubator/schema-registry/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -107,34 +107,9 @@ spec:
name: jmx
{{- end }}
livenessProbe:
httpGet:
path: /
port: {{ .Values.servicePort }}
{{- if not .Values.livenessProbe }}
initialDelaySeconds: 10
timeoutSeconds: 5
{{- else }}
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds | default 10}}
{{- if .Values.livenessProbe.periodSeconds }}
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
{{- end }}
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds | default 5}}
{{- if .Values.livenessProbe.successThreshold }}
successThreshold: {{ .Values.livenessProbe.successThreshold }}
{{- end }}
{{- if .Values.livenessProbe.failureThreshold }}
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
{{- end }}
{{- end }}
{{ toYaml .Values.livenessProbe | indent 12 }}
readinessProbe:
httpGet:
path: /
port: {{ .Values.servicePort }}
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds | default 10}}
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds | default 5}}
successThreshold: {{ .Values.readinessProbe.successThreshold }}
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
{{ toYaml .Values.readinessProbe | indent 12 }}
env:
- name: SCHEMA_REGISTRY_HOST_NAME
valueFrom:
Expand Down
11 changes: 10 additions & 1 deletion incubator/schema-registry/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,19 @@ kafkaStore:
## Additional Java arguments to pass to Kafka.
# schemaRegistryOpts: -Dfoo=bar

## Readiness probe config.
## Liveness and readiness probe config.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
##
livenessProbe:
httpGet:
path: /
port: 8081
initialDelaySeconds: 10
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
Expand Down
4 changes: 2 additions & 2 deletions incubator/solr/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

apiVersion: "v1"
name: "solr"
version: "1.3.3"
appVersion: "7.7.2"
version: "1.4.0"
appVersion: "8.4.0"
description: "A helm chart to install Apache Solr: http://lucene.apache.org/solr/"
keywords:
- "solr"
Expand Down
6 changes: 3 additions & 3 deletions incubator/solr/requirements.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: zookeeper
repository: https://kubernetes-charts-incubator.storage.googleapis.com/
version: 1.2.2
digest: sha256:535c0850e71490a52df2686fc1f0b3c737535388df646e1eefe1f0a76999283e
generated: 2019-02-05T15:07:14.273428Z
version: 2.1.3
digest: sha256:ce79cf63a1284c16e6b615a3dea62e619ce99dea85419be5b46a8ee6ceec3b4e
generated: 2020-01-17T16:30:14.272428Z+02:00"
2 changes: 1 addition & 1 deletion incubator/solr/requirements.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

dependencies:
- name: zookeeper
version: 1.2.2
version: 2.1.3
repository: "https://kubernetes-charts-incubator.storage.googleapis.com/"
2 changes: 1 addition & 1 deletion incubator/solr/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ terminationGracePeriodSeconds: 180
# Solr image settings
image:
repository: solr
tag: 7.7.2
tag: 8.4.0
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
Expand Down
4 changes: 2 additions & 2 deletions incubator/sparkoperator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: v1
name: sparkoperator
description: A Helm chart for Spark on Kubernetes operator
version: 0.6.2
appVersion: v1beta2-1.0.1-2.4.4
version: 0.6.6
appVersion: v1beta2-1.1.0-2.4.5
keywords:
- spark
home: https://github.com/GoogleCloudPlatform/spark-on-k8s-operator
Expand Down
34 changes: 29 additions & 5 deletions incubator/sparkoperator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,42 @@ The Operator requires Kubernetes version 1.8 and above because it relies on garb

#### Installing the chart

The chart can be installed by running:
First add the incubator repo:

```bash
$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
```

If using Helm 2, then the chart can be installed by running:

```bash
$ helm install incubator/sparkoperator --namespace spark-operator --set sparkJobNamespace=default
```

Note that you need to use the `--namespace` flag during `helm install` to specify in which namespace you want to install the operator. The namespace can be existing or not. When it's not available, Helm would take care of creating the namespace. Note that this namespace has no relation to the namespace where you would like to deploy Spark jobs (i.e. the setting `sparkJobNamespace` shown in the table below). They can be the same namespace or different ones.

If using Helm 3, then install the chart by running:

```bash
$ helm install incubator/sparkoperator --generate-name --namespace spark-operator --set sparkJobNamespace=default
```

or

```bash
$ helm install [RELEASE-NAME] incubator/sparkoperator --namespace spark-operator --set sparkJobNamespace=default
```

if you don't want Helm to automatically generate a name for you.

#### Configuration

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

| Parameter | Description | Default |
| ------------------------- | ------------------------------------------------------------ | -------------------------------------- |
| `operatorImageName` | The name of the operator image | `gcr.io/spark-operator/spark-operator` |
| `operatorVersion` | The version of the operator to install | `v1beta2-1.0.1-2.4.4` |
| `operatorVersion` | The version of the operator to install | `v1beta2-1.1.0-2.4.5` |
| `imagePullPolicy` | Docker image pull policy | `IfNotPresent` |
| `imagePullSecrets` | Docker image pull secrets | |
| `replicas` | The number of replicas of the operator Deployment | 1 |
Expand All @@ -44,13 +63,18 @@ The following table lists the configurable parameters of the Spark operator char
| `resources` | Resources needed for the sparkoperator deployment | {} |
| `enableBatchScheduler` | Whether to enable batch scheduler for pod scheduling | false |
| `enableResourceQuotaEnforcement` | Whether to enable the ResourceQuota enforcement for SparkApplication resources. Requires the webhook to be enabled by setting enableWebhook to true. | false |
| `enableLeaderElection` | Whether to enable leader election when the operator Deployment has more than one replica, i.e., when `replicas` is greater than 1. | false |
| `securityContext` | Defines security context for operator container | `{}`

| `leaderElection.enable` | Whether to enable leader election when the operator Deployment has more than one replica, i.e., when `replicas` is greater than 1. | false |
| `leaderElection.lockName` | Lock name to use for leader election | `spark-operator-lock` |
| `leaderElection.lockNamespace` | Namespace to use for leader election | (namespace of release) |
| `securityContext` | Defines security context for operator container. | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.

#### Upgrading

##### To 0.6.5

- `enableLeaderElection` has been renamed `leaderElection.enable` to keep all of the leader election stuff together

##### To 0.6.2

###### Breaking changes
Expand Down
11 changes: 7 additions & 4 deletions incubator/sparkoperator/ci/test-values.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
operatorImageName: gcr.io/spark-operator/spark-operator
operatorVersion: v1beta2-1.0.1-2.4.4
operatorVersion: v1beta2-1.1.0-2.4.5
imagePullPolicy: IfNotPresent
imagePullSecrets: []
replicas: 1

rbac:
create: true
Expand All @@ -17,7 +16,6 @@ serviceAccounts:

sparkJobNamespace: ""
installCrds: true
cleanupCrdsBeforeInstall: true
controllerThreads: 10
resyncInterval: 30
ingressUrlFormat: ""
Expand Down Expand Up @@ -57,4 +55,9 @@ enableResourceQuotaEnforcement: false
## Whether to enable leader election when the operator Deployment has more than one replica.
## Only applicable when `replicas` is set to a value greater than 1.
## Ref: https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/docs/user-guide.md#enabling-leader-election-for-high-availability.
enableLeaderElection: false
leaderElection:
enable: false
lockName: "spark-operator-lock"
## Optionally store the lock in another namespace. Defaults to operator's namespace
# lockNamespace: ""
replicas: 1
Loading

0 comments on commit f90c92a

Please sign in to comment.