| <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – 安装</title><link>https://dubbo.apache.org/zh-cn/overview/reference/setup/</link><description>Recent content in 安装 on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/overview/reference/setup/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: 安装 Dubbo Admin 及服务治理组件</title><link>https://dubbo.apache.org/zh-cn/overview/reference/setup/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/reference/setup/install/</guid><description> |
| <h2 id="dubboctl-安装">Dubboctl 安装</h2> |
| <h3 id="download">Download</h3> |
| <p>下载 Dubbo Admin 发行版本</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>curl -L https://dubbo.apache.org/installer.sh | <span style="color:#268bd2">VERSION</span><span style="color:#719e07">=</span>0.1.0 sh - |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># Admin 要组织好发行版本</span> |
| </span></span></code></pre></div><p>将 dubboctl 放入可执行路径</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>ln -s dubbo-admin-0.1.0/bin/dubboctl /usr/local/bin/dubboctl |
| </span></span></code></pre></div><h3 id="install">Install</h3> |
| <p>安装过程会依次:</p> |
| <ol> |
| <li>安装 Admin 自定义的一些资源</li> |
| <li>拉起 Admin、Nacos、Zookeeper 等不同的组件服务</li> |
| </ol> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>dubboctl install <span style="color:#586e75"># 使用默认 manifests 安装</span> |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># or</span> |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span>dubboctl manifests| kubectl apply -f - |
| </span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>dubboctl install --set <span style="color:#268bd2">profile</span><span style="color:#719e07">=</span>minimal <span style="color:#586e75"># 指定不同的 profile,即安装组件的组合</span> |
| </span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>dubboctl install --set admin.nacos.enabled<span style="color:#719e07">=</span>true, admin.nacos.namespace<span style="color:#719e07">=</span><span style="color:#b58900">test</span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># 指定不同的覆盖参数</span> |
| </span></span></code></pre></div><p>检查安装效果</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>kubectl get pod -n dubbo-system |
| </span></span></code></pre></div><h3 id="打开-admin-控制台">打开 Admin 控制台</h3> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>kubectl port-forward svc/dubbo-admin -n dubbo-system 38080:38080 |
| </span></span></code></pre></div><p>打开浏览器,访问: <code>http://127.0.0.1:38080/</code></p> |
| <h2 id="helm-安装">Helm 安装</h2> |
| <h3 id="前置条件">前置条件</h3> |
| <ul> |
| <li><a href="https://helm.sh/docs/intro/install/">Install the Helm client</a>, version 3.6 or above.</li> |
| <li>Kubernetes 集群</li> |
| <li>配置 helm repository</li> |
| </ul> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>$ helm repo add dubbo https://dubbo.apache.org/charts |
| </span></span><span style="display:flex;"><span>$ helm repo update |
| </span></span></code></pre></div><h3 id="安装步骤">安装步骤</h3> |
| <h4 id="安装方式一">安装方式一</h4> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>helm install dubbo-admin dubbo/dubbo-stack -n dubbo-system |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span>helm install dubbo-admin-nacos dubbo/dubbo-stack -n dubbo-system |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span>helm install dubbo-admin-zookeeper dubbo/dubbo-stack -n dubbo-system |
| </span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>helm install dubbo-admin-grafana dubbo/dubbo-stack -n dubbo-system |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span>helm install dubbo-admin-prometheus dubbo/dubbo-stack -n dubbo-system |
| </span></span></code></pre></div><h4 id="安装方式二">安装方式二</h4> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>helm install dubbo-admin-all dubbo/dubbo-stack -n dubbo-system |
| </span></span></code></pre></div><blockquote> |
| <p>引发的问题。需要明确哪些组件是保证生产可用的,哪些是仅作展示的,比如 nacos/zookeeper/admin 保障生产可用,prometheus/grafana 是仅作展示 |
| 如果基于以上结论,则大部分情况下,dubbo-admin-all 是不推荐保生产安装的;更推荐使用类似 dubbo-admin-nacos 生产保障包,然后自己用 prometheus 社区的生产安装包</p> |
| </blockquote> |
| <p>检查安装状态</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>helm ls -n dubbo-system |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span>kubectl get deployments -n dubbo-system --output wide |
| </span></span></code></pre></div><h2 id="vm-安装">VM 安装</h2> |
| <h3 id="download-1">Download</h3> |
| <p>下载 Dubbo Admin 发行版本</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>curl -L https://dubbo.apache.org/installer.sh | <span style="color:#268bd2">VERSION</span><span style="color:#719e07">=</span>0.1.0 sh - |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># Admin 要组织好发行版本</span> |
| </span></span></code></pre></div><p>将 dubboctl 放入可执行路径</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>ln -s dubbo-admin-0.1.0/bin/dubbo-admin /usr/local/bin/dubbo-admin |
| </span></span></code></pre></div><h3 id="run">Run</h3> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>dubbo-admin run -f override-configuration.yml |
| </span></span></code></pre></div><h3 id="configuration">Configuration</h3> |
| <p>配置用于控制 dubbo-admin 的行为</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#586e75"># Environment type. Available values are: &#34;kubernetes&#34; or &#34;universal&#34;</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">environment: universal # ENV</span>: DUBBO_ENVIRONMENT |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># Mode in which Dubbo CP is running. Available values are: &#34;standalone&#34;, &#34;global&#34;, &#34;zone&#34;</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">mode: standalone # ENV</span>: DUBBO_MODE |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># Resource Store configuration</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">store</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Type of Store used in the Control Plane. Available values are: &#34;kubernetes&#34;, &#34;postgres&#34; or &#34;memory&#34;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">type: memory # ENV</span>: DUBBO_STORE_TYPE |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Kubernetes Store configuration (used when store.type=kubernetes)</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">kubernetes</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Namespace where Control Plane is installed to.</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">systemNamespace: dubbo-system # ENV</span>: DUBBO_STORE_KUBERNETES_SYSTEM_NAMESPACE |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Postgres Store configuration (used when store.type=postgres)</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">mysql</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Host of the Postgres DB</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">host: 127.0.0.1 # ENV</span>: DUBBO_STORE_POSTGRES_HOST |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Port of the Postgres DB</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port: 15432 # ENV</span>: DUBBO_STORE_POSTGRES_PORT |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># User of the Postgres DB</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">user: dubbo # ENV</span>: DUBBO_STORE_POSTGRES_USER |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Password of the Postgres DB</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">password: dubbo # ENV</span>: DUBBO_STORE_POSTGRES_PASSWORD |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Database name of the Postgres DB</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">dbName: dubbo # ENV</span>: DUBBO_STORE_POSTGRES_DB_NAME |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Connection Timeout to the DB in seconds</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">connectionTimeout: 5 # ENV</span>: DUBBO_STORE_POSTGRES_CONNECTION_TIMEOUT |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Maximum number of open connections to the database</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># `0` value means number of open connections is unlimited</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">maxOpenConnections: 50 # ENV</span>: DUBBO_STORE_POSTGRES_MAX_OPEN_CONNECTIONS |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Maximum number of connections in the idle connection pool</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># &lt;0 value means no idle connections and 0 means default max idle connections</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">maxIdleConnections: 50 # ENV</span>: DUBBO_STORE_POSTGRES_MAX_IDLE_CONNECTIONS |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># TLS settings</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">tls</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Mode of TLS connection. Available values are: &#34;disable&#34;, &#34;verifyNone&#34;, &#34;verifyCa&#34;, &#34;verifyFull&#34;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">mode: disable # ENV</span>: DUBBO_STORE_POSTGRES_TLS_MODE |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Path to TLS Certificate of the client. Used in verifyCa and verifyFull modes</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">certPath: # ENV</span>: DUBBO_STORE_POSTGRES_TLS_CERT_PATH |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Path to TLS Key of the client. Used in verifyCa and verifyFull modes</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">keyPath: # ENV</span>: DUBBO_STORE_POSTGRES_TLS_KEY_PATH |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Path to the root certificate. Used in verifyCa and verifyFull modes.</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">caPath: # ENV</span>: DUBBO_STORE_POSTGRES_TLS_ROOT_CERT_PATH |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># MinReconnectInterval controls the duration to wait before trying to</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># re-establish the database connection after connection loss. After each</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># consecutive failure this interval is doubled, until MaxReconnectInterval</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># is reached. Successfully completing the connection establishment procedure</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># resets the interval back to MinReconnectInterval.</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">minReconnectInterval</span>: <span style="color:#2aa198">&#34;10s&#34;</span> <span style="color:#586e75"># ENV: DUBBO_STORE_POSTGRES_MIN_RECONNECT_INTERVAL</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># MaxReconnectInterval controls the maximum possible duration to wait before trying</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># to re-establish the database connection after connection loss.</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">maxReconnectInterval</span>: <span style="color:#2aa198">&#34;60s&#34;</span> <span style="color:#586e75"># ENV: DUBBO_STORE_POSTGRES_MAX_RECONNECT_INTERVAL</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">server</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port</span>: <span style="color:#2aa198">38080</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">registry</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: xxx |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">metadata-center</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: xxx |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">config-center</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: xxx |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">external-services</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">prometheus</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Prometheus service name is &#34;metrics&#34; and is in the &#34;telemetry&#34; namespace</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># http://prometheus.&lt;dubbo_namespace_name&gt;:9090</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">url</span>: <span style="color:#2aa198">&#34;http://metrics.telemetry:9090/&#34;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">tracing</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Enabled by default. Kiali will anyway fallback to disabled if</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Jaeger is unreachable.</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">enabled</span>: <span style="color:#cb4b16">true</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Jaeger service name is &#34;tracing&#34; and is in the &#34;telemetry&#34; namespace.</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Make sure the URL you provide corresponds to the non-GRPC enabled endpoint</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># if you set &#34;use_grpc&#34; to false.</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">in_cluster_url</span>: <span style="color:#2aa198">&#39;http://tracing.telemetry:16685/jaeger&#39;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">use_grpc</span>: <span style="color:#cb4b16">true</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Public facing URL of Jaeger</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">url</span>: <span style="color:#2aa198">&#39;http://my-jaeger-host/jaeger&#39;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">grafana</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">enabled</span>: <span style="color:#cb4b16">true</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Grafana service name is &#34;grafana&#34; and is in the &#34;telemetry&#34; namespace.</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">in_cluster_url</span>: <span style="color:#2aa198">&#39;http://grafana.telemetry:3000/&#39;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75"># Public facing URL of Grafana</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">url</span>: <span style="color:#2aa198">&#39;http://my-ingress-host/grafana&#39;</span> |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># 更多配置</span> |
| </span></span></code></pre></div><h3 id="打开-admin-控制台-1">打开 Admin 控制台</h3> |
| <p>打开浏览器,访问: <code>http://127.0.0.1:38080/</code></p></description></item></channel></rss> |