• k8s集群使用Yaml部署Nacos集群


    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: nacos
      namespace: pro-nacos
      labels:
        app: nacos
      annotations:
        service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
    spec:
      ports:
      - protocol: TCP
        port: 8848
        targetPort: 8848
        nodePort: 31248
        name: nacos-http
      - protocol: TCP
        port: 9848
        targetPort: 9848
        name: raft-rpc
        nodePort: 32248
      selector:
        app: nacos
      type: NodePort
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: nacos-headless
      namespace: pro-nacos
      labels:
        app: nacos-headless
    spec:
      type: ClusterIP
      clusterIP: None
      ports:
        - port: 8848
          name: server
          targetPort: 8848
        - port: 9848
          name: client-rpc
          targetPort: 9848
        - port: 9849
          name: raft-rpc
          targetPort: 9849
        - port: 7848
          name: old-raft-rpc
          targetPort: 7848
      selector:
        app: nacos

    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: nacos-cm
      namespace: pro-nacos
    data:
      mysql.db.host: "数据库ip"
      mysql.db.name: "nacos的数据库名称"
      mysql.port: "3306"
      mysql.user: "数据库用户名"
      mysql.password: "数据库密码"

    ---
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: nacos
      namespace: pro-nacos
    spec:
      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"
          containers:
            - name: nacos
              imagePullPolicy: Always
              image: nacos/nacos-server:latest
              resources:
                requests:
                  memory: "2Gi"
                  cpu: "500m"
              ports:
                - containerPort: 8848
                  name: client
                - containerPort: 9848
                  name: client-rpc
                - containerPort: 9849
                  name: raft-rpc
                - containerPort: 7848
                  name: old-raft-rpc
              env:
                - name: NACOS_REPLICAS
                  value: "3"
                - name: MYSQL_SERVICE_HOST
                  valueFrom:
                    configMapKeyRef:
                      name: nacos-cm
                      key: mysql.db.host
                - name: MYSQL_SERVICE_DB_NAME
                  valueFrom:
                    configMapKeyRef:
                      name: nacos-cm
                      key: mysql.db.name
                - name: MYSQL_SERVICE_PORT
                  valueFrom:
                    configMapKeyRef:
                      name: nacos-cm
                      key: mysql.port
                - name: MYSQL_SERVICE_USER
                  valueFrom:
                    configMapKeyRef:
                      name: nacos-cm
                      key: mysql.user
                - name: MYSQL_SERVICE_PASSWORD
                  valueFrom:
                    configMapKeyRef:
                      name: nacos-cm
                      key: mysql.password
                - name: MODE
                  value: "cluster"
                - name: NACOS_SERVER_PORT
                  value: "8848"
                - name: PREFER_HOST_MODE
                  value: "hostname"
                - name: NACOS_SERVERS
                  value: "nacos-0.nacos-headless.pro-nacos.svc.cluster.local:8848 nacos-1.nacos-headless.pro-nacos.svc.cluster.local:8848 nacos-2.nacos-headless.pro-nacos.svc.cluster.local:8848"
      selector:
        matchLabels:
          app: nacos

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: nacos-web
      namespace: pro-nacos

    spec:
      rules:
        - host: nacos-web.nacos-demo.com
          http:
            paths:
              - path: /nacos
                backend:
                  serviceName: nacos
                  servicePort:  8848

  • 相关阅读:
    第3章-8 字符串逆序
    git 学习笔记
    PCIe Switch PM40028调试
    数据和埋点的通俗解释
    19-springcloud(上)
    开源播放器GSYVideoPlayer的简单介绍及播放rtsp流的优化
    安装EditorConfig
    分组后将成员拼成字符串
    IDEA常用代码模板
    proemtheus TSL加密认证
  • 原文地址:https://blog.csdn.net/u012272367/article/details/127754394