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