Dubbo—Admin 整体架构与安装步骤

​回顾 Dubbo 服务治理体系的总体架构,Admin 是服务治理控制面中的一个核心组件,负责微服务集群的服务治理、可视化展示等。

Admin 部署架构

总体上来说,Admin 部署架构分为以下几个部分:

  • Admin 主进程,包括服务发现元数据管理、可视化控制台、安全认证策略管控、其他定制化服务治理能力等组件。
  • 强依赖组件,包括 Mysql 数据库、注册/配置/元数据中心(可以是 Kubernetes、Nacos、Zookeeper 等)
  • 可选依赖组件,包括 Prometheus、Grafana、Zipkin 等

安装 Admin

Dubboctl 安装

Download

当前Dubboctl未正式发行,可按以下方式进行尝试。 拉取Dubbo Admin并编译Dubboctl

git clone https://github.com/apache/dubbo-admin.git
cd dubbo-admin/cmd/dubboctl
go build -o dubboctl .

将 dubboctl 放入可执行路径

ln -s dubbo-admin/cmd/dubboctl/dubboctl /usr/local/bin/dubboctl
Install

安装过程会依次:

  1. 将用户自定义的配置profile以及set参数覆盖于默认profile,得到最终的profile
# default profile
apiVersion: dubbo.apache.org/v1alpha1
kind: DubboOperator
metadata:namespace: dubbo-system
spec:profile: defaultnamespace: dubbo-systemcomponentsMeta:admin:enabled: truegrafana:enabled: truerepoURL: https://grafana.github.io/helm-chartsversion: 6.52.4nacos:enabled: truezookeeper:enabled: truerepoURL: https://charts.bitnami.com/bitnamiversion: 11.1.6prometheus:enabled: truerepoURL: https://prometheus-community.github.io/helm-chartsversion: 20.0.2skywalking:enabled: truerepoURL: https://apache.jfrog.io/artifactory/skywalking-helmversion: 4.3.0zipkin:enabled: truerepoURL: https://openzipkin.github.io/zipkinversion: 0.3.0

建议使用自定义profile进行配置,在componentsMeta中开启或关闭组件,在components下配置各组件。其中components下各组件的配置值都是helm chart的values,各组件的具体配置请参考: Grafana: https://github.com/grafana/helm-charts/blob/main/charts/grafana/README.md Zookeeper: https://github.com/bitnami/charts/tree/main/bitnami/zookeeper/#installing-the-chart Prometheus: https://github.com/prometheus-community/helm-charts/tree/main/charts Skywalking: https://github.com/apache/skywalking-kubernetes/blob/master/chart/skywalking/README.md Zipkin: https://github.com/Financial-Times/zipkin-helm

# customization profile
apiVersion: dubbo.apache.org/v1alpha1
kind: DubboOperator
metadata:namespace: dubbo-system
spec:profile: defaultnamespace: dubbo-systemcomponentsMeta:admin:enabled: truegrafana:enabled: trueversion: 6.31.0prometheus:enabled: falsecomponents:admin:replicas: 3grafana:testFramework:enabled: false
  1. 根据profile拉取所需组件并生成manifest,目前Admin,Nacos已在本地,无需拉取;Grafana,Zookeeper,Prometheus,Skywalking,Zipkin将从官方chart库拉取,具体地址和版本可见上方default profile
  2. 将manifest应用于k8s集群
dubboctl manifest install # 使用默认 manifests 安装# ordubboctl manifest generate | kubectl apply -f -
dubboctl install --set spec.components.admin.replicas=2 # 设置组件的配置
dubboctl install --set spec.componentsMeta.admin.enabled=true, spec.componentsMeta.grafana.enabled=false
# 开启或关闭组件
dubboctl install --set spec.componentsMeta.grafana.repoURL=https://grafana.github.io/helm-charts, spec.componentsMeta.grafana.version=6.31.0
# 设置需远程拉取组件的仓库地址与版本

检查安装效果

kubectl get pod -n dubbo-system
打开 Admin 控制台
kubectl port-forward svc/dubbo-admin -n dubbo-system 38080:38080

打开浏览器,访问: http://127.0.0.1:38080/

Helm 安装

获取图表

helm repo add https://charts.bitnami.com/bitnami
helm repo add https://prometheus-community.github.io/helm-charts
helm repo add https://grafana.github.io/helm-charts
helm repo add https://apache.jfrog.io/artifactory/skywalking-helm
helm repo add https://openzipkin.github.io/zipkin

安装 zookeeper

helm install zookeeper bitnami/zookeeper -n dubbo-system

安装 prometheus

helm install prometheus prometheus-community/prometheus -n dubbo-system

安装 grafana

helm install grafana grafana/grafana -n dubbo-system

安装 skywalking

helm install skywalking skywalking/skywalking -n dubbo-system

安装 zipkin

helm install zipkin openzipkin/zipkin -n dubbo-system

检查安装状态

helm ls -n dubbo-system ;kubectl get pods -n dubbo-system --output wide

VM 安装

Download

下载 Dubbo Admin 发行版本

curl -L https://dubbo.apache.org/installer.sh | VERSION=0.1.0 sh -
# Admin 要组织好发行版本

将 dubboctl 放入可执行路径

ln -s dubbo-admin-0.1.0/bin/dubbo-admin /usr/local/bin/dubbo-admin
Run
dubbo-admin run -f override-configuration.yml

配置手册 (Configuration)

配置用于控制 dubbo-admin 的行为

# Environment type. Available values are: "kubernetes" or "universal"
environment: universal # ENV: DUBBO_ENVIRONMENT
# Mode in which Dubbo CP is running. Available values are: "standalone", "global", "zone"
mode: standalone # ENV: DUBBO_MODE# Resource Store configuration
store:# Type of Store used in the Control Plane. Available values are: "kubernetes", "postgres" or "memory"type: memory # ENV: DUBBO_STORE_TYPE# Kubernetes Store configuration (used when store.type=kubernetes)kubernetes:# Namespace where Control Plane is installed to.systemNamespace: dubbo-system # ENV: DUBBO_STORE_KUBERNETES_SYSTEM_NAMESPACE# Postgres Store configuration (used when store.type=postgres)mysql:# Host of the Postgres DBhost: 127.0.0.1 # ENV: DUBBO_STORE_POSTGRES_HOST# Port of the Postgres DBport: 15432 # ENV: DUBBO_STORE_POSTGRES_PORT# User of the Postgres DBuser: dubbo # ENV: DUBBO_STORE_POSTGRES_USER# Password of the Postgres DBpassword: dubbo # ENV: DUBBO_STORE_POSTGRES_PASSWORD# Database name of the Postgres DBdbName: dubbo # ENV: DUBBO_STORE_POSTGRES_DB_NAME# Connection Timeout to the DB in secondsconnectionTimeout: 5 # ENV: DUBBO_STORE_POSTGRES_CONNECTION_TIMEOUT# Maximum number of open connections to the database# `0` value means number of open connections is unlimitedmaxOpenConnections: 50 # ENV: DUBBO_STORE_POSTGRES_MAX_OPEN_CONNECTIONS# Maximum number of connections in the idle connection pool# <0 value means no idle connections and 0 means default max idle connectionsmaxIdleConnections: 50  # ENV: DUBBO_STORE_POSTGRES_MAX_IDLE_CONNECTIONS# TLS settingstls:# Mode of TLS connection. Available values are: "disable", "verifyNone", "verifyCa", "verifyFull"mode: disable # ENV: DUBBO_STORE_POSTGRES_TLS_MODE# Path to TLS Certificate of the client. Used in verifyCa and verifyFull modescertPath: # ENV: DUBBO_STORE_POSTGRES_TLS_CERT_PATH# Path to TLS Key of the client. Used in verifyCa and verifyFull modeskeyPath: # ENV: DUBBO_STORE_POSTGRES_TLS_KEY_PATH# Path to the root certificate. Used in verifyCa and verifyFull modes.caPath: # ENV: DUBBO_STORE_POSTGRES_TLS_ROOT_CERT_PATH# MinReconnectInterval controls the duration to wait before trying to# re-establish the database connection after connection loss. After each# consecutive failure this interval is doubled, until MaxReconnectInterval# is reached. Successfully completing the connection establishment procedure# resets the interval back to MinReconnectInterval.minReconnectInterval: "10s" # ENV: DUBBO_STORE_POSTGRES_MIN_RECONNECT_INTERVAL# MaxReconnectInterval controls the maximum possible duration to wait before trying# to re-establish the database connection after connection loss.maxReconnectInterval: "60s" # ENV: DUBBO_STORE_POSTGRES_MAX_RECONNECT_INTERVAL
server:port: 38080
registry:address: xxx
metadata-center:address: xxx
config-center:address: xxx
external-services:prometheus:# Prometheus service name is "metrics" and is in the "telemetry" namespace# http://prometheus.<dubbo_namespace_name>:9090url: "http://metrics.telemetry:9090/"tracing:# Enabled by default. Kiali will anyway fallback to disabled if# Jaeger is unreachable.enabled: true# Jaeger service name is "tracing" and is in the "telemetry" namespace.# Make sure the URL you provide corresponds to the non-GRPC enabled endpoint# if you set "use_grpc" to false.in_cluster_url: 'http://tracing.telemetry:16685/jaeger'use_grpc: true# Public facing URL of Jaegerurl: 'http://my-jaeger-host/jaeger'grafana:enabled: true# Grafana service name is "grafana" and is in the "telemetry" namespace.in_cluster_url: 'http://grafana.telemetry:3000/'# Public facing URL of Grafanaurl: 'http://my-ingress-host/grafana'# 更多配置
打开 Admin 控制台

打开浏览器,访问: http://127.0.0.1:38080/

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

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

相关文章

博客系统(java,MySQL,HTML)

项目展示&#xff1a; 1.输入 http://127.0.0.1:8080/blog_system/login.html 即可进入登录页面 2.输入正确的用户名和密码后进入博客列表页 要是用户名或密码输入错误&#xff0c;会弹出错误提示框 3.点击查看全文&#xff0c;可以进入博客详情页查看详细信息 4.点击写博客&a…

Unity实现摄像机向屏幕中间发射射线射击物体

1.创建一个准星放在屏幕中间 外部找个PNG透明图&#xff0c;拖到Unity文件夹&#xff0c;右上角改成精灵sprite2d 2.添加到UI画布 3.写脚本 首先&#xff0c;我们需要引入一些 "工具"&#xff0c;就像我们在玩游戏时要先下载游戏客户端一样。这里的 "工具&quo…

统一观测丨使用 Prometheus 监控 SQL Server 最佳实践

作者&#xff1a;啃唯 SQL Server 简介 SQL Server 是什么&#xff1f; Microsoft SQL Server 是 Microsoft 推出的关系型数据库解决方案&#xff0c;支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。Microsoft SQL Server 是市场领先的数据库技术之一。 SQL S…

2核4G服务器支持多少用户同时在线访问?卡不卡?

腾讯云轻量2核4G5M带宽服务器支持多少人在线访问&#xff1f;5M带宽下载速度峰值可达640KB/秒&#xff0c;阿腾云以搭建网站为例&#xff0c;假设优化后平均大小为60KB&#xff0c;则5M带宽可支撑10个用户同时在1秒内打开网站&#xff0c;从CPU内存的角度&#xff0c;网站程序效…

Hexo+Github+Netlify博客搭建教程

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 博客系列 ✨特色专栏&#xff1a; MyS…

1 随机事件与概率

首先声明【这个括号内的都是批注】 文章目录 1 古典概型求概率1.1 随机分配问题【放球】例子 1.2 简单随机抽样问题【取球】例子 2 几何概型求概率例子 3 重要公式求概率3.1 对立3.2 互斥3.3 独立3.4 条件&#xff08;要做分母的必须大于0&#xff09;例子 3.5 不等式或包含例…

结构体对齐规则

1.第一个成员在结构体变量偏移量为0的地址处。 2.其他成员变量对齐到某个数字(对齐数)的整数倍的地址处。(对齐数编译器默认的一个对齐数与该成员大小的较小值&#xff09;注意&#xff1a;目前有且只有VS编译器有默认为8. 3.结构体总大小为最大对齐数的整数倍。 4.如果嵌套…

Maven Surefire Exclude 无效问题排查日志

昨天有个需求,要在单元测试的时候单线程执行,并且只执行单元测试类特殊结尾的,那么根据以往经验,直接在maven里面配置exclude并且指定include即可。如下尝试 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin&…

【算法|动态规划No.18】leetcode718. 最长重复子数组

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

网格管理安全巡检系统—助企业全面安全检查

通过应用安全巡检管理系统&#xff0c;企业能更好地管理控制安全风险&#xff0c;保障员工生命安全和财产安全&#xff0c;避免出现各种危险隐患&#xff0c;帮助企业快速提高生产发展实力。 一、凡尔码搭建安全巡检系统的功能 1.巡检计划:帮助用户制定巡检计划&#xff0c;包括…

【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例实践应用

目录 第一章 理论基础 第二章 开发环境搭建 第三章 遥感大数据处理基础与ChatGPT等AI模型交互 第四章 典型案例操作实践 第五章 输入输出及数据资产高效管理 第六章 云端数据论文出版级可视化 更多应用 随着航空、航天、近地空间等多个遥感平台的不断发展&#xff0c;近…

微信小程序备案流程操作详解,值得收藏

目录 一、小程序备案法律法规参考 二、备案前准备 2.1 备案入口 2.1.1、未上架小程序 2.1.2、已上架小程序 (二)备案类型 (三)备案材料准备 3.1、小程序备案材料 3.2、前置审批材料 3.3、个人备案 3.4、非个人备案 三、备案整体流程 (一)备案信息填写 1、主体信息…

iOS- flutter flavor 多环境Configurations配置

一、点击PROJECT的Runner&#xff0c;选择Info选项&#xff0c;在Configurations下方的号添加不同环境的配置&#xff0c;如下图&#xff1a; 二、选择TAGETS的Runner项目&#xff0c;选择Build Settings选项&#xff0c;在输入框输入package&#xff0c;为不同环境配置相应的…

docker 登录本地仓库harbor问题

1、报错如下&#xff1a; 添加目标harbor 仓库的hosts vim /etc/hosts 2、报错如下&#xff1a; 添加修改/etc/docker/daemon.json文件中的 insecure-registries vim /etc/docker/daemon.json 然后 systemctl daemon-reload systemctl restart docker再次登录

“之江创客”跨境电商赛区决赛暨浙南新电商发展论坛圆满落幕

9月26日&#xff0c;由商务部中国国际电子商务中心指导&#xff0c;浙江省商务厅等十个部门主办&#xff0c;浙江省电子商务促进中心、温州市商务局、苍南县人民政府承办的“之江创客”2023全球电子商务创业创新大赛跨境电商赛区决赛暨浙南新电商发展论坛在苍南圆满落幕。浙江省…

Excel 函数大全应用,包含各类常用函数

Excel 函数大全应用&#xff0c;各类函数应用与案例实操。 AIGC ChatGPT 职场案例 AI 绘画 与 短视频制作&#xff0c; Power BI 商业智能 68集&#xff0c; 数据库Mysql8.0 54集 数据库Oracle21C 142集&#xff0c; Office 2021实战&#xff0c; Python 数据分析&#xff0…

【使用 TensorFlow 2】01/3 中创建和训练自定义层

之前我们已经看到了如何创建自定义损失函数 接下来&#xff0c;我写了关于使用 Lambda 层创建自定义激活函数的文章 一、说明 TensorFlow 2发布已经接近2年时间&#xff0c;不仅继承了Keras快速上手和易于使用的特性&#xff0c;同时还扩展了原有Keras所不支持的分布式训练…

蓝桥杯(跳跃 C++)

思路&#xff1a; 1、根据题目很容易知道可以用深度搜索、广度搜索、动态规划的思想解题。 2、这里利用深度搜素&#xff0c;由题目可知&#xff0c;可以往九个方向走。 3、这里的判断边界就是走到终点。 #include<iostream> using namespace std; int max1 0; int …

使用 Go 和 Wails 构建跨平台桌面应用程序

由于多种原因&#xff0c;Electron 曾经&#xff08;并且仍然&#xff09;大受欢迎。首先&#xff0c;其跨平台功能使开发人员能够从单个代码库支持 Linux、Windows 和 macOS。最重要的是&#xff0c;它对于熟悉 Javascript 的开发人员来说有一个精简的学习曲线。 尽管它有其缺…

解决Win10电脑无线网卡的移动热点无法开启问题

一、目的 利用无线网卡连接网络&#xff0c;然后又用无线网卡通过移动热点分享该网络。 移动热点&#xff0c;简单地说&#xff0c;就是将台式机或笔记本的 Internet 连接转化成 WIFI 信号以供移动设备无线上网的功能&#xff0c;硬件前提是电脑须安装有无线网卡。 二、问题 …