--- apiVersion: apps/v1 kind: StatefulSet metadata: name: mysql-nacos namespace: wfm labels: name: mysql-nacos spec: replicas: 1 selector: matchLabels: name: mysql-nacos serviceName: mysql-nacos template: metadata: labels: name: mysql-nacos spec: containers: - name: mysql-nacos #image: nacos/nacos-mysql:5.7 image: harbor.uenpay.com/base/nacos-mysql:5.7 #image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/nacos-mysql:5.7 ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: "mysqlnacos" - name: MYSQL_DATABASE value: "nacos" - name: MYSQL_USER value: "nacos" - name: MYSQL_PASSWORD value: "mysqlnacos" volumeMounts: - name: data mountPath: /var/lib/mysql volumeClaimTemplates: - metadata: name: data annotations: volume.beta.kubernetes.io/storage-class: "cephfs-sc" spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi --- apiVersion: v1 kind: Service metadata: name: mysql-nacos namespace: wfm labels: name: mysql-nacos spec: ports: - port: 3306 targetPort: 3306 selector: name: mysql-nacos --- apiVersion: v1 kind: ConfigMap metadata: name: nacos-config namespace: wfm data: mysql.host: "mysql-nacos" mysql.db.name: "nacos" mysql.port: "3306" mysql.user: "nacos" mysql.password: "mysqlnacos" --- apiVersion: apps/v1 kind: StatefulSet metadata: name: nacos namespace: wfm spec: podManagementPolicy: Parallel serviceName: nacos-headless replicas: 3 template: metadata: labels: app: nacos annotations: pod.alpha.kubernetes.io/initialized: "true" spec: # affinity: # podAntiAffinity: # requiredDuringSchedulingIgnoredDuringExecution: # - labelSelector: # matchExpressions: # - key: "app" # operator: In # values: # - nacos # topologyKey: "kubernetes.io/hostname" # serviceAccountName: nfs-client-provisioner initContainers: - name: peer-finder-plugin-install #image: nacos/nacos-peer-finder-plugin:1.1 image: harbor.uenpay.com/base/nacos-peer-finder-plugin:1.1 #image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/nacos-peer-finder-plugin:1.1 imagePullPolicy: Always volumeMounts: - mountPath: /home/nacos/plugins/peer-finder name: data subPath: peer-finder containers: - name: nacos #image: nacos/nacos-server:v2.2.3 image: harbor.uenpay.com/base/nacos-server:v2.2.3_metrics #image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/nacos-server:v2.2.3_metrics imagePullPolicy: Always livenessProbe: httpGet: path: /nacos/# port: 8848 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 10 failureThreshold: 3 successThreshold: 1 readinessProbe: httpGet: path: /nacos/# port: 8848 periodSeconds: 30 timeoutSeconds: 10 failureThreshold: 3 successThreshold: 1 resources: requests: memory: "2Gi" cpu: "500m" limits: memory: "4Gi" cpu: "2" ports: - containerPort: 8848 name: client-port - containerPort: 9848 name: client-rpc - containerPort: 9849 name: raft-rpc - containerPort: 7848 name: old-raft-rpc env: - name: NACOS_REPLICAS value: "3" - name: SERVICE_NAME value: "nacos-headless" - name: DOMAIN_NAME value: "cluster.local" - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: MYSQL_SERVICE_HOST valueFrom: configMapKeyRef: name: nacos-config key: mysql.host - name: MYSQL_SERVICE_DB_NAME valueFrom: configMapKeyRef: name: nacos-config key: mysql.db.name - name: MYSQL_SERVICE_PORT valueFrom: configMapKeyRef: name: nacos-config key: mysql.port - name: MYSQL_SERVICE_USER valueFrom: configMapKeyRef: name: nacos-config key: mysql.user - name: MYSQL_SERVICE_PASSWORD valueFrom: configMapKeyRef: name: nacos-config key: mysql.password - name: SPRING_DATASOURCE_PLATFORM value: "mysql" - name: NACOS_SERVER_PORT value: "8848" - name: NACOS_APPLICATION_PORT value: "8848" - name: PREFER_HOST_MODE value: "hostname" #下面几个变量控制鉴权设置 - name: NACOS_AUTH_ENABLE value: 'false' # - name: NACOS_AUTH_TOKEN # value: SecretKey01234567890123456789012345678901234567890123456789012345678 # value: npVSiig6rl!0E # - name: NACOS_AUTH_IDENTITY_KEY # value: nacos # - name: NACOS_AUTH_IDENTITY_VALUE # value: 0Kx2%SMgNmwu4 volumeMounts: - name: data mountPath: /home/nacos/plugins/peer-finder subPath: peer-finder - name: data mountPath: /home/nacos/data subPath: data - name: data mountPath: /home/nacos/logs subPath: logs volumeClaimTemplates: - metadata: name: data #不写下面两行使用默认存储类 annotations: volume.beta.kubernetes.io/storage-class: "cephfs-sc" spec: accessModes: [ "ReadWriteMany" ] resources: requests: storage: 20Gi selector: matchLabels: app: nacos --- apiVersion: v1 kind: Service metadata: name: nacos-headless namespace: wfm labels: app: nacos spec: publishNotReadyAddresses: true ports: - port: 8848 name: server targetPort: 8848 - port: 9848 name: client-rpc targetPort: 9848 - port: 9849 name: raft-rpc targetPort: 9849 ## 兼容1.4.x版本的选举端口 - port: 7848 name: old-raft-rpc targetPort: 7848 clusterIP: None selector: app: nacos --- apiVersion: v1 kind: Service metadata: name: nacos namespace: wfm labels: app: nacos spec: selector: app: nacos ports: - name: nacos port: 8848 targetPort: 8848 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/client-max-body-size: 1024m nginx.ingress.kubernetes.io/proxy-body-size: 1024m nginx.ingress.kubernetes.io/proxy-connect-timeout: '300' nginx.ingress.kubernetes.io/proxy-read-timeout: '300' nginx.ingress.kubernetes.io/proxy-send-timeout: '300' nginx.ingress.kubernetes.io/ssl-redirect: 'true' name: nacos.weifumao.com-ingress namespace: wfm spec: ingressClassName: nginx rules: - host: nacos.weifumao.com http: paths: - backend: service: name: nacos port: number: 8848 path: /nacos pathType: Prefix tls: - hosts: - nacos.weifumao.com secretName: weifumao.com