manifests/charts/dubbo-control/register-discovery/nacos/templates/statefulset.yaml (129 lines of code) (raw):

{{- $nacos := .Values -}} {{- $ncs := .Values.nacos }} apiVersion: apps/v1 kind: StatefulSet metadata: name: nacos namespace: {{ .Release.Namespace }} labels: app: nacos dubbo.io/rev: {{ default "default" | quote }} install.operator.dubbo.io/owning-resource: {{ default "unknown" }} operator.dubbo.io/component: "Nacos" dubbo: nacos release: {{ .Release.Name }} app.kubernetes.io/name: "register" spec: replicas: {{ $nacos.replicas }} {{- if eq $nacos.mode "cluster" }} serviceName: nacos-headless {{- else }} serviceName: nacos {{- end }} selector: matchLabels: app: nacos dubbo.io/rev: {{ default "default" | quote }} dubbo: nacos template: metadata: labels: app: nacos dubbo.io/rev: {{ default "default" | quote }} install.operator.dubbo.io/owning-resource: {{ default "unknown" }} operator.dubbo.io/component: "Nacos" dubbo: nacos release: {{ .Release.Name }} app.kubernetes.io/name: "register" spec: {{- if eq $nacos.storage.type "mysql" }} initContainers: - name: wait-init-mysql image: busybox command: - "/bin/sh" - "-c" - "sleep 45" {{- end }} containers: - name: nacos {{- if contains "/" $nacos.image }} image: {{ $nacos.image }}:v2.5.1 {{- end }} imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8848 - name: clientgen-rpc containerPort: {{ add 8848 1000 }} - name: raft-rpc containerPort: {{ add 8848 1001 }} resources: {{ toYaml $nacos.resources | trim | indent 10 }} env: - name: NACOS_SERVER_PORT value: "8848" - name: NACOS_APPLICATION_PORT value: "8848" - name: PREFER_HOST_MODE value: hostname {{- if eq $nacos.mode "cluster" | default $ncs.mode }} - name: MODE value: "cluster" - name: SERVICE_NAME value: "nacos-headless" - name: DOMAIN_NAME value: "cluster.local" {{- else }} - name: MODE value: "standalone" {{- end }} {{- if eq $nacos.storage.type "mysql" }} - name: SPRING_DATASOURCE_PLATFORM value: "mysql" - name: MYSQL_SERVICE_HOST valueFrom: configMapKeyRef: name: nacos-db-config key: mysql.db.host - name: MYSQL_SERVICE_DB_NAME valueFrom: configMapKeyRef: name: nacos-db-config key: mysql.db.name - name: MYSQL_SERVICE_PORT valueFrom: configMapKeyRef: name: nacos-db-config key: mysql.port - name: MYSQL_SERVICE_USER valueFrom: configMapKeyRef: name: nacos-db-config key: mysql.user - name: MYSQL_SERVICE_PASSWORD valueFrom: configMapKeyRef: name: nacos-db-config key: mysql.password - name: MYSQL_SERVICE_DB_PARAM valueFrom: configMapKeyRef: name: nacos-db-config key: mysql.param {{- else }} - name: EMBEDDED_STORAGE value: embedded - name: SPRING_DATASOURCE_PLATFORM value: "" {{- end }} volumeMounts: - name: data mountPath: /home/nacos/data subPath: data - name: data mountPath: /home/nacos/logs subPath: logs volumes: - name: data emptyDir: {}