本人最近用k8s编排nacos,网上大多是用cluster模式启动nacos,而用cluster启动nacos一定要用mysql持久化,而如果用k8s编排nacos时,连数据库比较麻烦,所以本人就想用standalone不带数据库连的方式,用k8s编排nacos。

可用的基于standaline的编排文件如下。

apiVersion: apps/v1
kind: StatefulSet
metadata:name: nacos
spec:serviceName: nacosreplicas: 1template:metadata:labels:app: nacosannotations:pod.alpha.kubernetes.io/initialized: "true"spec:containers:- name: nacosimagePullPolicy: IfNotPresentimage: nacos/nacos-serverports:- containerPort: 8848env:- name: MYSQL_DATABASE_NUMvalue: "0"- name: MODEvalue: "standalone"selector:matchLabels:app: nacos
---
apiVersion: v1
kind: Service
metadata:name: nacos-servicelabels:name: nacos-service
spec:type: NodePortports:- port: 8848protocol: TCPtargetPort: 8848nodePort: 32018selector:app: nacos

代码段中规中矩,先说service,用nodeport方式提供服务,用32018提供服务。

而在StatefulSet部分,用官方提供的nacos/nacos-server:latest镜像组装k8s的镜像,同时开放8848端口,而且用env提供了MODE=standalone的输入参数。

但是,如果单单在env里提供MODE=standalone的输入参数,用kubect create -f nacos-deployment.yaml (其中nacos-deployment.yaml是编排文件的名字)编排时,总不行。

再用kubectl logs pod名 的方式观察日志,总会发现nacos去连数据库。由于k8s编排文件里没有配数据库,一定会出问题。

后来看了用kubectl exec的方式,看了镜像文件,发现nacos里,conf/application.properties文件里,存在如下的参数段。

spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:""}
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
db.num=${MYSQL_DATABASE_NUM:1}

其中表示连数据库的SPRING_DATASOURCE_PLATFORM虽然是空,但表示数据库个数的MYSQL_DATABASE_NUM默认值是1,所以一旦启动nacos,nacos就去连数据库。

知道原因就好办了,我就在上文yaml配置文件的env里,加入MYSQL_DATABASE_NUM='0'的配置,以standalone的模式,用k8s编排的方式启动nacos就能成功启动了。

这个问题不仅在用最新版nacos/nacos-server:2.0.4镜像时存在,而且我用nacos/nacos-server:1.4的镜像也会有这个问题。也就是说,只要nacos的application.properties里的db.num参数为1,nacos就会在启动时连数据库。

对应的改法上文也说了,把MYSQL_DATABASE_NUM参数改成0。

k8s编排nacos standalone模式踩坑实录相关推荐

  1. k8s使用 ceph rbd 模式 踩坑

    创建pod时,kubelet需要使用rbd命令去检测和挂载pv对应的ceph image,所以要在所有的worker节点安装ceph客户端ceph-common. 将ceph的ceph.client. ...

  2. JAVA发布栅格图层_基于 WebGL实现自定义栅格图层踩坑实录

    以下内容转载自totoro的文章<WebGL-Y轴翻转踩坑实录> 作者:totoro 链接:blog.totoroxiao.com/webgl-flipY- 来源:blog.totorox ...

  3. iOS 入门开发踩坑实录

    其实人生也没有什么道理可讲,但是我们不必丧气,还是要期待,人生有奇遇. 前言 苹果开发者:iOS Developer 最近因为工作需要要开始搞iOS了,简单记录下我收集和学习的过程. 学习资料准备 组 ...

  4. HP Zbook 15重装ubantu18后,安装Nvidia驱动(踩坑实录,不推荐尝试)

    电脑型号:HP Zbook 15  G6 显卡:nvidia Quadro T1000 安装方式: 使用官方的NVIDIA驱动进行手动安装(经过安装方式和结果对比,强烈不推荐手动安装的方式,这就是一篇 ...

  5. RIME(小狼毫)踩坑实录(常见问题)

    目录 RIME(小狼毫)踩坑实录 适合谁使用 配置文件规则 文件目录 命名格式 yaml语法 踩坑 配置微软双拼 增加词典 GUI方式(不推荐) 编写yaml文件方式 符号上屏 总结 RIME(小狼毫 ...

  6. Unity3D学习之旅5-RPG游戏-更新与踩坑实录

    踩坑实录 设定了位置的物体突然位置变成坐标原点(0,0,0) 由于我使用了Unity自带的导航系统AI-Navication,当我把游戏人物传送到一个新地点时,该地点未被烘焙上,导致游戏人物位置(po ...

  7. Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇)

    Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇) 折腾了两三天总算顺利在电脑上完成了装x的双系统安装,一路走来还比较顺利,主要在ubuntu的显卡设置上躺了 ...

  8. PAT乙级题库踩坑实录

    PAT乙级题库踩坑实录 [截止2021.7.28乙级题库已经全部AC] 题目名称: 1030 完美数列 (25 分) 测试点3踩坑 每次取m后,不用从m后第一个元素开始判断是否大于mp,直接从m后第m ...

  9. qt5.15.2-银河麒麟-龙芯国产化-项目打包踩坑实录

    qt5.15.2-银河麒麟-龙芯国产化-项目打包踩坑实录 linuxdeployqt几乎是唯一解决方案,网上各种自己写脚本根据ldd去拷贝的,最后大概率都是segment default-除非你是纯Q ...

最新文章

  1. R语言效用分析 ( 效能分析、Power analysis)确定样本量、假设检验与两类错误、pwr包进行效用分析 ( 效能分析、Power analysis)的常用函数列表
  2. linux time shell统计脚本运行时间
  3. Vue2.x双向数据绑定
  4. P5459-[BJOI2016]回转寿司【树状数组】
  5. spring 的4种事务管理(1种编程式+3种声明式)
  6. R语言-数据整形之简介
  7. setuptools find_packages
  8. 高通Android平台下关于display部分的几个关键问题
  9. 500并发相当于多少人_linux开发技术之线程池accept处理高并发connect(含源码)
  10. mybatis 中collection中需要 open close separator
  11. Guava学习笔记(零):Google Guava 类库简介
  12. 小程序_协作开发(版本控制)
  13. 安装VMwareTools
  14. CC++期末课程设计——产品管理系统(源代码+详细注释)
  15. 全球与中国服装测试、检验及认证市场深度研究分析报告
  16. Python中循环题目二的练习(for、while、if)
  17. matlab 判断大小写,匹配正则表达式(区分大小写)
  18. [MFC]OnMouseMove移动位置和OnMouseWheel缩放实现
  19. 互联网的女性主义特征(姜奇平)
  20. 基于过程的软件测试全景图 (2)

热门文章

  1. 商务网站建设与维护【11】
  2. java实训答辩ppt_基于JavaSwing的工作考勤管理系统设计与实现毕业论文+开题报告+实习报告+实习日历+答辩PPT+项目源码...
  3. NIST的安全内容自动化协议(SCAP)以及SCAP中文社区简介
  4. 23_ElsaticSearch 搜索推荐ngram分词机制实现index-time
  5. 计组期末复习之例题与解析
  6. 【身体这些部位不舒服的时候,你知道意味着什么吗?】
  7. 【以太坊】什么是雷电网络 Raiden network
  8. 2015年到2017年 国家自然基金有关深度学习和计算机视觉的部分项目
  9. HTML5作业:美食网站设计(浮动的使用)
  10. 1.7-秩和相关关系