黔东南州两学一做教育网站,百度优化培训,网站建设主要流程,flash网站制作下载回顾 Dubbo 服务治理体系的总体架构#xff0c;Admin 是服务治理控制面中的一个核心组件#xff0c;负责微服务集群的服务治理、可视化展示等。
Admin 部署架构
总体上来说#xff0c;Admin 部署架构分为以下几个部分#xff1a;
Admin 主进程#xff0c;包括服务发现…回顾 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/dubboctlInstall
安装过程会依次
将用户自定义的配置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根据profile拉取所需组件并生成manifest目前AdminNacos已在本地无需拉取GrafanaZookeeperPrometheusSkywalkingZipkin将从官方chart库拉取具体地址和版本可见上方default profile将manifest应用于k8s集群
dubboctl manifest install # 使用默认 manifests 安装# ordubboctl manifest generate | kubectl apply -f -dubboctl install --set spec.components.admin.replicas2 # 设置组件的配置dubboctl install --set spec.componentsMeta.admin.enabledtrue, spec.componentsMeta.grafana.enabledfalse
# 开启或关闭组件dubboctl install --set spec.componentsMeta.grafana.repoURLhttps://grafana.github.io/helm-charts, spec.componentsMeta.grafana.version6.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 wideVM 安装
Download
下载 Dubbo Admin 发行版本
curl -L https://dubbo.apache.org/installer.sh | VERSION0.1.0 sh -
# Admin 要组织好发行版本将 dubboctl 放入可执行路径
ln -s dubbo-admin-0.1.0/bin/dubbo-admin /usr/local/bin/dubbo-adminRun
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 memorytype: memory # ENV: DUBBO_STORE_TYPE# Kubernetes Store configuration (used when store.typekubernetes)kubernetes:# Namespace where Control Plane is installed to.systemNamespace: dubbo-system # ENV: DUBBO_STORE_KUBERNETES_SYSTEM_NAMESPACE# Postgres Store configuration (used when store.typepostgres)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, verifyFullmode: 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/jaegeruse_grpc: true# Public facing URL of Jaegerurl: http://my-jaeger-host/jaegergrafana: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/