| <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – Kubernetes Deployment Solution</title><link>https://dubbo.apache.org/en/overview/tasks/kubernetes/</link><description>Recent content in Kubernetes Deployment Solution on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="https://dubbo.apache.org/en/overview/tasks/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: Deploying to Kubernetes</title><link>https://dubbo.apache.org/en/overview/tasks/kubernetes/deploy-on-k8s/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/overview/tasks/kubernetes/deploy-on-k8s/</guid><description> |
| <p>You can follow the steps below to easily deploy the Dubbo service to the Kubernetes cluster. Check out the [full code sample address](<a href="https://github.com/apache/dubbo-samples/tree/master/3-extensions/registry">https://github.com/apache/dubbo-samples/tree/master/3-extensions/registry</a> /dubbo-samples-kubernetes)</p> |
| <h2 id="1-overall-objective">1 Overall Objective</h2> |
| <ul> |
| <li>Deploy Dubbo application to Kubernetes</li> |
| <li>Realize service discovery based on Kubernetes built-in Service</li> |
| <li>Connect Dubbo application to Kubernetes life cycle</li> |
| </ul> |
| <h2 id="2-basic-process">2 Basic process</h2> |
| <ol> |
| <li>Create a Dubbo |
| Application ( <a href="https://github.com/apache/dubbo-samples/tree/master/3-extensions/registry/dubbo-samples-kubernetes">dubbo-samples-kubernetes</a> )</li> |
| <li>Build the container image and push it to the mirror warehouse ( <a href="https://hub.docker.com/r/apache/dubbo-demo">dubbo-demo example image</a> )</li> |
| <li>Deploy Dubbo Provider and Dubbo Consumer to Kubernetes respectively</li> |
| <li>Verify that service discovery and calling are normal</li> |
| </ol> |
| <h2 id="3-detailed-steps">3 detailed steps</h2> |
| <h3 id="31-environmental-requirements">3.1 Environmental requirements</h3> |
| <p>Please ensure that the following environment is installed locally to provide container runtime, Kubernetes cluster and access tools</p> |
| <ul> |
| <li><a href="https://www.docker.com/get-started/">Docker</a></li> |
| <li><a href="https://minikube.sigs.k8s.io/docs/start/">Minikube</a></li> |
| <li><a href="https://kubernetes.io/docs/tasks/tools/">Kubectl</a></li> |
| <li><a href="https://github.com/ahmetb/kubectx">Kubens(optional)</a></li> |
| </ul> |
| <p>Start the local Kubernetes cluster with the following command</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>minikube start |
| </span></span></code></pre></div><p>Check that the cluster is up and running with kubectl, and that kubectl is bound to the default local cluster</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 cluster-info |
| </span></span></code></pre></div><h3 id="32-preconditions">3.2 Preconditions</h3> |
| <p>Since the sample Dubbo projects are all deployed in Pods and interact with API-SERVER, there are corresponding permission requirements. Here we create an independent ServiceAccount and bind the necessary Roles. All Dubbo Kubernetes later |
| All resources will use the newly created ServiceAccount here.</p> |
| <p>Through the following commands, we have created an independent Namespace <code>dubbo-demo</code> and ServiceAccount <code>dubbo-sa</code>.</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><span style="color:#586e75"># Initialize namespace and account</span> |
| </span></span><span style="display:flex;"><span>kubectl apply -f https://raw.githubusercontent.com/apache/dubbo-samples/master/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/src/main/resources/k8s/ServiceAccount.yml |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># switch namespace</span> |
| </span></span><span style="display:flex;"><span>kubens dubbo-demo |
| </span></span></code></pre></div><h3 id="33-deploy-to-kubernetes">3.3 Deploy to Kubernetes</h3> |
| <h4 id="331-deploy-provider">3.3.1 Deploy Provider</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><span style="color:#586e75"># Deploy the Service</span> |
| </span></span><span style="display:flex;"><span>kubectl apply -f https://raw.githubusercontent.com/apache/dubbo-samples/master/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/src/main/resources/k8s/Service.yml |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># Deploy Deployment</span> |
| </span></span><span style="display:flex;"><span>kubectl apply -f https://raw.githubusercontent.com/apache/dubbo-samples/master/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/src/main/resources/k8s/Deployment.yml |
| </span></span></code></pre></div><p>The above command creates a Service named <code>dubbo-samples-apiserver-provider</code>, note that the service name here is the same as the dubbo application name in the project.</p> |
| <p>Then Deployment deploys a 3-copy pod instance, and the Provider is started. |
| You can check the startup log with the following command.</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><span style="color:#586e75"># View pod list</span> |
| </span></span><span style="display:flex;"><span>kubectl get pods -l <span style="color:#268bd2">app</span><span style="color:#719e07">=</span>dubbo-samples-apiserver-provider |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># View pod deployment logs</span> |
| </span></span><span style="display:flex;"><span>kubectl logs your-pod-id |
| </span></span></code></pre></div><h4 id="332-deploy-consumer">3.3.2 Deploy Consumer</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><span style="color:#586e75"># Deploy the Service</span> |
| </span></span><span style="display:flex;"><span>kubectl apply -f https://raw.githubusercontent.com/apache/dubbo-samples/master/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/src/main/resources/k8s/Service.yml |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># Deploy Deployment</span> |
| </span></span><span style="display:flex;"><span>kubectl apply -f https://raw.githubusercontent.com/apache/dubbo-samples/master/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/src/main/resources/k8s/Deployment.yml |
| </span></span></code></pre></div><p>Deploying consumer and provider is the same, here also keep K8S Service and Dubbo consumer name consistent: dubbo-samples-apiserver-consumer.</p> |
| <p>Check the startup log, the consumer completes the consumption of the provider service.</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><span style="color:#586e75"># View pod list</span> |
| </span></span><span style="display:flex;"><span>kubectl get pods -l <span style="color:#268bd2">app</span><span style="color:#719e07">=</span>dubbo-samples-apiserver-consumer |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75"># View pod deployment logs</span> |
| </span></span><span style="display:flex;"><span>kubectl logs your-pod-id |
| </span></span></code></pre></div><p>You can see the log output as follows:</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-java" data-lang="java"><span style="display:flex;"><span><span style="color:#719e07">[</span>22<span style="color:#719e07">/</span>04<span style="color:#719e07">/</span>22 01<span style="color:#719e07">:</span>10<span style="color:#719e07">:</span>24<span style="color:#719e07">:</span>024UTC<span style="color:#719e07">]</span>main INFO deploy<span style="color:#719e07">.</span>DefaultApplicationDeployer<span style="color:#719e07">:[</span>DUBBO<span style="color:#719e07">]</span>Dubbo Application<span style="color:#719e07">[</span>1<span style="color:#719e07">.</span>1<span style="color:#719e07">](</span>dubbo<span style="color:#719e07">-</span>samples<span style="color:#719e07">-</span>apiserver<span style="color:#719e07">-</span>consumer<span style="color:#719e07">)</span> is ready<span style="color:#719e07">.,</span>dubbo version<span style="color:#719e07">:</span>3<span style="color:#719e07">.</span>0<span style="color:#719e07">.</span>7<span style="color:#719e07">,</span>current host <span style="color:#719e07">:</span>172<span style="color:#719e07">.</span>17<span style="color:#719e07">.</span>0<span style="color:#719e07">.</span>6 |
| </span></span><span style="display:flex;"><span> result<span style="color:#719e07">:</span> hello<span style="color:#719e07">,</span> Kubernetes Api Server |
| </span></span></code></pre></div><h3 id="34-modify-the-project-and-package-it-can-be-skipped">3.4 Modify the project and package it (can be skipped)</h3> |
| <p>The sample project and related images are ready, this section is only for users who need to modify the sample and see the deployment effect. Check here <a href="https://github.com/apache/dubbo-samples/tree/master/3-extensions/registry/dubbo-samples-kubernetes">full code sample address</a></p> |
| <p>Set the Dubbo project to use Kubernetes as the registration center. Here, DEFAULT_MASTER_HOST specifies the default API-SERVER cluster address kubernetes.default.srv, and also specifies |
| namespace, trustCerts two parameters</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-properties" data-lang="properties"><span style="display:flex;"><span>dubbo.application.name<span style="color:#719e07">=</span><span style="color:#2aa198">dubbo-samples-apiserver-provider</span> |
| </span></span><span style="display:flex;"><span>dubbo.application.metadataServicePort<span style="color:#719e07">=</span><span style="color:#2aa198">20885</span> |
| </span></span><span style="display:flex;"><span>dubbo.registry.address<span style="color:#719e07">=</span><span style="color:#2aa198">kubernetes://DEFAULT_MASTER_HOST?registry-type=service&amp;duplicate=false&amp;namespace=dubbo-demo&amp;trustCerts=true</span> |
| </span></span><span style="display:flex;"><span>dubbo.protocol.name<span style="color:#719e07">=</span><span style="color:#2aa198">dubbo</span> |
| </span></span><span style="display:flex;"><span>dubbo.protocol.port<span style="color:#719e07">=</span><span style="color:#2aa198">20880</span> |
| </span></span><span style="display:flex;"><span>dubbo.application.qosEnable<span style="color:#719e07">=</span><span style="color:#2aa198">true</span> |
| </span></span><span style="display:flex;"><span>dubbo.application.qosAcceptForeignIp<span style="color:#719e07">=</span><span style="color:#2aa198">true</span> |
| </span></span><span style="display:flex;"><span>dubbo.provider.token<span style="color:#719e07">=</span><span style="color:#2aa198">true</span> |
| </span></span></code></pre></div><p>If you want to package the image locally, you can use the jib-maven-plugin plugin to package the image</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><span style="color:#586e75"># Package and push the image</span> |
| </span></span><span style="display:flex;"><span>mvn compile jib:build |
| </span></span></code></pre></div><blockquote> |
| <p>The Jib plugin will automatically package and publish the image. Note that for local development, you need to change the docker registry organization apache/dubbo-demo in the jib plug-in configuration to an organization with your own authority (including dubboteam in other kubernetes manifests to ensure that kubernetes deploys your own customized image) , if you encounter jib plug-in authentication problems, please refer to [corresponding link](<a href="https://github.com/GoogleContainerTools/jib/blob/master/docs/faq.md#what-should-i-do-when-the-">https://github.com/GoogleContainerTools/jib/blob/master/docs/faq.md#what-should-i-do-when-the-</a> registry-responds-with-unauthorized) to configure docker registry authentication information. |
| You can specify <code>mvn compile jib:build -Djib.to.auth.username=x -Djib.to.auth.password=x -Djib.from.auth.username=x -Djib.from.auth directly on the command line .username=x</code>, or use docker-credential-helper.</p> |
| </blockquote> |
| <h2 id="4-best-practices">4 Best Practices</h2> |
| <p>TBD</p> |
| <ul> |
| <li>rediness probe</li> |
| <li>liveness probe</li> |
| <li>ci/cd access to Skalfold</li> |
| </ul> |
| <h2 id="5-appendix-k8s-manifests">5 Appendix k8s manifests</h2> |
| <p>ServiceAccount.yml</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:#268bd2">apiVersion</span>: v1 |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">kind</span>: Namespace |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-demo |
| </span></span><span style="display:flex;"><span>--- |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">apiVersion</span>: rbac.authorization.k8s.io/v1 |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">kind</span>: Role |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">namespace</span>: dubbo-demo |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-role |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">rules</span>: |
| </span></span><span style="display:flex;"><span> - <span style="color:#268bd2">apiGroups</span>: [<span style="color:#2aa198">&#34;&#34;</span>] |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">resources</span>: [<span style="color:#2aa198">&#34;pods&#34;</span>] |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">verbs</span>: [<span style="color:#2aa198">&#34;get&#34;</span>, <span style="color:#2aa198">&#34;watch&#34;</span>, <span style="color:#2aa198">&#34;list&#34;</span>, <span style="color:#2aa198">&#34;update&#34;</span>, <span style="color:#2aa198">&#34;patch&#34;</span>] |
| </span></span><span style="display:flex;"><span> - <span style="color:#268bd2">apiGroups</span>: [<span style="color:#2aa198">&#34;&#34;</span>, <span style="color:#2aa198">&#34;service.dubbo.apache.org&#34;</span>] |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">resources</span>: [<span style="color:#2aa198">&#34;services&#34;</span>, <span style="color:#2aa198">&#34;endpoints&#34;</span>, <span style="color:#2aa198">&#34;virtualservices&#34;</span>, <span style="color:#2aa198">&#34;destinationrules&#34;</span>] |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">verbs</span>: [<span style="color:#2aa198">&#34;get&#34;</span>, <span style="color:#2aa198">&#34;watch&#34;</span>, <span style="color:#2aa198">&#34;list&#34;</span>] |
| </span></span><span style="display:flex;"><span>--- |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">apiVersion</span>: v1 |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">kind</span>: ServiceAccount |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-sa |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">namespace</span>: dubbo-demo |
| </span></span><span style="display:flex;"><span>--- |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">apiVersion</span>: rbac.authorization.k8s.io/v1 |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">kind</span>: RoleBinding |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-sa-bind |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">namespace</span>: dubbo-demo |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">roleRef</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">apiGroup</span>: rbac.authorization.k8s.io |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">kind</span>: Role |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-role |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">subjects</span>: |
| </span></span><span style="display:flex;"><span> - <span style="color:#268bd2">kind</span>: ServiceAccount |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-sa |
| </span></span></code></pre></div><p>Service.yml</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:#268bd2">apiVersion</span>: v1 |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">kind</span>: Service |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-samples-apiserver-provider |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">namespace</span>: dubbo-demo |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">spec</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">clusterIP</span>: None |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">selector</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">app</span>: dubbo-samples-apiserver-provider |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">ports</span>: |
| </span></span><span style="display:flex;"><span> - <span style="color:#268bd2">protocol</span>: TCP |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port</span>: <span style="color:#2aa198">20880</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">targetPort</span>: <span style="color:#2aa198">20880</span> |
| </span></span></code></pre></div><p>Deployment.yml</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:#268bd2">apiVersion</span>: apps/v1 |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">kind</span>: Deployment |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-samples-apiserver-provider |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">namespace</span>: dubbo-demo |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">spec</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">replicas</span>: <span style="color:#2aa198">3</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">selector</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">matchLabels</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">app</span>: dubbo-samples-apiserver-provider |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">template</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">labels</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">app</span>: dubbo-samples-apiserver-provider |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">spec</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">serviceAccountName</span>: dubbo-sa |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">containers</span>: |
| </span></span><span style="display:flex;"><span> - <span style="color:#268bd2">name</span>: server |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">image</span>: apache/dubbo-deemo:dubbo-samples-apiserver-provider_0.0.1 |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">ports</span>: |
| </span></span><span style="display:flex;"><span> - <span style="color:#268bd2">containerPort</span>: <span style="color:#2aa198">20880</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">livenessProbe</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">httpGet</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">path</span>: /live |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port</span>: <span style="color:#2aa198">22222</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">initialDelaySeconds</span>: <span style="color:#2aa198">5</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">periodSeconds</span>: <span style="color:#2aa198">5</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">readinessProbe</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">httpGet</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">path</span>: /ready |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port</span>: <span style="color:#2aa198">22222</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">initialDelaySeconds</span>: <span style="color:#2aa198">5</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">periodSeconds</span>: <span style="color:#2aa198">5</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">startupProbe</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">httpGet</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">path</span>: /startup |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port</span>: <span style="color:#2aa198">22222</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">failureThreshold</span>: <span style="color:#2aa198">30</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">periodSeconds</span>: <span style="color:#2aa198">10</span> |
| </span></span></code></pre></div><p>Service.yml</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:#268bd2">apiVersion</span>: v1 |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">kind</span>: Service |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-samples-apiserver-consumer |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">namespace</span>: dubbo-demo |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">spec</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">clusterIP</span>: None |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">selector</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">app</span>: dubbo-samples-apiserver-consumer |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">ports</span>: |
| </span></span><span style="display:flex;"><span> - <span style="color:#268bd2">protocol</span>: TCP |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port</span>: <span style="color:#2aa198">20880</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">targetPort</span>: <span style="color:#2aa198">20880</span> |
| </span></span></code></pre></div><p>Deployment.yml</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:#268bd2">apiVersion</span>: apps/v1 |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">kind</span>: Deployment |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">name</span>: dubbo-samples-apiserver-consumer |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">namespace</span>: dubbo-demo |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">spec</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">replicas</span>: <span style="color:#2aa198">1</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">selector</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">matchLabels</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">app</span>: dubbo-samples-apiserver-consumer |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">template</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">metadata</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">labels</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">app</span>: dubbo-samples-apiserver-consumer |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">spec</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">serviceAccountName</span>: dubbo-sa |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">containers</span>: |
| </span></span><span style="display:flex;"><span> - <span style="color:#268bd2">name</span>: server |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">image</span>: apache/dubbo-demo:dubbo-samples-apiserver-consumer_0.0.1 |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">ports</span>: |
| </span></span><span style="display:flex;"><span> - <span style="color:#268bd2">containerPort</span>: <span style="color:#2aa198">20880</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">livenessProbe</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">httpGet</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">path</span>: /live |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port</span>: <span style="color:#2aa198">22222</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">initialDelaySeconds</span>: <span style="color:#2aa198">5</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">periodSeconds</span>: <span style="color:#2aa198">5</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">readinessProbe</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">httpGet</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">path</span>: /ready |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port</span>: <span style="color:#2aa198">22222</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">initialDelaySeconds</span>: <span style="color:#2aa198">5</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">periodSeconds</span>: <span style="color:#2aa198">5</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">startupProbe</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">httpGet</span>: |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">path</span>: /startup |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">port</span>: <span style="color:#2aa198">22222</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">failureThreshold</span>: <span style="color:#2aa198">30</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">periodSeconds</span>: <span style="color:#2aa198">10</span> |
| </span></span></code></pre></div></description></item></channel></rss> |