当前位置: 首页 > news >正文

k8s集群部署nacos集群

1、部署 MySQL

k8s集群上部署mysql,注意storageClassName名字,生产环境上不建议用这种方式,推荐独立部署mysql

vim nacos-mysql.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:name: nacos-mysqlnamespace: nacos
spec:serviceName: nacos-mysqlreplicas: 1selector:matchLabels:app: nacos-mysqltemplate:metadata:labels:app: nacos-mysqlspec:containers:- name: mysqlimage: mysql:5.7env:- name: MYSQL_ROOT_PASSWORDvalue: "nacos@123"- name: MYSQL_DATABASEvalue: "nacos_config"ports:- containerPort: 3306volumeMounts:- name: mysql-datamountPath: /var/lib/mysqlvolumes:- name: mysql-datapersistentVolumeClaim:claimName: nacos-mysql-pvc---
apiVersion: v1
kind: Service
metadata:name: nacos-mysqlnamespace: nacos
spec:selector:app: nacos-mysqlports:- port: 3306targetPort: 3306---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: nacos-mysql-pvcnamespace: nacos
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10GistorageClassName: nfs-client

2、初始化数据库
我这里用自建的mysql,不使用k8s集群部署mysql的方式
下载nacos初始化SQL

https://github.com/alibaba/nacos/blob/2.4.1/distribution/conf/mysql-schema.sql

登录MySQL创建数据库

mysql -u root -p -e "CREATE DATABASE nacos_config CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"

3、部署 Nacos 集群(3节点)
记得修改mysql数据库连接地址
vim nacos-cluster.yaml

root@opstest001:~/nacos# cat nacos-cluster.yaml
apiVersion: v1
kind: Namespace
metadata:name: nacos---
apiVersion: v1
kind: Service
metadata:name: nacos-headlessnamespace: nacoslabels:app: nacos
spec:ports:- port: 8848name: client- port: 9848name: clusterclusterIP: Noneselector:app: nacos---
apiVersion: apps/v1
kind: StatefulSet
metadata:name: nacos-clusternamespace: nacos
spec:serviceName: nacos-headlessreplicas: 3podManagementPolicy: OrderedReadyselector:matchLabels:app: nacostemplate:metadata:labels:app: nacosspec:affinity:podAntiAffinity:preferredDuringSchedulingIgnoredDuringExecution:- weight: 100podAffinityTerm:labelSelector:matchExpressions:- key: appoperator: Invalues:- nacostopologyKey: "kubernetes.io/hostname"containers:- name: nacosimage: registry.cn-hangzhou.aliyuncs.com/iuxt/nacos-server:v2.3.2args:- "/bin/sh"- "-c"- "exec java -Dnacos.standalone=false -Dlogging.path=/dev/stdout -jar /home/nacos/nacos-server.jar"ports:- containerPort: 8848name: client- containerPort: 9848name: clusterenv:- name: PREFER_HOST_MODEvalue: hostname- name: NACOS_SERVER_PORTvalue: "8848"- name: NACOS_APPLICATION_PORTvalue: "8848"- name: SPRING_DATASOURCE_PLATFORMvalue: mysql- name: MYSQL_SERVICE_HOSTvalue: "192.168.2.251"- name: MYSQL_SERVICE_DB_NAMEvalue: "nacos_config"- name: MYSQL_SERVICE_PORTvalue: "3306"- name: MYSQL_SERVICE_USERvalue: "root"- name: MYSQL_SERVICE_PASSWORDvalue: "dbaadmin@123"- name: NACOS_AUTH_ENABLEvalue: "true"  # 开启鉴权- name: NACOS_AUTH_IDENTITY_KEYvalue: "nacos"  # 身份标识Key(默认值)- name: NACOS_AUTH_IDENTITY_VALUEvalue: "nacos"  # 身份标识Value(默认值)- name: NACOS_AUTH_TOKENvalue: "SecretKey012345678901234567890123456789012345678901234567890123456789"  # 自定义JWT密钥- name: NACOS_SERVERSvalue: "nacos-cluster-0.nacos-headless.nacos.svc.cluster.local:8848 nacos-cluster-1.nacos-headless.nacos.svc.cluster.local:8848 nacos-cluster-2.nacos-headless.nacos.svc.cluster.local:8848"readinessProbe:httpGet:path: /nacos/v1/console/health/livenessport: 8848initialDelaySeconds: 20periodSeconds: 10livenessProbe:httpGet:path: /nacos/v1/console/health/livenessport: 8848initialDelaySeconds: 60periodSeconds: 20volumeMounts:- name: nacos-datamountPath: /home/nacos/datavolumes:- name: nacos-dataemptyDir: {}
---
apiVersion: v1
kind: Service
metadata:name: nacos-cluster-servicenamespace: nacoslabels:app: nacos
spec:type: ClusterIPselector:app: nacosports:- name: clientport: 8848targetPort: 8848

配置ingress,设置管理地址

root@opstest001:~/nacos# cat nacos-ingress.yaml 
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: nacos-ingressnamespace: nacosannotations:nginx.ingress.kubernetes.io/rewrite-target: /nacos/$1nginx.ingress.kubernetes.io/proxy-read-timeout: "600"nginx.ingress.kubernetes.io/proxy-send-timeout: "600"nginx.ingress.kubernetes.io/proxy-body-size: "50m"
spec:ingressClassName: nginx  # 明确指定使用 nginx IngressClassrules:- host: nacos.cctbb.comhttp:paths:- path: /(.*)pathType: ImplementationSpecificbackend:service:name: nacos-cluster-serviceport:number: 8848

访问
http://nacos.cctbb.com
nacos/nacos

在这里插入图片描述

http://www.dtcms.com/a/411459.html

相关文章:

  • 成都前几年网站建设公司小红书怎么做关键词排名优化
  • 设计网站报价企业网络推广方案策划书
  • 做内容网站好累网泰网站建设网络推广
  • 自己做网站app信阳企业网站开发
  • 软件详细测评一:百宝音配音平台
  • 建站所有步骤国际新闻最新消息今天新闻大事件视频
  • 网站的互动功能seo的中文意思
  • 辽宁省精神文明建设工作三大创建活动网站培训班线上优化
  • Docker 快速部署 Dify + 应用构建完整流程
  • 矩形碰撞检测
  • 队列+宽搜(BFS)-103.二叉树的锯齿形层序遍历-力扣(LeetCode)
  • 使用Eigen矩阵库,计算Ax = B (m>n)矩阵的方法
  • MIT 6.S081 文件系统的基本结构 (Lab10:File system)
  • 跨境电商建站公司北京建设安全网络平台87
  • 【读书笔记】深入理解JVM C1~3
  • Spring Boot携手Leaflet,点亮省级旅游口号WebGIS可视化之路
  • 第一次备考怎么记笔记?三步模板直接用​
  • 网站建设基础筹备宁河做网站公司
  • 中小型网站建设与管理总结免费h5生成网站
  • 有哪些做的好的汽配零配件网站代理网站哪个好
  • 2025GUI项目实践:Unity编辑模式下GUI运行
  • C语言:10行杨辉三角形
  • 软件开发和网站建设哪个好广西建筑培训网
  • GPU微架构演进分析--从SIMT到Scalar-Vector-Tensor计算的混合配比与调度
  • app应用网站源码建设通会员多少钱一个月
  • 分布式 WebSocket 架构设计与实现:跨节点实时通信解决方案
  • 君临天下游戏网站开发者专业的东莞网站排名
  • MHC-Net
  • 分布式专题——23 Kafka日志索引详解
  • 上海殷行建设网站天津宏宇网站建设