• 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

  • 相关阅读:
    Spring常见错误 - Bean构造注入报空指针异常
    Nginx概念
    Python UI 界面 tkinter初步
    SOCKS55代理与Http代理有何区别?如何选择?
    凉鞋的 Godot 笔记 108. 第二个通识:增删改查
    leetcode 769. Max Chunks To Make Sorted 最多能完成排序的块(中等)
    “蔚来杯“2022牛客暑期多校训练营(加赛),签到题MHEJ
    pytest自动化测试指定执行测试用例
    windows中elasticsearch7中添加用户名密码验证
    无货源操作方式
  • 原文地址:https://blog.csdn.net/u012272367/article/details/127754394