首页 > 其他 > 详细

Nacos 配置使用K8S yaml 部署

时间:2020-08-14 17:35:05      阅读:207      评论:0      收藏:0      [点我收藏+]

1. 准备阶段

  nacos-server 镜像

       yaml 文件

  mysql 数据库

       使用NodePort  yaml

#deploy
apiVersion: apps/v1
kind: Deployment
#kind: StatefulSet
metadata:
  name: nacos-server
  namespace: test
spec:
  selector:
    matchLabels:
      app: nacos-server
  replicas: 1
  template:
    metadata:
      labels:
        app: nacos-server
    spec:
      nodeSelector:
        kubernetes.io/hostname: k8s-node1#标签筛选,固定哪个节点上安装
        emptyDir: {}
      containers:
      - name: nacos-server
        image: nacos-server:1.3.1
        imagePullPolicy: Always
        env:   //环境变量设置
        - name: MODE
          value: "standalone"        
        - name: MYSQL_SERVICE_HOST
          value:  "127.0.0.1"  //数据库地址
        - name: MYSQL_SERVICE_DB_NAME
          value: "nacos-server"
        - name: MYSQL_SERVICE_USER
          value: "root"
        - name: MYSQL_SERVICE_PASSWORD
          value: "123456"
        - name: NACOS_AUTH_CACHE_ENABLE
          value: "true"
        ports:
        - containerPort: 8848
        resources:
          limits:
            cpu: 0
            memory: 0
          requests:
            cpu: 0
            memory: 0
---
#service
apiVersion: v1
kind: Service
metadata:
  name: nacos-server
  namespace: test
spec:
  type: NodePort
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8848
    nodePort: 30099
  selector:
    app: nacos-server
---

 参数解析 可通过环境变量注入: 表格引自https://www.cnblogs.com/allennote/articles/12459907.html

namedescriptionoption
MODE cluster模式/standalone模式 cluster/standalone default cluster
NACOS_SERVERS nacos cluster地址 eg. ip1,ip2,ip3
PREFER_HOST_MODE 是否支持hostname hostname/ip default ip
NACOS_SERVER_PORT nacos服务器端口 default 8848
NACOS_SERVER_IP 多网卡下的自定义nacos服务器IP  
SPRING_DATASOURCE_PLATFORM standalone 支持 mysql mysql / empty default empty
MYSQL_MASTER_SERVICE_HOST mysql 主节点host  
MYSQL_MASTER_SERVICE_PORT mysql 主节点端口 default : 3306
MYSQL_MASTER_SERVICE_DB_NAME mysql 主节点数据库  
MYSQL_MASTER_SERVICE_USER 数据库用户名  
MYSQL_MASTER_SERVICE_PASSWORD 数据库密码  
MYSQL_SLAVE_SERVICE_HOST mysql从节点host  
MYSQL_SLAVE_SERVICE_PORT mysql从节点端口 default :3306
MYSQL_DATABASE_NUM 数据库数量 default :2
JVM_XMS -Xms default :2g
JVM_XMX -Xmx default :2g
JVM_XMN -Xmn default :1g
JVM_MS -XX:MetaspaceSize default :128m
JVM_MMS -XX:MaxMetaspaceSize default :320m
NACOS_DEBUG 开启远程调试 y/n default :n
TOMCAT_ACCESSLOG_ENABLED server.tomcat.accesslog.enabled default :false

 使用 ingress 方式设置 集群 (此集群为k8s模式集群 非nacos提供的标准集群模式 如需相互监听请参考nacos 官方部署模式)

  

#deploy
apiVersion: apps/v1
kind: Deployment
#kind: StatefulSet
metadata:
  name: nacos-server
  namespace: test
spec:
  selector:
    matchLabels:
      app: nacos-server
  replicas: 2 //部署多份nacos
  template:
    metadata:
      labels:
        app: nacos-server
    spec:
        emptyDir: {}
      containers:
      - name: nacos-server
        image: nacos-server:1.3.1
        imagePullPolicy: Always
        env:
        - name: MODE
          value: "standalone"
        - name: MYSQL_SERVICE_HOST
          value: "10.90.16.129"
        - name: MYSQL_SERVICE_DB_NAME
          value: "nacos-server"
        - name: MYSQL_SERVICE_USER
          value: "root"
        - name: MYSQL_SERVICE_PASSWORD
          value: "123456"
        - name: NACOS_AUTH_CACHE_ENABLE
          value: "true"       
        ports:
        - containerPort: 8848
        resources:
          limits:
            cpu: 0
            memory: 0
          requests:
            cpu: 0
            memory: 0
---
#service
apiVersion: v1
kind: Service
metadata:
  name: nacos-server
  namespace: test
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8848
  selector:
    app: nacos-server
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nacos-server
  namespace: test
spec:
  rules:
  - host: nacos.test.com
    http:
      paths:
      - path: /   
        backend:
          serviceName: nacos-server
          servicePort: 80

2  yaml执行

 yaml 文件名为 nacos-test.yaml

 执行命令为

kubectl apply -f  nacos-test.yaml

 

Nacos 配置使用K8S yaml 部署

原文:https://www.cnblogs.com/7215217758991l/p/13503175.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!