Sign inSign up

fuhouyu/nacos-server

By fuhouyu

•Updated 12 months ago

Nacos Server Multiple Datasources

Image
2

8.7K

fuhouyu/nacos-server repository overview

⁠Nacos Server Multiple Datasource

自 nacos-group/nacos-plugin⁠ 构建,修改了部分Application.properties的注入方式,以适配多数据源配置

⁠示例
docker run -it --name nacos-quick \
-e MODE=standalone \
-e NACOS_AUTH_IDENTITY_KEY="d90ee0d2ef5e452f80c00514c7f30c3e" \
-e NACOS_AUTH_IDENTITY_VALUE="4a7397d7085945d3adcdcaec264abf90" \
-e NACOS_AUTH_TOKEN="N2YyYWZiODJkNWE1NDllNzljODNjYmQ5ZDBlODE3M2Q=" \
-e SPRING_DATASOURCE_PLATFORM="postgresql" \
-e DB_URL="jdbc:postgresql://${ip}:${port}/${database}" \
-e DB_USER="${database_username}" \
-e DB_PASSWORD="${database_password}" \
-e NACOS_AUTH_ENABLE="true" \
-e DRIVER_CLASS_NAME="org.postgresql.Driver" \
-p 8848:8848 \
-p 9848:9848 \
-p 8080:8080 \
-d fuhouyu/nacos-server:3.0.3-postgresql
⁠docker-compose
services:
  nacos:
    image: ${NACOS_TAG}
    container_name: nacos-quick
    environment:
      NACOS_AUTH_IDENTITY_KEY: "d90ee0d2ef5e452f80c00514c7f30c3e"
      NACOS_AUTH_IDENTITY_VALUE: "4a7397d7085945d3adcdcaec264abf90"
      NACOS_AUTH_TOKEN: "N2YyYWZiODJkNWE1NDllNzljODNjYmQ5ZDBlODE3M2Q="
      SPRING_DATASOURCE_PLATFORM: postgresql
      DB_URL: "jdbc:postgresql://${ip}:${port}/${database}"
      DB_USER: ${database_username}
      DB_PASSWORD: ${database_password}
      NACOS_AUTH_ENABLE: "true"
      DRIVER_CLASS_NAME: "org.postgresql.Driver"
    ports:
      - "8848:8848"
      - "9848:9848"
      - "8080:8080"
    deploy:
      mode: replicated
      replicas: 1
⁠kubernetes
# 提供外部使用
apiVersion: v1
kind: Service
metadata:
  name: nacos-nodeport
  namespace: default
  labels:
    app: nacos-nodeport
spec:
  type: NodePort
  # 根据需要暴露port
  ports:
    - port: 8848
      name: server
      targetPort: 8848
      nodePort: 30048
    - port: 9848
      name: client-rpc
      targetPort: 9848
      nodePort: 31048
    - port: 8080
      name: console-port
      targetPort: 9848
      nodePort: 38080
  selector:
    app: nacos
---
# 无头服务,提供容器内部使用
apiVersion: v1
kind: Service
metadata:
  name: nacos-headless
  namespace: default
  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-grpc
      targetPort: 9849
    - port: 7848
      name: raft-rpc
      targetPort: 7848
  selector:
    app: nacos
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: nacos-cm
  namespace: default
data:
  # 这里修改jdbc数据源配置
  db.url: "jdbc:postgresql://ip:port/nacos"
  db.username: "nacos"
  db.password: "nacos"
  db.driver.name: "org.postgresql.Driver"

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nacos
  namespace: default
spec:
  serviceName: nacos
  # Nacos 集群,默认3节点
  replicas: 3
  template:
    metadata:
      labels:
        app: nacos
      annotations:
        pod.alpha.kubernetes.io/initialized: "true"
    spec:
      containers:
        - name: nacos
          imagePullPolicy: Always
          image: fuhouyu/nacos-server:3.0.3-postgresql
          # 根据需要修改
          resources:
            requests:
              memory: "2048Mi"
              cpu: "1024m"
            limits:
              memory: "2048Mi"
              cpu: "1024m"
          env:
            # Nacos 副本数
            - name: NACOS_REPLICAS
              value: "3"
            - name: DB_URL
              valueFrom:
                configMapKeyRef:
                  name: nacos-cm
                  key: db.url
            - name: DB_USER
              valueFrom:
                configMapKeyRef:
                  name: nacos-cm
                  key: db.username
            - name: DB_PASSWORD
              valueFrom:
                configMapKeyRef:
                  name: nacos-cm
                  key: db.password
            - name: DRIVER_CLASS_NAME
              valueFrom:
                configMapKeyRef:
                  name: nacos-cm
                  key: db.driver.name
            - name: MODE
              value: "cluster"
            - name: NACOS_SERVER_PORT
              value: "8848"
            - name: PREFER_HOST_MODE
              value: "hostname"
            - name: nacos.naming.data.warmup
              value: "false"
            - name: NACOS_SERVERS
              value: "nacos-0.nacos-headless.default.svc.cluster.local:8848,nacos-1.nacos-headless.default.svc.cluster.local:8848,nacos-2.nacos-headless.default.svc.cluster.local:8848"
            - name: NACOS_AUTH_TOKEN
              value: NkQzNUUwMjlCOTdGNDk4Mjg2QTJEN0E4RDYzM0EyMzE=
            - name: NACOS_AUTH_IDENTITY_KEY
              value: AE84C5193B6C44728C76AEB73D1A3037
            - name: NACOS_AUTH_IDENTITY_VALUE
              value: D3D2F9F96E58435E802FC34017722057
            - name: SPRING_DATASOURCE_PLATFORM
              value: "postgresql"
            - name: NACOS_AUTH_ENABLE
              value: "true"
  selector:
    matchLabels:
      app: nacos

Tag summary

Content type

Image

Digest

sha256:6ccbcb7ac…

Size

270.9 MB

Last updated

12 months ago

docker pull fuhouyu/nacos-server:3.1.1-mssql