Update the helm chart for csi 1.0

Signed-off-by: Kevin Fox <Kevin.Fox@pnnl.gov>
This commit is contained in:
Kevin Fox 2019-01-18 17:06:32 -08:00
parent af008471ab
commit 2774109bf6
8 changed files with 104 additions and 12 deletions

View File

@ -1,8 +1,8 @@
apiVersion: v1 apiVersion: v1
appVersion: "0.3.0" appVersion: "1.0.0"
description: Container Storage Interface (CSI) driver, provisioner, and attacher for Ceph RBD description: Container Storage Interface (CSI) driver, provisioner, and attacher for Ceph RBD
name: ceph-csi-rbd name: ceph-csi-rbd
version: 0.1.0 version: 0.2.0
keywords: keywords:
- ceph - ceph
- rbd - rbd

View File

@ -11,6 +11,11 @@ metadata:
spec: spec:
serviceName: {{ include "ceph-csi-rbd.attacher.fullname" . }} serviceName: {{ include "ceph-csi-rbd.attacher.fullname" . }}
replicas: {{ .Values.attacher.replicas }} replicas: {{ .Values.attacher.replicas }}
selector:
matchLabels:
app: {{ include "ceph-csi-rbd.name" . }}
component: {{ .Values.attacher.name }}
release: {{ .Release.Name }}
template: template:
metadata: metadata:
labels: labels:

View File

@ -66,6 +66,7 @@ spec:
- "--v=5" - "--v=5"
- "--drivername=csi-rbdplugin" - "--drivername=csi-rbdplugin"
- "--containerized=true" - "--containerized=true"
- "--metadatastorage=k8s_configmap"
env: env:
- name: HOST_ROOTFS - name: HOST_ROOTFS
value: "/rootfs" value: "/rootfs"
@ -82,6 +83,9 @@ spec:
- name: pods-mount-dir - name: pods-mount-dir
mountPath: /var/lib/kubelet/pods mountPath: /var/lib/kubelet/pods
mountPropagation: "Bidirectional" mountPropagation: "Bidirectional"
- name: plugin-mount-dir
mountPath: {{ .Values.volumeDevicesDir }}
mountPropagation: "Bidirectional"
- mountPath: /dev - mountPath: /dev
name: host-dev name: host-dev
- mountPath: /rootfs - mountPath: /rootfs
@ -98,9 +102,13 @@ spec:
hostPath: hostPath:
path: {{ .Values.socketDir }} path: {{ .Values.socketDir }}
type: DirectoryOrCreate type: DirectoryOrCreate
- name: plugin-mount-dir
hostPath:
path: {{ .Values.volumeDevicesDir }}
type: DirectoryOrCreate
- name: registration-dir - name: registration-dir
hostPath: hostPath:
path: /var/lib/kubelet/plugins/ path: {{ .Values.registrationDir }}
type: Directory type: Directory
- name: pods-mount-dir - name: pods-mount-dir
hostPath: hostPath:

View File

@ -25,4 +25,7 @@ rules:
- apiGroups: [""] - apiGroups: [""]
resources: ["events"] resources: ["events"]
verbs: ["list", "watch", "create", "update", "patch"] verbs: ["list", "watch", "create", "update", "patch"]
- apiGroups: [""]
resources: ["endpoints"]
verbs: ["get", "create", "update"]
{{- end -}} {{- end -}}

View File

@ -0,0 +1,16 @@
{{- if .Values.rbac.create -}}
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ include "ceph-csi-rbd.provisioner.fullname" . }}
labels:
app: {{ include "ceph-csi-rbd.name" . }}
chart: {{ include "ceph-csi-rbd.chart" . }}
component: {{ .Values.provisioner.name }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
rules:
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "list", "watch", "create", "delete"]
{{- end -}}

View File

@ -0,0 +1,21 @@
{{- if .Values.rbac.create -}}
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ include "ceph-csi-rbd.provisioner.fullname" . }}
labels:
app: {{ include "ceph-csi-rbd.name" . }}
chart: {{ include "ceph-csi-rbd.chart" . }}
component: {{ .Values.provisioner.name }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
subjects:
- kind: ServiceAccount
name: {{ include "ceph-csi-rbd.serviceAccountName.provisioner" . }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: Role
name: {{ include "ceph-csi-rbd.provisioner.fullname" . }}
apiGroup: rbac.authorization.k8s.io
namespace: {{ .Release.Namespace }}
{{- end -}}

View File

@ -11,6 +11,11 @@ metadata:
spec: spec:
serviceName: {{ include "ceph-csi-rbd.provisioner.fullname" . }} serviceName: {{ include "ceph-csi-rbd.provisioner.fullname" . }}
replicas: {{ .Values.provisioner.replicas }} replicas: {{ .Values.provisioner.replicas }}
selector:
matchLabels:
app: {{ include "ceph-csi-rbd.name" . }}
component: {{ .Values.provisioner.name }}
release: {{ .Release.Name }}
template: template:
metadata: metadata:
labels: labels:
@ -25,7 +30,6 @@ spec:
- name: csi-provisioner - name: csi-provisioner
image: "{{ .Values.provisioner.image.repository }}:{{ .Values.provisioner.image.tag }}" image: "{{ .Values.provisioner.image.repository }}:{{ .Values.provisioner.image.tag }}"
args: args:
- "--provisioner=csi-rbdplugin"
- "--csi-address=$(ADDRESS)" - "--csi-address=$(ADDRESS)"
- "--v=5" - "--v=5"
env: env:
@ -37,11 +41,44 @@ spec:
mountPath: {{ .Values.socketDir }} mountPath: {{ .Values.socketDir }}
resources: resources:
{{ toYaml .Values.provisioner.resources | indent 12 }} {{ toYaml .Values.provisioner.resources | indent 12 }}
- name: csi-rbdplugin
securityContext:
privileged: true
capabilities:
add: ["SYS_ADMIN"]
allowPrivilegeEscalation: true
image: "{{ .Values.nodeplugin.plugin.image.repository }}:{{ .Values.nodeplugin.plugin.image.tag }}"
args :
- "--nodeid=$(NODE_ID)"
- "--endpoint=$(CSI_ENDPOINT)"
- "--v=5"
- "--drivername=csi-rbdplugin"
- "--containerized=true"
- "--metadatastorage=k8s_configmap"
env:
- name: HOST_ROOTFS
value: "/rootfs"
- name: NODE_ID
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: CSI_ENDPOINT
value: "unix:/{{ .Values.socketDir }}/{{ .Values.socketFile }}"
imagePullPolicy: {{ .Values.nodeplugin.plugin.image.imagePullPolicy }}
volumeMounts:
- name: socket-dir
mountPath: {{ .Values.socketDir }}
- name: host-rootfs
mountPath: "/rootfs"
resources:
{{ toYaml .Values.nodeplugin.plugin.resources | indent 12 }}
volumes: volumes:
- name: socket-dir - name: socket-dir
emptyDir: {}
#FIXME this seems way too much. Why is it needed at all for this?
- name: host-rootfs
hostPath: hostPath:
path: {{ .Values.socketDir }} path: /
type: DirectoryOrCreate
{{- if .Values.provisioner.affinity -}} {{- if .Values.provisioner.affinity -}}
affinity: affinity:
{{ toYaml .Values.provisioner.affinity . | indent 8 }} {{ toYaml .Values.provisioner.affinity . | indent 8 }}

View File

@ -12,8 +12,10 @@ serviceAccounts:
create: true create: true
name: name:
socketDir: /var/lib/kubelet/plugins/csi-rbdplugin socketDir: /var/lib/kubelet/plugins_registry/csi-rbdplugin
socketFile: csi.sock socketFile: csi.sock
registrationDir: /var/lib/kubelet/plugins_registry
volumeDevicesDir: /var/lib/kubelet/plugins/kubernetes.io/csi/volumeDevices
attacher: attacher:
name: attacher name: attacher
@ -22,7 +24,7 @@ attacher:
image: image:
repository: quay.io/k8scsi/csi-attacher repository: quay.io/k8scsi/csi-attacher
tag: v0.3.0 tag: v1.0.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: {} resources: {}
@ -39,7 +41,7 @@ nodeplugin:
registrar: registrar:
image: image:
repository: quay.io/k8scsi/driver-registrar repository: quay.io/k8scsi/driver-registrar
tag: v0.3.0 tag: canary
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: {} resources: {}
@ -47,7 +49,7 @@ nodeplugin:
plugin: plugin:
image: image:
repository: quay.io/cephcsi/rbdplugin repository: quay.io/cephcsi/rbdplugin
tag: v0.3.0 tag: v1.0.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: {} resources: {}
@ -65,7 +67,7 @@ provisioner:
image: image:
repository: quay.io/k8scsi/csi-provisioner repository: quay.io/k8scsi/csi-provisioner
tag: v0.3.0 tag: canary
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: {} resources: {}