mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-24 05:50:22 +00:00
2d560ba087
currently, we have 3 docker files(cephcsi,rbd,cephfs) in the ceph-csi repo.
[commit ](85e121ebfe
)
added by John to build a single image which can act as rbd or
cephfs based on the input configuration.
This PR updates the makefile and kubernetes templates to use
the unified image and also its deletes the other two dockerfiles.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
110 lines
3.9 KiB
YAML
110 lines
3.9 KiB
YAML
kind: StatefulSet
|
|
apiVersion: apps/v1beta1
|
|
metadata:
|
|
name: {{ include "ceph-csi-cephfs.provisioner.fullname" . }}
|
|
labels:
|
|
app: {{ include "ceph-csi-cephfs.name" . }}
|
|
chart: {{ include "ceph-csi-cephfs.chart" . }}
|
|
component: {{ .Values.provisioner.name }}
|
|
release: {{ .Release.Name }}
|
|
heritage: {{ .Release.Service }}
|
|
spec:
|
|
serviceName: {{ include "ceph-csi-cephfs.provisioner.fullname" . }}
|
|
replicas: {{ .Values.provisioner.replicas }}
|
|
selector:
|
|
matchLabels:
|
|
app: {{ include "ceph-csi-cephfs.name" . }}
|
|
component: {{ .Values.provisioner.name }}
|
|
release: {{ .Release.Name }}
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: {{ include "ceph-csi-cephfs.name" . }}
|
|
chart: {{ include "ceph-csi-cephfs.chart" . }}
|
|
component: {{ .Values.provisioner.name }}
|
|
release: {{ .Release.Name }}
|
|
heritage: {{ .Release.Service }}
|
|
spec:
|
|
serviceAccountName: {{ include "ceph-csi-cephfs.serviceAccountName.provisioner" . }}
|
|
containers:
|
|
- name: csi-provisioner
|
|
image: "{{ .Values.provisioner.image.repository }}:{{ .Values.provisioner.image.tag }}"
|
|
args:
|
|
- "--csi-address=$(ADDRESS)"
|
|
- "--v=5"
|
|
env:
|
|
- name: ADDRESS
|
|
value: "{{ .Values.socketDir }}/{{ .Values.socketFile }}"
|
|
imagePullPolicy: {{ .Values.provisioner.image.pullPolicy }}
|
|
volumeMounts:
|
|
- name: socket-dir
|
|
mountPath: {{ .Values.socketDir }}
|
|
resources:
|
|
{{ toYaml .Values.provisioner.resources | indent 12 }}
|
|
{{ if .Values.attacher.enabled }}
|
|
- name: csi-attacher
|
|
image: "{{ .Values.attacher.image.repository }}:{{ .Values.attacher.image.tag }}"
|
|
args:
|
|
- "--v=5"
|
|
- "--csi-address=$(ADDRESS)"
|
|
env:
|
|
- name: ADDRESS
|
|
value: "{{ .Values.socketDir }}/{{ .Values.socketFile }}"
|
|
imagePullPolicy: {{ .Values.attacher.image.pullPolicy }}
|
|
volumeMounts:
|
|
- name: socket-dir
|
|
mountPath: {{ .Values.socketDir }}
|
|
{{ end }}
|
|
- name: csi-cephfsplugin
|
|
securityContext:
|
|
privileged: true
|
|
capabilities:
|
|
add: ["SYS_ADMIN"]
|
|
allowPrivilegeEscalation: true
|
|
image: "{{ .Values.nodeplugin.plugin.image.repository }}:{{ .Values.nodeplugin.plugin.image.tag }}"
|
|
args :
|
|
- "--nodeid=$(NODE_ID)"
|
|
- "--type=cephfs"
|
|
- "--endpoint=$(CSI_ENDPOINT)"
|
|
- "--v=5"
|
|
- "--drivername=$(DRIVER_NAME)"
|
|
- "--metadatastorage=k8s_configmap"
|
|
env:
|
|
- name: HOST_ROOTFS
|
|
value: "/rootfs"
|
|
- name: DRIVER_NAME
|
|
value: {{ .Values.driverName }}
|
|
- name: NODE_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
- name: CSI_ENDPOINT
|
|
value: "unix:/{{ .Values.socketDir }}/{{ .Values.socketFile }}"
|
|
imagePullPolicy: {{ .Values.nodeplugin.plugin.image.pullPolicy }}
|
|
volumeMounts:
|
|
- name: socket-dir
|
|
mountPath: {{ .Values.socketDir }}
|
|
- name: host-rootfs
|
|
mountPath: "/rootfs"
|
|
resources:
|
|
{{ toYaml .Values.nodeplugin.plugin.resources | indent 12 }}
|
|
volumes:
|
|
- name: socket-dir
|
|
emptyDir: {}
|
|
#FIXME this seems way too much. Why is it needed at all for this?
|
|
- name: host-rootfs
|
|
hostPath:
|
|
path: /
|
|
{{- if .Values.provisioner.affinity -}}
|
|
affinity:
|
|
{{ toYaml .Values.provisioner.affinity . | indent 8 }}
|
|
{{- end -}}
|
|
{{- if .Values.provisioner.nodeSelector -}}
|
|
nodeSelector:
|
|
{{ toYaml .Values.provisioner.nodeSelector | indent 8 }}
|
|
{{- end -}}
|
|
{{- if .Values.provisioner.tolerations -}}
|
|
tolerations:
|
|
{{ toYaml .Values.provisioner.tolerations | indent 8 }}
|
|
{{- end -}}
|