[incubator/kubeless] Update kubeless chart (#5598)

* Update kubeless chart

* Bump version

* Configure release namespace
This commit is contained in:
Andres
2018-05-17 02:37:53 -07:00
committed by k8s-ci-robot
parent ca5d95c810
commit 31dbce94f9
20 changed files with 345 additions and 264 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
name: kubeless
version: 0.2.3
appVersion: v0.3.1
version: 1.0.0
appVersion: v1.0.0-alpha.2
description: Kubeless is a Kubernetes-native serverless framework. It runs on top of your Kubernetes cluster and allows you to deploy small unit of code without having to build container images.
icon: https://cloud.githubusercontent.com/assets/4056725/25480209/1d5bf83c-2b48-11e7-8db8-bcd650f31297.png
apiVersion: v1
+22 -20
View File
@@ -48,26 +48,28 @@ The command removes all the Kubernetes components associated with the chart and
The following table lists the configurable parameters of the Kubeless chart and their default values.
| Parameter | Description | Default |
|------------------------------------------|-------------------------------|-------------------------------|
| `controller.deployment.image.repository` | Controller image | `bitnami/kubeless-controller` |
| `controller.deployment.image.pullPolicy` | Controller image pull policy | `IfNotPresent` |
| `controller.deployment.replicaCount` | Number of replicas | `1` |
| `ui.enabled` | Kubeless UI component | `false` |
| `ui.deployment.ui.image.repository` | Kubeless UI image | `bitnami/kubeless-ui` |
| `ui.deployment.ui.image.pullPolicy` | Kubeless UI image pull policy | `IfNotPresent` |
| `ui.deployment.proxy.image.repository` | Proxy image | `kelseyhightower/kubectl` |
| `ui.deployment.proxy.image.pullPolicy` | Proxy image pull policy | `IfNotPresent` |
| `ui.deployment.replicaCount` | Number of replicas | `1` |
| `ui.service.name` | Service name | `ui-port` |
| `ui.service.type` | Kubernetes service name | `NodePort` |
| `ui.service.externalPort` | Service external port | `3000` |
| `zookeeper.statefulSet.image.repository` | Zookeeper image | `bitnami/zookeeper` |
| `zookeeper.statefulSet.image.pullPolicy` | Zookeeper image pull policy | `IfNotPresent` |
| `zookeeper.statefulSet.replicaCount` | Number of replicas | `1` |
| `kafka.statefulSet.image.repository` | Kafka image | `bitnami/kafka` |
| `kafka.statefulSet.image.pullPolicy` | Kafka image pull policy | `IfNotPresent` |
| `kafka.statefulSet.replicaCount` | Number of replicas | `1` |
| Parameter | Description | Default |
|------------------------------------------|--------------------------------------------|---------------------------------------|
| `config.builderImage` | Function builder image | `kubeless/function-image-builder` |
| `config.builderImagePullSecret` | Secret to pull builder image | "" |
| `config.builderImage` | Provision image | `kubeless/unzip` |
| `config.builderImagePullSecret` | Secret to pull provision image | "" |
| `config.deploymentTemplate` | Deployment template for functions | `{}` |
| `config.enableBuildStep` | Enable builder functionality | `false` |
| `config.functionRegistryTLSVerify` | Enable TLS verification for image registry | `{}` |
| `config.runtimeImages` | Runtimes available | python, nodejs, ruby, php and go |
| `controller.deployment.image.repository` | Controller image | `bitnami/kubeless-controller-manager` |
| `controller.deployment.image.pullPolicy` | Controller image pull policy | `IfNotPresent` |
| `controller.deployment.replicaCount` | Number of replicas | `1` |
| `ui.enabled` | Kubeless UI component | `false` |
| `ui.deployment.ui.image.repository` | Kubeless UI image | `bitnami/kubeless-ui` |
| `ui.deployment.ui.image.pullPolicy` | Kubeless UI image pull policy | `IfNotPresent` |
| `ui.deployment.proxy.image.repository` | Proxy image | `kelseyhightower/kubectl` |
| `ui.deployment.proxy.image.pullPolicy` | Proxy image pull policy | `IfNotPresent` |
| `ui.deployment.replicaCount` | Number of replicas | `1` |
| `ui.service.name` | Service name | `ui-port` |
| `ui.service.type` | Kubernetes service name | `NodePort` |
| `ui.service.externalPort` | Service external port | `3000` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
+93 -4
View File
@@ -7,14 +7,103 @@ metadata:
{{ include "labels.standard" . | indent 4 }}
rules:
- apiGroups:
- '*'
- ""
resources:
- services
- deployments
- functions
- configmaps
verbs:
- create
- get
- delete
- list
- update
- patch
- apiGroups:
- apps
- extensions
resources:
- deployments
verbs:
- create
- get
- delete
- list
- update
- patch
- apiGroups:
- ""
resources:
- pods
- replicasets
verbs:
- list
- delete
- apiGroups:
- ""
resourceNames:
- kubeless-registry-credentials
resources:
- secrets
verbs:
- get
- apiGroups:
- kubeless.io
resources:
- functions
- httptriggers
- cronjobtriggers
verbs:
- get
- list
- watch
- update
- delete
- apiGroups:
- batch
resources:
- cronjobs
- jobs
verbs:
- create
- get
- delete
- deletecollection
- list
- update
- patch
- apiGroups:
- autoscaling
resources:
- horizontalpodautoscalers
verbs:
- create
- get
- delete
- list
- update
- patch
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- apiGroups:
- monitoring.coreos.com
resources:
- alertmanagers
- prometheuses
- servicemonitors
verbs:
- '*'
- apiGroups:
- extensions
resources:
- ingresses
verbs:
- create
- get
- list
- update
- delete
{{- end}}
@@ -1,7 +1,7 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "kubeless.fullname" . }}-controller
name: {{ template "kubeless.fullname" . }}-controller-manager
labels:
{{ include "labels.standard" . | indent 4 }}
kubeless: controller
@@ -0,0 +1,15 @@
apiVersion: apiextensions.k8s.io/v1beta1
description: CRD object for Cron trigger type
kind: CustomResourceDefinition
metadata:
name: cronjobtriggers.kubeless.io
labels:
{{ include "labels.standard" . | indent 4 }}
spec:
group: kubeless.io
names:
kind: CronJobTrigger
plural: cronjobtriggers
singular: cronjobtrigger
scope: Namespaced
version: v1beta1
@@ -2,14 +2,16 @@ apiVersion: apiextensions.k8s.io/v1beta1
description: Kubernetes Native Serverless Framework
kind: CustomResourceDefinition
metadata:
name: functions.k8s.io
name: functions.kubeless.io
annotations:
kubeless.io/namespace: {{ .Release.Namespace }}
labels:
{{ include "labels.standard" . | indent 4 }}
spec:
group: k8s.io
group: kubeless.io
names:
kind: Function
plural: functions
singular: function
scope: Namespaced
version: v1
version: v1beta1
@@ -0,0 +1,15 @@
apiVersion: apiextensions.k8s.io/v1beta1
description: CRD object for HTTP trigger type
kind: CustomResourceDefinition
metadata:
name: httptriggers.kubeless.io
labels:
{{ include "labels.standard" . | indent 4 }}
spec:
group: kubeless.io
names:
kind: HTTPTrigger
plural: httptriggers
singular: httptrigger
scope: Namespaced
version: v1beta1
@@ -1,15 +0,0 @@
# A headless service to create DNS records
apiVersion: v1
kind: Service
metadata:
name: {{ template "kubeless.fullname" . }}-broker
labels:
{{ include "labels.standard" . | indent 4 }}
spec:
ports:
- port: 9092
clusterIP: None
selector:
kubeless: kafka
app: {{ template "kubeless.name" . }}
release: {{ .Release.Name | quote }}
@@ -1,66 +0,0 @@
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: {{ template "kubeless.fullname" . }}-kafka
labels:
{{ include "labels.standard" . | indent 4 }}
spec:
serviceName: "{{ template "kubeless.fullname" . }}-broker"
replicas: {{ .Values.kafka.statefulSet.replicaCount }}
template:
metadata:
labels:
kubeless: kafka
app: {{ template "kubeless.name" . }}
release: {{ .Release.Name | quote }}
spec:
terminationGracePeriodSeconds: 10
initContainers:
- name: "fix-non-root-permissions"
image: "busybox"
imagePullPolicy: "Always"
command: [ "chmod", "-R", "g+rwX", "/bitnami" ]
volumeMounts:
- name: datadir
mountPath: /bitnami
containers:
- name: broker
image: "{{ .Values.kafka.statefulSet.image.repository }}:{{ .Values.kafka.statefulSet.image.tag }}"
imagePullPolicy: {{ .Values.kafka.statefulSet.image.pullPolicy }}
resources:
{{ toYaml .Values.kafka.resources | indent 10 }}
env:
- name: KAFKA_ADVERTISED_HOST_NAME
value: broker.{{ .Release.Namespace }}
- name: KAFKA_ADVERTISED_PORT
value: "9092"
- name: KAFKA_PORT
value: "9092"
- name: KAFKA_ZOOKEEPER_CONNECT
value: zookeeper.{{ .Release.Namespace }}:2181
- name: ALLOW_PLAINTEXT_LISTENER
value: "yes"
ports:
- containerPort: 9092
name: kafka-port
readinessProbe:
tcpSocket:
port: kafka-port
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: kafka-port
initialDelaySeconds: 30
periodSeconds: 20
volumeMounts:
- name: datadir
mountPath: /bitnami/kafka
volumeClaimTemplates:
- metadata:
name: datadir
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
@@ -1,15 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: kafka
labels:
{{ include "labels.standard" . | indent 4 }}
spec:
ports:
- name: kafka-port
port: 9092
targetPort: kafka-port
selector:
kubeless: kafka
app: {{ template "kubeless.name" . }}
release: {{ .Release.Name | quote }}
@@ -0,0 +1,14 @@
apiVersion: v1
data:
builder-image: "{{ .Values.config.builderImage }}:{{ .Values.controller.deployment.image.tag }}"
builder-image-secret: "{{ .Values.config.builderImagePullSecret }}"
deployment: "{{ .Values.config.deploymentTemplate }}"
enable-build-step: "{{ .Values.config.enableBuildStep }}"
function-registry-tls-verify: "{{ .Values.config.functionRegistryTLSVerify }}"
provision-image: "{{ .Values.config.provisionImage }}"
provision-image-secret: "{{ .Values.config.provisionImagePullSecret }}"
runtime-images: |-
{{ .Values.config.runtimeImages | indent 4 }}
kind: ConfigMap
metadata:
name: kubeless-config
@@ -2,7 +2,7 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "kubeless.fullname" . }}-controller-account
name: controller-acct
labels:
{{ include "labels.standard" . | indent 4 }}
{{- end }}
@@ -0,0 +1,18 @@
{{- if .Values.rbac.create }}
{{- if .Values.ui.enabled }}
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubeless-ui
labels:
{{ include "labels.standard" . | indent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kubeless-ui
subjects:
- kind: ServiceAccount
name: kubeless-ui
namespace: {{ .Release.Namespace }}
{{- end}}
{{- end}}
@@ -0,0 +1,45 @@
{{- if .Values.rbac.create }}
{{- if .Values.ui.enabled }}
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: kubeless-ui
labels:
{{ include "labels.standard" . | indent 4 }}
rules:
- apiGroups:
- ""
resources:
- pods
- pods/log
verbs:
- get
- list
- apiGroups:
- kubeless.io
resources:
- functions
verbs:
- get
- list
- watch
- update
- create
- delete
- apiGroups:
- ""
resources:
- services
- services/proxy
verbs:
- get
- list
- proxy
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
{{- end}}
{{- end}}
@@ -15,6 +15,9 @@ spec:
app: {{ template "kubeless.name" . }}
release: {{ .Release.Name | quote }}
spec:
{{- if .Values.rbac.create }}
serviceAccountName: kubeless-ui
{{- end }}
containers:
- name: ui
image: "{{ .Values.ui.deployment.ui.image.repository }}:{{ .Values.ui.deployment.ui.image.tag }}"
@@ -0,0 +1,10 @@
{{- if .Values.rbac.create }}
{{- if .Values.ui.enabled }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: kubeless-ui
labels:
{{ include "labels.standard" . | indent 4 }}
{{- end }}
{{- end}}
@@ -1,17 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "kubeless.fullname" . }}-zoo
labels:
{{ include "labels.standard" . | indent 4 }}
spec:
ports:
- port: 2888
name: peer
- port: 3888
name: leader-election
clusterIP: None
selector:
kubeless: zookeeper
app: {{ template "kubeless.name" . }}
release: {{ .Release.Name | quote }}
@@ -1,64 +0,0 @@
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: {{ template "kubeless.fullname" . }}-zoo
labels:
{{ include "labels.standard" . | indent 4 }}
spec:
serviceName: "{{ template "kubeless.fullname" . }}-zoo"
replicas: {{ .Values.zookeeper.statefulSet.replicaCount }}
template:
metadata:
labels:
kubeless: zookeeper
app: {{ template "kubeless.name" . }}
release: {{ .Release.Name | quote }}
spec:
terminationGracePeriodSeconds: 10
initContainers:
- name: "fix-non-root-permissions"
image: "busybox"
imagePullPolicy: "Always"
command: [ "chmod", "-R", "g+rwX", "/bitnami" ]
volumeMounts:
- name: datadir
mountPath: /bitnami
containers:
- name: zookeeper
image: "{{ .Values.zookeeper.statefulSet.image.repository }}:{{ .Values.zookeeper.statefulSet.image.tag }}"
imagePullPolicy: {{ .Values.zookeeper.statefulSet.image.pullPolicy }}
resources:
{{ toYaml .Values.zookeeper.resources | indent 10 }}
env:
- name: ZOO_SERVERS
value: server.1=zoo-0.zoo:2888:3888:participant
- name: ALLOW_ANONYMOUS_LOGIN
value: "yes"
ports:
- containerPort: 2181
name: client
- containerPort: 2888
name: peer
- containerPort: 3888
name: leader-election
readinessProbe:
tcpSocket:
port: client
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: client
initialDelaySeconds: 15
periodSeconds: 20
volumeMounts:
- name: datadir
mountPath: /bitnami/zookeeper
volumeClaimTemplates:
- metadata:
name: datadir
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
-15
View File
@@ -1,15 +0,0 @@
# Headless service is for PetSet DNS, this one is for clients
apiVersion: v1
kind: Service
metadata:
name: zookeeper
labels:
{{ include "labels.standard" . | indent 4 }}
spec:
ports:
- port: 2181
name: client
selector:
kubeless: zookeeper
app: {{ template "kubeless.name" . }}
release: {{ .Release.Name | quote }}
+101 -41
View File
@@ -8,8 +8,8 @@ controller:
deployment:
replicaCount: 1
image:
repository: bitnami/kubeless-controller
tag: v0.3.1
repository: bitnami/kubeless-controller-manager
tag: v1.0.0-alpha.2
pullPolicy: IfNotPresent
## Kubeless Controller resource requests and limits
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
@@ -22,6 +22,104 @@ controller:
# cpu: 500m
# memory: 512Mi
## Kubeless configuration
config:
builderImage: kubeless/function-image-builder
builderImagePullSecret: ""
deploymentTemplate: '{}'
enableBuildStep: "false"
functionRegistryTLSVerify: "true"
provisionImage: kubeless/unzip@sha256:f162c062973cca05459834de6ed14c039d45df8cdb76097f50b028a1621b3697
provisionImagePullSecret: ""
runtimeImages: |-
[
{
"ID": "python",
"versions": [
{
"name": "python27",
"version": "2.7",
"runtimeImage": "kubeless/python@sha256:07cfb0f3d8b6db045dc317d35d15634d7be5e436944c276bf37b1c630b03add8",
"initImage": "python:2.7"
},
{
"name": "python34",
"version": "3.4",
"runtimeImage": "kubeless/python@sha256:f19640c547a3f91dbbfb18c15b5e624029b4065c1baf2892144e07c36f0a7c8f",
"initImage": "python:3.4"
},
{
"name": "python36",
"version": "3.6",
"runtimeImage": "kubeless/python@sha256:0c9f8f727d42625a4e25230cfe612df7488b65f283e7972f84108d87e7443d72",
"initImage": "python:3.6"
}
],
"depName": "requirements.txt",
"fileNameSuffix": ".py"
},
{
"ID": "nodejs",
"versions": [
{
"name": "node6",
"version": "6",
"runtimeImage": "kubeless/nodejs@sha256:0a8a72af4cc3bfbfd4fe9bd309cbf486e7493d0dc32a691673b3f0d3fae07487",
"initImage": "node:6.10"
},
{
"name": "node8",
"version": "8",
"runtimeImage": "kubeless/nodejs@sha256:76ee28dc7e3613845fface2d1c56afc2e6e2c6d6392c724795a7ccc2f5e60582",
"initImage": "node:8"
}
],
"depName": "package.json",
"fileNameSuffix": ".js"
},
{
"ID": "ruby",
"versions": [
{
"name": "ruby24",
"version": "2.4",
"runtimeImage": "kubeless/ruby@sha256:0dce29c0eb2a246f7d825b6644eeae7957b26f2bfad2b7987f2134cc7b350f2f",
"initImage": "bitnami/ruby:2.4"
}
],
"depName": "Gemfile",
"fileNameSuffix": ".rb"
},
{
"ID": "php",
"versions": [
{
"name": "php72",
"version": "7.2",
"runtimeImage": "kubeless/php@sha256:b605bb6b5ae3b1a2a93570939296618904259d7767a14002fa9733e66d59849b",
"initImage": "composer:1.6"
}
],
"depName": "composer.json",
"fileNameSuffix": ".php"
},
{
"ID": "go",
"compiled": true,
"versions": [
{
"name": "go1.10",
"version": "1.10",
"runtimeImage": "kubeless/go@sha256:e2fd49f09b6ff8c9bac6f1592b3119ea74237c47e2955a003983e08524cb3ae5",
"initImage": "kubeless/go-init@sha256:d0812c4e8351bfd95d0574efd23613cff2664d6a57af4ed0a20ebc651382d476"
}
],
"depName": "Gopkg.toml",
"fileNameSuffix": ".go"
}
]
## UI configuration
ui:
enabled: false
@@ -30,7 +128,7 @@ ui:
ui:
image:
repository: bitnami/kubeless-ui
tag: v0.1.0
tag: latest
pullPolicy: IfNotPresent
proxy:
image:
@@ -42,41 +140,3 @@ ui:
name: ui-port
type: NodePort
externalPort: 3000
## Zookeeper configuration
zookeeper:
statefulSet:
replicaCount: 1
image:
repository: bitnami/zookeeper
tag: 3.4.10-r6
pullPolicy: IfNotPresent
## Zookeeper server resource requests and limits
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
# cpu: 500m
# memory: 512Mi
# requests:
# cpu: 500m
# memory: 512Mi
## Kafka configuration
kafka:
statefulSet:
replicaCount: 1
image:
repository: bitnami/kafka
tag: 1.0.0-r2
pullPolicy: IfNotPresent
## Kafka server resource requests and limits
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
# cpu: 500m
# memory: 512Mi
# requests:
# cpu: 500m
# memory: 512Mi