From 29f31e43f78283776c3bbdb55bd809922e7c9e66 Mon Sep 17 00:00:00 2001 From: xiaolu hong Date: Fri, 31 Jul 2020 10:31:47 +0800 Subject: [PATCH] Air Gap installation from private repo Signed-off-by: xiaolu hong --- chart/questions.yml | 32 +++++++++++++++--- chart/templates/daemonset-sa.yaml | 16 +++++++++ chart/templates/deployment-driver.yaml | 47 +++++++++++++++++++++----- chart/templates/deployment-ui.yaml | 4 +++ chart/templates/postupgrade-job.yaml | 4 +++ chart/templates/uninstall-job.yaml | 4 +++ chart/values.yaml | 12 ++++--- 7 files changed, 103 insertions(+), 16 deletions(-) diff --git a/chart/questions.yml b/chart/questions.yml index 781f7a0..f53caa3 100644 --- a/chart/questions.yml +++ b/chart/questions.yml @@ -59,29 +59,53 @@ questions: label: Longhorn Instance Manager Image Tag group: "Longhorn Images Settings" - variable: csi.attacherImage - default: + default: longhornio/csi-attacher description: "Specify CSI attacher image. Leave blank to autodetect." type: string label: Longhorn CSI Attacher Image group: "Longhorn CSI Driver Images" + - variable: csi.attacherImageTag + default: v2.0.0 + description: "Specify CSI attacher image tag. Leave blank to autodetect." + type: string + label: Longhorn CSI Attacher Image Tag + group: "Longhorn CSI Driver Images" - variable: csi.provisionerImage - default: + default: longhornio/csi-provisioner description: "Specify CSI provisioner image. Leave blank to autodetect." type: string label: Longhorn CSI Provisioner Image group: "Longhorn CSI Driver Images" + - variable: csi.provisionerImageTag + default: v1.4.0 + description: "Specify CSI provisioner image tag. Leave blank to autodetect." + type: string + label: Longhorn CSI Provisioner Image Tag + group: "Longhorn CSI Driver Images" - variable: csi.nodeDriverRegistrarImage - default: + default: longhornio/csi-node-driver-registrar description: "Specify CSI Node Driver Registrar image. Leave blank to autodetect." type: string label: Longhorn CSI Node Driver Registrar Image group: "Longhorn CSI Driver Images" + - variable: csi.nodeDriverRegistrarImageTag + default: v1.2.0 + description: "Specify CSI Node Driver Registrar image tag. Leave blank to autodetect." + type: string + label: Longhorn CSI Node Driver Registrar Image Tag + group: "Longhorn CSI Driver Images" - variable: csi.resizerImage - default: + default: longhornio/csi-resizer description: "Specify CSI Driver Resizer image. Leave blank to autodetect." type: string label: Longhorn CSI Driver Resizer Image group: "Longhorn CSI Driver Images" + - variable: csi.resizerImageTag + default: v0.3.0 + description: "Specify CSI Driver Resizer image tag. Leave blank to autodetect." + type: string + label: Longhorn CSI Driver Resizer Image Tag + group: "Longhorn CSI Driver Images" - variable: privateRegistry.registryUrl label: Private registry URL description: "URL of private registry" diff --git a/chart/templates/daemonset-sa.yaml b/chart/templates/daemonset-sa.yaml index ab79c97..292e696 100644 --- a/chart/templates/daemonset-sa.yaml +++ b/chart/templates/daemonset-sa.yaml @@ -16,7 +16,11 @@ spec: spec: containers: - name: longhorn-manager + {{- if .Values.privateRegistry.registryUrl }} + image: "{{ .Values.privateRegistry.registryUrl }}/{{ .Values.image.longhorn.manager }}:{{ .Values.image.longhorn.managerTag }}" + {{- else }} image: "{{ .Values.image.longhorn.manager }}:{{ .Values.image.longhorn.managerTag }}" + {{- end }} imagePullPolicy: IfNotPresent securityContext: privileged: true @@ -25,11 +29,23 @@ spec: - -d - daemon - --engine-image + {{- if .Values.privateRegistry.registryUrl }} + - "{{ .Values.privateRegistry.registryUrl }}/{{ .Values.image.longhorn.engine }}:{{ .Values.image.longhorn.engineTag }}" + {{- else }} - "{{ .Values.image.longhorn.engine }}:{{ .Values.image.longhorn.engineTag }}" + {{- end }} - --instance-manager-image + {{- if .Values.privateRegistry.registryUrl }} + - "{{ .Values.privateRegistry.registryUrl }}/{{ .Values.image.longhorn.instanceManager }}:{{ .Values.image.longhorn.instanceManagerTag }}" + {{- else }} - "{{ .Values.image.longhorn.instanceManager }}:{{ .Values.image.longhorn.instanceManagerTag }}" + {{- end }} - --manager-image + {{- if .Values.privateRegistry.registryUrl }} + - "{{ .Values.privateRegistry.registryUrl }}/{{ .Values.image.longhorn.manager }}:{{ .Values.image.longhorn.managerTag }}" + {{- else }} - "{{ .Values.image.longhorn.manager }}:{{ .Values.image.longhorn.managerTag }}" + {{- end }} - --service-account - longhorn-service-account ports: diff --git a/chart/templates/deployment-driver.yaml b/chart/templates/deployment-driver.yaml index b0f5529..43c1af0 100644 --- a/chart/templates/deployment-driver.yaml +++ b/chart/templates/deployment-driver.yaml @@ -16,18 +16,30 @@ spec: spec: initContainers: - name: wait-longhorn-manager + {{- if .Values.privateRegistry.registryUrl }} + image: {{ printf "%s/%s:%s" .Values.privateRegistry.registryUrl .Values.image.longhorn.manager .Values.image.longhorn.managerTag | quote }} + {{- else }} image: {{ printf "%s:%s" .Values.image.longhorn.manager .Values.image.longhorn.managerTag | quote }} + {{- end }} command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" http://longhorn-backend:9500/v1) != "200" ]; do echo waiting; sleep 2; done'] containers: - name: longhorn-driver-deployer + {{- if .Values.privateRegistry.registryUrl }} + image: {{ printf "%s/%s:%s" .Values.privateRegistry.registryUrl .Values.image.longhorn.manager .Values.image.longhorn.managerTag | quote }} + {{- else }} image: {{ printf "%s:%s" .Values.image.longhorn.manager .Values.image.longhorn.managerTag | quote }} + {{- end }} imagePullPolicy: IfNotPresent command: - longhorn-manager - -d - deploy-driver - --manager-image + {{- if .Values.privateRegistry.registryUrl }} + - {{ printf "%s/%s:%s" .Values.privateRegistry.registryUrl .Values.image.longhorn.manager .Values.image.longhorn.managerTag | quote }} + {{- else }} - {{ printf "%s:%s" .Values.image.longhorn.manager .Values.image.longhorn.managerTag | quote }} + {{- end }} - --manager-url - http://longhorn-backend:9500/v1 env: @@ -47,22 +59,41 @@ spec: - name: KUBELET_ROOT_DIR value: {{ .Values.csi.kubeletRootDir }} {{- end }} - {{- if .Values.csi.attacherImage }} + {{- if .Values.privateRegistry.registryUrl }} + {{- if and .Values.csi.attacherImage .Values.csi.attacherImageTag }} - name: CSI_ATTACHER_IMAGE - value: {{ .Values.csi.attacherImage }} + value: {{ printf "%s/%s:%s" .Values.privateRegistry.registryUrl .Values.csi.attacherImage .Values.csi.attacherImageTag | quote }} {{- end }} - {{- if .Values.csi.provisionerImage }} + {{- if and .Values.csi.provisionerImage .Values.csi.provisionerImageTag }} - name: CSI_PROVISIONER_IMAGE - value: {{ .Values.csi.provisionerImage }} + value: {{ printf "%s/%s:%s" .Values.privateRegistry.registryUrl .Values.csi.provisionerImage .Values.csi.provisionerImageTag | quote }} {{- end }} - {{- if .Values.csi.nodeDriverRegistrarImage }} + {{- if and .Values.csi.nodeDriverRegistrarImage .Values.csi.nodeDriverRegistrarImageTag }} - name: CSI_NODE_DRIVER_REGISTRAR_IMAGE - value: {{ .Values.csi.nodeDriverRegistrarImage }} + value: {{ printf "%s/%s:%s" .Values.privateRegistry.registryUrl .Values.csi.nodeDriverRegistrarImage .Values.csi.nodeDriverRegistrarImageTag | quote }} {{- end }} - {{- if .Values.csi.resizerImage }} + {{- if and .Values.csi.resizerImage .Values.csi.resizerImageTag }} - name: CSI_RESIZER_IMAGE - value: {{ .Values.csi.resizerImage }} + value: {{ printf "%s/%s:%s" .Values.privateRegistry.registryUrl .Values.csi.resizerImage .Values.csi.resizerImageTag | quote }} {{- end }} + {{- else }} + {{- if and .Values.csi.attacherImage .Values.csi.attacherImageTag }} + - name: CSI_ATTACHER_IMAGE + value: {{ printf "%s:%s" .Values.csi.attacherImage .Values.csi.attacherImageTag | quote }} + {{- end }} + {{- if and .Values.csi.provisionerImage .Values.csi.provisionerImageTag }} + - name: CSI_PROVISIONER_IMAGE + value: {{ printf "%s:%s" .Values.csi.provisionerImage .Values.csi.provisionerImageTag | quote }} + {{- end }} + {{- if and .Values.csi.nodeDriverRegistrarImage .Values.csi.nodeDriverRegistrarImageTag }} + - name: CSI_NODE_DRIVER_REGISTRAR_IMAGE + value: {{ printf "%s:%s" .Values.csi.nodeDriverRegistrarImage .Values.csi.nodeDriverRegistrarImageTag | quote }} + {{- end }} + {{- if and .Values.csi.resizerImage .Values.csi.resizerImageTag }} + - name: CSI_RESIZER_IMAGE + value: {{ printf "%s:%s" .Values.csi.resizerImage .Values.csi.resizerImageTag | quote }} + {{- end }} + {{- end }} {{- if .Values.csi.attacherReplicaCount }} - name: CSI_ATTACHER_REPLICA_COUNT value: {{ .Values.csi.attacherReplicaCount | quote }} diff --git a/chart/templates/deployment-ui.yaml b/chart/templates/deployment-ui.yaml index d24a8a1..f75671b 100644 --- a/chart/templates/deployment-ui.yaml +++ b/chart/templates/deployment-ui.yaml @@ -17,7 +17,11 @@ spec: spec: containers: - name: longhorn-ui + {{- if .Values.privateRegistry.registryUrl }} + image: "{{ .Values.privateRegistry.registryUrl }}/{{ .Values.image.longhorn.ui }}:{{ .Values.image.longhorn.uiTag }}" + {{- else }} image: "{{ .Values.image.longhorn.ui }}:{{ .Values.image.longhorn.uiTag }}" + {{- end }} imagePullPolicy: IfNotPresent securityContext: runAsUser: 0 diff --git a/chart/templates/postupgrade-job.yaml b/chart/templates/postupgrade-job.yaml index 7a58eb8..41287c7 100644 --- a/chart/templates/postupgrade-job.yaml +++ b/chart/templates/postupgrade-job.yaml @@ -17,7 +17,11 @@ spec: spec: containers: - name: longhorn-post-upgrade + {{- if .Values.privateRegistry.registryUrl }} + image: "{{ .Values.privateRegistry.registryUrl }}/{{ .Values.image.longhorn.manager }}:{{ .Values.image.longhorn.managerTag }}" + {{- else }} image: "{{ .Values.image.longhorn.manager }}:{{ .Values.image.longhorn.managerTag }}" + {{- end }} imagePullPolicy: Always command: - longhorn-manager diff --git a/chart/templates/uninstall-job.yaml b/chart/templates/uninstall-job.yaml index a30d04f..f5696dd 100644 --- a/chart/templates/uninstall-job.yaml +++ b/chart/templates/uninstall-job.yaml @@ -17,7 +17,11 @@ spec: spec: containers: - name: longhorn-uninstall + {{- if .Values.privateRegistry.registryUrl }} + image: "{{ .Values.privateRegistry.registryUrl }}/{{ .Values.image.longhorn.manager }}:{{ .Values.image.longhorn.managerTag }}" + {{- else }} image: "{{ .Values.image.longhorn.manager }}:{{ .Values.image.longhorn.managerTag }}" + {{- end }} imagePullPolicy: Always command: - longhorn-manager diff --git a/chart/values.yaml b/chart/values.yaml index a1a7d26..1899dc5 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -26,10 +26,14 @@ persistence: defaultClassReplicaCount: 3 csi: - attacherImage: ~ - provisionerImage: ~ - nodeDriverRegistrarImage: ~ - resizerImage: ~ + attacherImage: longhornio/csi-attacher + attacherImageTag: v2.0.0 + provisionerImage: longhornio/csi-provisioner + provisionerImageTag: v1.4.0 + nodeDriverRegistrarImage: longhornio/csi-node-driver-registrar + nodeDriverRegistrarImageTag: v1.2.0 + resizerImage: longhornio/csi-resizer + resizerImageTag: v0.3.0 kubeletRootDir: ~ attacherReplicaCount: ~ provisionerReplicaCount: ~