From bacdd45c1bf47e5855671351bed2b9c5b22cd48d Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Wed, 4 Sep 2019 09:55:35 -0700 Subject: add PV support for artifactbroker add PV/PVC files - update deployment files to use PVC and resolve permission issue of data dir - update values for the init container image Change-Id: I354043a79915d25bf1e5396b538b98b0dbdb7fe7 Issue-ID: MULTICLOUD-717 Signed-off-by: Liang Ding --- .../multicloud-windriver/templates/deployment.yaml | 13 +++++++ .../charts/multicloud-windriver/templates/pv.yaml | 37 +++++++++++++++++++ .../charts/multicloud-windriver/templates/pvc.yaml | 41 ++++++++++++++++++++++ .../charts/multicloud-windriver/values.yaml | 10 ++++++ 4 files changed, 101 insertions(+) create mode 100644 kubernetes/multicloud/charts/multicloud-windriver/templates/pv.yaml create mode 100644 kubernetes/multicloud/charts/multicloud-windriver/templates/pvc.yaml (limited to 'kubernetes') diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml index e6f1456874..0cb1d733eb 100644 --- a/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml +++ b/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml @@ -39,6 +39,14 @@ spec: annotations: sidecar.istio.io/inject: "{{.Values.istioSidecar}}" spec: + initContainers: + - command: ["sh", "-c", "chown -R 100:101 /data"] + image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.global.ubuntuInitImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }}-init + volumeMounts: + - mountPath: /data + name: artifact-data containers: - env: - name: MSB_ADDR @@ -122,7 +130,12 @@ spec: configMap: name: {{ include "common.fullname" . }}-log-configmap - name: artifact-data + {{- if .Values.persistence.enabled }} + persistentVolumeClaim: + claimName: {{ include "common.fullname" . }} + {{- else }} emptyDir: {} + {{- end }} imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" restartPolicy: Always diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/pv.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/pv.yaml new file mode 100644 index 0000000000..e2e326d34f --- /dev/null +++ b/kubernetes/multicloud/charts/multicloud-windriver/templates/pv.yaml @@ -0,0 +1,37 @@ +{{/* +# Copyright © 2017 Amdocs, Bell Canada +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} + +{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} +kind: PersistentVolume +apiVersion: v1 +metadata: + name: {{ include "common.fullname" . }} + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + name: {{ include "common.fullname" . }} +spec: + capacity: + storage: {{ .Values.persistence.size}} + accessModes: + - {{ .Values.persistence.accessMode }} + persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} + hostPath: + path: {{ default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }} +{{- end -}} diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/pvc.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/pvc.yaml new file mode 100644 index 0000000000..5bc04cdfd3 --- /dev/null +++ b/kubernetes/multicloud/charts/multicloud-windriver/templates/pvc.yaml @@ -0,0 +1,41 @@ +{{/* +# Copyright © 2017 Amdocs, Bell Canada +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} + +{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: {{ include "common.fullname" .}} + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +{{- if .Values.persistence.annotations }} + annotations: +{{ toYaml .Values.persistence.annotations | indent 4 }} +{{- end }} +spec: + selector: + matchLabels: + app: {{ include "common.name" . }} + accessModes: + - {{ .Values.persistence.accessMode }} + resources: + requests: + storage: {{ .Values.persistence.size }} +{{- end -}} diff --git a/kubernetes/multicloud/charts/multicloud-windriver/values.yaml b/kubernetes/multicloud/charts/multicloud-windriver/values.yaml index 9f8dff3771..fbc910337a 100644 --- a/kubernetes/multicloud/charts/multicloud-windriver/values.yaml +++ b/kubernetes/multicloud/charts/multicloud-windriver/values.yaml @@ -18,6 +18,8 @@ ################################################################# global: nodePortPrefix: 302 + ubuntuInitRepository: oomk8s + ubuntuInitImage: ubuntu-init:1.0.0 ################################################################# # Application configuration defaults. @@ -67,6 +69,14 @@ liveness: ingress: enabled: false +persistence: + enabled: true + mountPath: /dockerdata-nfs + mountSubPath: multicloud-windriver/data + volumeReclaimPolicy: Retain + accessMode: ReadWriteOnce + size: 5Gi + # Resource Limit flavor -By Default using small flavor: small # Segregation for Different environment (Small and Large) -- cgit 1.2.3-korg