kubernetes部署nacos2.3.0

 一、nacos简介

nacos官网地址

简单易用

     动态配置管理、服务发现和动态的一站式解决方案,20多种开箱即用的以服务为中心的架构特性,基本符合生产要求的轻量级易用控制台。

更适应云架构

      无缝支持 Kubernetes 和 Spring Cloud,在主流公共云上更容易部署和运行(例如阿里云和 AWS ),多租户和多环境支持。

生产等级

       脱胎于历经阿里巴巴10年生产验证的内部产品,支持具有数百万服务的大规模场景,具备企业级SLA的开源产品。

丰富的应用场景

       支持限流、大促销预案和异地多活,直接支持或稍作扩展即可支持大量有用的互联网应用场景
流量调度和服务治理。

二、部署

部署基本环境

kubernetes版本v1.26.3-aliyun.1 edge版本

nacos版本v1.26.3-aliyun.1

内核 3.10.0

部署nfs

# 创建角色
kubectl create -f deploy/nfs/rbac.yaml# 变更配置 deploy/nfs/deployment.yaml29            env:30              - name: PROVISIONER_NAME31                value: fuseim.pri/ifs32              - name: NFS_SERVER33                value: # nfs-server地址  # 变更nfsserver的IP地址34              - name: NFS_PATH35                value: /data/nfs-share  # 挂载的路径36        volumes:37          - name: nfs-client-root38            nfs:39              server: # nfs-server地址  # 变更nfsserver的IP地址40              path: /data/nfs-share   # 挂载的路径# 创建 ServiceAccount 和部署 NFS-Client Provisioner
kubectl create -f deploy/nfs/deployment.yaml# 创建 NFS StorageClass
kubectl create -f deploy/nfs/class.yaml# 验证NFS部署成功
kubectl get pod -l app=nfs-client-provisioner

部署MySQL

# 变更配置 deploy/mysql/mysql-nfs.yaml34        - name: mysql-data35          nfs:36            server: # nfs-server地址   # 根据nfs的serverIP地址37            path: /data/mysql       # 挂载的路径# 创建数据库
kubectl create -f deploy/mysql/mysql-nfs.yaml# 验证数据库是否正常工作
kubectl get pod 
NAME                         READY   STATUS    RESTARTS   AGE
mysql-gf2vd                        1/1     Running   0          111m

执行数据库初始化语句

数据库初始化语句位置 ​​​​​​https://github.com/alibaba/nacos/blob/develop/distribution/conf/mysql-schema.sql

 变更MySQL配置

# deploy/nacos/nacos-pvc-nfs.yaml  # 这里也可以使用默认配置
data:mysql.host: "数据库地址"mysql.db.name: "数据库名称"mysql.port: "端口"mysql.user: "用户名"mysql.password: "密码"

存储要求

   152        spec:153          accessModes: [ "ReadWriteMany" ]154          resources:155            requests:156              storage: 20Gi  # 这里存储需要满足至少20G

创建 Nacos

kubectl create -f deploy/nacos/nacos-pvc-nfs.yaml

pvc和pv关联

# 部署后观察pod状态是Pending 这里需要进行存储关联
]# kubectl get pod -l app=nacos
NAME      READY   STATUS    RESTARTS   AGE
nacos-0   0/1     Pending   0          8s
nacos-1   0/1     Pending   0          8s
nacos-2   0/1     Pending   0          8s# 创建pv
cat nacos-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:name: nacos00-pv   #这里和上面对应好创建三个
spec:capacity:storage: 50GivolumeMode: FilesystemaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: RetainstorageClassName: managed-nfs-storagenfs:path: /data/k8s/变量  # 这里三个节点需要使用三个文件夹server: # nfs-server地址# 变更三次,创建三个pv
kubectl create -f nacos-pv.yaml# 查看pvc和pv的关联情况如果这里没有关联成功 Pod也不会成功
]# kubectl get pvc
NAME           STATUS   VOLUME       CAPACITY   ACCESS MODES   STORAGECLASS          AGE
data-nacos-0   Bound    nacos00-pv   50Gi       RWX            managed-nfs-storage   3m15s
data-nacos-1   Bound    nacos01-pv   50Gi       RWX            managed-nfs-storage   3m15s
data-nacos-2   Bound    nacos02-pv   50Gi       RWX            managed-nfs-storage   3m15s
]# kubectl get pv
NAME         CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                  STORAGECLASS          REASON   AGE
nacos00-pv   50Gi       RWX            Retain           Bound    default/data-nacos-0   managed-nfs-storage            4m24s
nacos01-pv   50Gi       RWX            Retain           Bound    default/data-nacos-1   managed-nfs-storage            4m11s
nacos02-pv   50Gi       RWX            Retain           Bound    default/data-nacos-2   managed-nfs-storage            4m4s# 查看nacos的pod
kubectl get pod -l app=nacos
NAME      READY   STATUS    RESTARTS   AGE
nacos-0   1/1     Running   0          19h
nacos-1   1/1     Running   0          19h
nacos-2   1/1     Running   0          19h

对外暴漏nacos

# nacos-nodeport-service.yaml
apiVersion: v1
kind: Service
metadata:name: nacos-nodeport
spec:type: NodePortports:- name: httpport: 8848   # 可以选择其他端口targetPort: 8848nodePort: 30000  # 选择一个合适的 NodePortselector:app: nacos  # 创建nodePort
kubectl create -f nacos-nodeport-service.yaml# kubectl get svc  # 查看svc
nacos-nodeport   NodePort    10.245.209.147   <none>        8848:30000/TCP                        3s

三、访问nacos

访问 http://宿主机IP地址:30000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/670252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt:QFileDialog

目录 一、介绍 二、功能 三、具体事例 1、将某个界面保存为图片&#xff0c;后缀名可选PNG、JPEG、SVG等 一、介绍 QFileDialog提供了一个对话框&#xff0c;允许用户选择文件或者目录&#xff0c;也允许用户遍历文件系统&#xff0c;用以选择一个或多个文件或者目录。 QF…

Debezium发布历史111

原文地址&#xff1a; https://debezium.io/blog/2021/10/07/incremental-snapshots/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. Incremental Snapshots in Debezium October 7, 2021 by Jiri Pechanec mys…

linux虚拟机升级g++编译器版本

原先的 更新你的软件包列表&#xff1a; sudo apt update 添加Ubuntu Toolchain PPA&#xff08;Personal Package Archive&#xff09;&#xff0c;这是一个提供较新编译器版本的第三方软件源&#xff1a; sudo add-apt-repository ppa:ubuntu-toolchain-r/test 再次更新软件包…

Tokitsukaze and Short Path (plus minus)

一、Tokitsukaze and Short Path (plus) 解析&#xff1a; 容易知道 对于 u 和 v 两点之间的距离是 2*max(a[u],a[v]),同时这也是这两个点的最短距离&#xff0c;因为如果想要绕路的话&#xff0c;就必须再至少经过一个点&#xff0c;这样的话&#xff0c;就会使得两者的距离变…

RTthread线程间通信(邮箱,消息队列,信号/软件中断)---02代码分析邮箱和消息队列

RT-Thread代码分析 这是源码分析, 实际使用看这个 信号看这个 看这一篇之前最好看一下我的RT-Thread对象管理以及线程管理, 时钟管理 邮箱 实际是实现是一个对环形缓存区的使用 struct rt_mailbox {struct rt_ipc_object parent; /**< inherit from…

python进行批量搜索匹配替换文本文字的matlab操作实例

在进行一些数据处理时&#xff0c;可能需要抓取原文中的一些内容&#xff0c;批量替换原文另外的一些内容&#xff0c;而且事先还需要一步搜索匹配的步骤。 举个例子&#xff0c;如下matlab输出的txt文件&#xff0c;原文件有几万行数据&#xff0c;这里只摘取3行对应的 文件文…

R语言:箱线图绘制(添加平均值趋势线)

箱线图绘制 1. 写在前面2.箱线图绘制2.1 相关R包导入2.2 数据导入及格式转换2.3 ggplot绘图 1. 写在前面 今天有时间把之前使用过的一些代码和大家分享&#xff0c;其中箱线图绘制我认为是非常有用的一个部分。之前我是比较喜欢使用origin进行绘图&#xff0c;但是绘制的图不太…

vite+vue3发布自己的npm组件+工具函数

记录一下个人最近一次发布npm组件的过程&#xff1a; 一、创建组件和工具函数 执行命令创建一个空项目&#xff1a; npm create vite 创建过程稍微有些慢&#xff0c;不知何故&#xff1f;其中选择vue , 个人暂时使用的JS 。在 src 目录下面创建一个文件 package 存放组件和公…

【Java八股面试系列】JVM-垃圾回收

目录 垃圾回收 堆空间的基本结构 内存分配和回收原则 分代收集机制 Minor GC 流程 空间分配担保 老年代 大对象直接进入老年代 长期存活的对象将进入老年代 GC的区域 对象存活判定算法 引用计数法 可达性分析算法 finalize() 字符串常量判活 类判活 垃圾回收算…

1、将 ChatGPT 集成到数据科学工作流程中:提示和最佳实践

将 ChatGPT 集成到数据科学工作流程中:提示和最佳实践 希望将 ChatGPT 集成到您的数据科学工作流程中吗?这是一个利用 ChatGPT 进行数据科学的提示的实践。 ChatGPT、其继任者 GPT-4 及其开源替代品非常成功。开发人员和数据科学家都希望提高工作效率,并使用 ChatGPT 来简…

提示工程实战案例

如果你在 2023 年听说过生成式人工智能&#xff08;Generative AI&#xff09;&#xff0c;你一定也听说过提示工程&#xff08;Prompt Engineering&#xff09;。 通过快速的互联网搜索或质疑 GenAI 本身&#xff0c;人们可以轻松找到相关的定义、提示技术&#xff0c;例如 零…

机器学习---半监督学习简单示例(标签传播算法)

1. 使用半监督学习方法 Label Spreading 在一个生成的二维数据集上进行标签传播 import numpy as np import matplotlib.pyplot as plt from sklearn.semi_supervised import label_propagation from sklearn.datasets import make_circles# generate ring with inner box n_s…

Apache Zeppelin 整合 Spark 和 Hudi

一 环境信息 1.1 组件版本 组件版本Spark3.2.3Hudi0.14.0Zeppelin0.11.0-SNAPSHOT 1.2 环境准备 Zeppelin 整合 Spark 参考&#xff1a;Apache Zeppelin 一文打尽Hudi0.14.0编译参考&#xff1a;Hudi0.14.0 最新编译 二 整合 Spark 和 Hudi 2.1 配置 %spark.confSPARK_H…

tee漏洞学习-翻译-2:探索 Qualcomm TrustZone的实现

原文&#xff1a;http://bits-please.blogspot.com/2015/08/exploring-qualcomms-trustzone.html 获取 TrustZone image 从两个不同的位置提取image 从手机设备本身从google factory image 已经root的Nexus 5设备&#xff0c;image存储在eMMC芯片上&#xff0c;并且eMMC芯片…

分享65个节日PPT,总有一款适合您

分享65个节日PPT&#xff0c;总有一款适合您 65个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1hc1M5gfYK8eDxQVsK8O9xQ?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易。知…

SQLite database实现加密

注意&#xff1a;以下操作以VS2022为开发工具&#xff0c;以C#为开发语言。 数据加密原因 软件在使用的各个场景&#xff0c;很多都需要数据具有保密性&#xff0c;于是对于数据库就需要加密。特别是在某些特定领域或存储敏感数据尤其如此。 SQLite加密实现 SQLite加密有两种…

Go语言每日一练——链表篇(五)

传送门 牛客面试笔试必刷101题 ----------------合并k个已排序的链表 题目以及解析 题目 解题代码及解析 解析 这一道题与昨天的合并链表题目类似&#xff0c;但是由于有K个且时间复杂度要求控制在O(nlogn)&#xff0c;这里主要有两种解法&#xff1a;一种是依旧使用归并来…

Arduino 串口绘图仪简单使用

1、工具所在位置 串口绘图仪实际上是从预设的串口获取值并将其绘制在xy轴图每获取到一组数据向左滑动一个单位&#xff0c;读取数据的速度起快&#xff0c;滑动就越快。 Y轴代表来自串口的值&#xff0c;可以是单个也可以是一组 。在读取串口数据时遇到"\n"&#xf…

正点原子-STM32通用定时器学习笔记(1)

1. 通用定时器简介&#xff08;F1为例&#xff09; F1系列通用定时器有4个&#xff0c;TIM2/TIM3/TIM4/TIM5 主要特性&#xff1a; 16位递增、递减、中心对齐计数器&#xff08;计数值&#xff1a;0~65535&#xff09;&#xff1b; 16位预分频器&#xff08;分频系数&#xff…

RP2040 SPI

SPI 的库文件是arduino开源库&#xff0c;在程序中include。 SPI IIC都是通信协议【模块】&#xff0c;需要硬件支持&#xff0c;MCU都会集成相应的模块。arduino都集成在了内核中&#xff0c;直接用API函数调用即可。其他单片机的架构也是相同的。 SPI的库和函数及其相关说明…