github.com/qsunny/k8s@v0.0.0-20220101153623-e6dca256d5bf/nacos/helm/templates/deployment.yaml (about) 1 apiVersion: apps/v1 2 kind: StatefulSet 3 metadata: 4 name: {{ include "nacos.fullname" . }} 5 annotations: 6 {{- toYaml .Values.annotations | indent 4 }} 7 spec: 8 {{- if eq .Values.global.mode "cluster" }} 9 serviceName: nacos-hs 10 {{- else }} 11 serviceName: nacos-cs 12 {{- end }} 13 replicas: {{ .Values.nacos.replicaCount }} 14 selector: 15 matchLabels: 16 app.kubernetes.io/name: {{ include "nacos.name" . }} 17 app.kubernetes.io/instance: {{ .Release.Name }} 18 template: 19 metadata: 20 labels: 21 app.kubernetes.io/name: {{ include "nacos.name" . }} 22 app.kubernetes.io/instance: {{ .Release.Name }} 23 spec: 24 {{- with .Values.nodeSelector }} 25 nodeSelector: 26 {{- toYaml . | nindent 8 }} 27 {{- end }} 28 {{- with .Values.affinity }} 29 affinity: 30 {{- toYaml . | nindent 8 }} 31 {{- end }} 32 {{- with .Values.tolerations }} 33 tolerations: 34 {{- toYaml . | nindent 8 }} 35 {{- end }} 36 {{- if and (eq .Values.global.mode "cluster") (.Values.nacos.plugin.enable) }} 37 initContainers: 38 - name: peer-finder-plugin-install 39 image: {{.Values.nacos.plugin.image.repository}}:{{.Values.nacos.plugin.image.tag}} 40 imagePullPolicy: Always 41 volumeMounts: 42 - mountPath: /home/nacos/plugins/peer-finder 43 name: data 44 subPath: peer-finder 45 {{- end }} 46 containers: 47 - name: {{ .Chart.Name }} 48 image: "{{ .Values.nacos.image.repository }}:{{ .Values.nacos.image.tag }}" 49 imagePullPolicy: {{ .Values.nacos.image.pullPolicy }} 50 ports: 51 - name: http 52 containerPort: {{ .Values.nacos.serverPort }} 53 protocol: TCP 54 - containerPort: {{ add .Values.nacos.serverPort 1000}} 55 name: client-rpc 56 - containerPort: {{ add .Values.nacos.serverPort 1001 }} 57 name: raft-rpc 58 - containerPort: 7848 59 name: old-raft-rpc 60 resources: 61 {{- toYaml .Values.resources | nindent 12 }} 62 env: 63 - name: NACOS_SERVER_PORT 64 value: {{ .Values.nacos.serverPort | quote }} 65 - name: NACOS_APPLICATION_PORT 66 value: {{ .Values.nacos.serverPort | quote }} 67 - name: PREFER_HOST_MODE 68 value: {{ .Values.nacos.preferhostmode | quote }} 69 {{- if eq .Values.global.mode "standalone" }} 70 - name: MODE 71 value: "standalone" 72 73 {{- else if eq .Values.global.mode "cluster" }} 74 - name: SERVICE_NAME 75 value: "nacos-hs" 76 - name: DOMAIN_NAME 77 value: {{ .Values.nacos.domainName | quote }} 78 - name: POD_NAMESPACE 79 valueFrom: 80 fieldRef: 81 apiVersion: v1 82 fieldPath: metadata.namespace 83 {{- end }} 84 {{- if eq .Values.nacos.storage.type "mysql" }} 85 - name: SPRING_DATASOURCE_PLATFORM 86 value: "mysql" 87 - name: MYSQL_SERVICE_HOST 88 valueFrom: 89 configMapKeyRef: 90 name: nacos-cm 91 key: mysql.db.host 92 - name: MYSQL_SERVICE_DB_NAME 93 valueFrom: 94 configMapKeyRef: 95 name: nacos-cm 96 key: mysql.db.name 97 - name: MYSQL_SERVICE_PORT 98 valueFrom: 99 configMapKeyRef: 100 name: nacos-cm 101 key: mysql.port 102 - name: MYSQL_SERVICE_USER 103 valueFrom: 104 configMapKeyRef: 105 name: nacos-cm 106 key: mysql.user 107 - name: MYSQL_SERVICE_PASSWORD 108 valueFrom: 109 configMapKeyRef: 110 name: nacos-cm 111 key: mysql.password 112 - name: MYSQL_SERVICE_DB_PARAM 113 valueFrom: 114 configMapKeyRef: 115 name: nacos-cm 116 key: mysql.param 117 {{else}} 118 - name: EMBEDDED_STORAGE 119 value: embedded 120 {{end}} 121 volumeMounts: 122 - name: data 123 mountPath: /home/nacos/plugins/peer-finder 124 subPath: peer-finder 125 - name: data 126 mountPath: /home/nacos/data 127 subPath: data 128 - name: data 129 mountPath: /home/nacos/logs 130 subPath: logs 131 {{- if not .Values.persistence.enabled }} 132 volumes: 133 - name: data 134 emptyDir: { } 135 {{- end }} 136 {{- if .Values.persistence.enabled }} 137 volumeClaimTemplates: 138 - metadata: 139 name: data 140 spec: 141 {{- toYaml .Values.persistence.data | nindent 8 }} 142 {{- end }} 143