Files
kuboard-press/docs/guide/example/import.html
huanqing.shao 10b59aa33a 备案号
2019-07-31 12:29:24 +08:00

43 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>导入 example 微服务 | Kuboard</title>
<meta name="description" content="A cool Kubernetes Dashboard">
<meta name="keywords" content="Kubernetes, Docker, Dashboard, Kuboard, Linux, K8S, cluster, 分布式, 集群, 容器, 高可用">
<meta property="article:modified_time" content="Fri Jul 26 2019 18:55:05 GMT+0800 (GMT+08:00)"><meta property="og:site_name" content="Kuboard"><meta property="og:title" content="导入 example 微服务"><meta property="og:type" content="website"><meta property="og:url" content="/guide/example/import.html"><meta name="twitter:title" content="导入 example 微服务"><meta name="twitter:url" content="/guide/example/import.html"><meta name="twitter:card" content="summary_large_image">
<link rel="preload" href="/assets/css/0.styles.10e5d9a9.css" as="style"><link rel="preload" href="/assets/js/app.f23e884f.js" as="script"><link rel="preload" href="/assets/js/11.32fc5ebf.js" as="script"><link rel="preload" href="/assets/js/2.dd0e1f2c.js" as="script"><link rel="preload" href="/assets/js/5.1fe86328.js" as="script"><link rel="prefetch" href="/assets/js/10.95ba08b2.js"><link rel="prefetch" href="/assets/js/12.fd26a3df.js"><link rel="prefetch" href="/assets/js/13.5ae79232.js"><link rel="prefetch" href="/assets/js/14.71b75ecf.js"><link rel="prefetch" href="/assets/js/15.f69e0361.js"><link rel="prefetch" href="/assets/js/16.b573c9f3.js"><link rel="prefetch" href="/assets/js/17.da6085e6.js"><link rel="prefetch" href="/assets/js/18.14596f73.js"><link rel="prefetch" href="/assets/js/19.99531f86.js"><link rel="prefetch" href="/assets/js/20.78eca6e0.js"><link rel="prefetch" href="/assets/js/21.9cd05e22.js"><link rel="prefetch" href="/assets/js/22.351a9028.js"><link rel="prefetch" href="/assets/js/23.a6ac5f5d.js"><link rel="prefetch" href="/assets/js/24.e321ee47.js"><link rel="prefetch" href="/assets/js/25.9e7c566b.js"><link rel="prefetch" href="/assets/js/26.98ad856b.js"><link rel="prefetch" href="/assets/js/27.9646c768.js"><link rel="prefetch" href="/assets/js/28.b1a5c5c7.js"><link rel="prefetch" href="/assets/js/29.da45b8ef.js"><link rel="prefetch" href="/assets/js/3.703f0de7.js"><link rel="prefetch" href="/assets/js/30.b524eaaf.js"><link rel="prefetch" href="/assets/js/31.c6fd3342.js"><link rel="prefetch" href="/assets/js/32.b266ee0b.js"><link rel="prefetch" href="/assets/js/33.b52fe074.js"><link rel="prefetch" href="/assets/js/34.638cc37d.js"><link rel="prefetch" href="/assets/js/35.2886039d.js"><link rel="prefetch" href="/assets/js/36.99a592e7.js"><link rel="prefetch" href="/assets/js/37.15829647.js"><link rel="prefetch" href="/assets/js/38.d769f9c2.js"><link rel="prefetch" href="/assets/js/39.722b7242.js"><link rel="prefetch" href="/assets/js/4.66bc3e23.js"><link rel="prefetch" href="/assets/js/40.ac5bf3e7.js"><link rel="prefetch" href="/assets/js/41.31c3cf0b.js"><link rel="prefetch" href="/assets/js/42.113effc0.js"><link rel="prefetch" href="/assets/js/43.9bf36849.js"><link rel="prefetch" href="/assets/js/44.fab29163.js"><link rel="prefetch" href="/assets/js/45.844db78f.js"><link rel="prefetch" href="/assets/js/46.29a73952.js"><link rel="prefetch" href="/assets/js/47.87cdf921.js"><link rel="prefetch" href="/assets/js/48.b7a3d198.js"><link rel="prefetch" href="/assets/js/6.c494a4ac.js"><link rel="prefetch" href="/assets/js/7.aa7720c7.js"><link rel="prefetch" href="/assets/js/8.83400c95.js"><link rel="prefetch" href="/assets/js/9.41808376.js">
<link rel="stylesheet" href="/assets/css/0.styles.10e5d9a9.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container" data-v-73c41bb9><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">Kuboard</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/overview/" class="nav-link">简介</a></div><div class="nav-item"><a href="/install/install-dashboard.html" class="nav-link">安装</a></div><div class="nav-item"><a href="/guide/" class="nav-link router-link-active">使用</a></div><div class="nav-item"><a href="/micro-service/spring-cloud/" class="nav-link">微服务</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><div data-v-73c41bb9><div style="text-align:center;margin-top:20px;" data-v-73c41bb9><div class="side-nav-item" style="margin-left:0;" data-v-73c41bb9><a href="/overview/" class="nav-link" data-v-73c41bb9>简介</a></div> <div class="side-nav-item" data-v-73c41bb9><a href="/install/install-dashboard" class="nav-link router-link-exact-active router-link-active" data-v-73c41bb9>安装</a></div> <div class="side-nav-item" style="border-bottom:2px solid #0b85ff;" data-v-73c41bb9><a href="/guide/" class="nav-link" data-v-73c41bb9>使用</a></div> <div class="side-nav-item" data-v-73c41bb9><a href="/micro-service/spring-cloud/" class="nav-link" data-v-73c41bb9>微服务</a></div></div></div> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>概述</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/" class="sidebar-link">概述</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>Example</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/example/busybox.html" class="sidebar-link">部署 busybox</a></li><li><a href="/guide/example/import.html" class="active sidebar-link">导入 example 微服务</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/guide/example/import.html#前提" class="sidebar-link">前提</a></li><li class="sidebar-sub-header"><a href="/guide/example/import.html#创建存储资源" class="sidebar-link">创建存储资源</a></li><li class="sidebar-sub-header"><a href="/guide/example/import.html#创建名称空间" class="sidebar-link">创建名称空间</a></li><li class="sidebar-sub-header"><a href="/guide/example/import.html#导入-example" class="sidebar-link">导入 example</a></li><li class="sidebar-sub-header"><a href="/guide/example/import.html#验证-web-example" class="sidebar-link">验证 web-example</a></li></ul></li><li><a href="/guide/example/monitor.html" class="sidebar-link">监控 example</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>集群管理</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/cluster/computing.html" class="sidebar-link">计算资源管理</a></li><li><a href="/guide/cluster/storage.html" class="sidebar-link">存储空间管理</a></li><li><a href="/guide/cluster/namespace.html" class="sidebar-link">名称空间管理</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>应用管理</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/namespace/workload.html" class="sidebar-link">工作负载</a></li><li><a href="/guide/namespace/secrets.html" class="sidebar-link">Secrets</a></li><li><a href="/guide/namespace/configMap.html" class="sidebar-link">配置</a></li><li><a href="/guide/namespace/pvc.html" class="sidebar-link">存储卷声明</a></li><li><a href="/guide/namespace/adjustion.html" class="sidebar-link">日常调整</a></li><li><a href="/guide/namespace/multi-env.html" class="sidebar-link">多环境</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>问题诊断</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/diagonize/events.html" class="sidebar-link">集群事件</a></li><li><a href="/guide/diagonize/logs.html" class="sidebar-link">日志及终端</a></li><li><a href="/guide/diagonize/port-forward.html" class="sidebar-link">端口转发</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>监控套件</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/monitor/" class="sidebar-link">监控套件</a></li><li><a href="/guide/monitor/apis.html" class="sidebar-link">自定义监控套件</a></li></ul></section></li></ul> <div style="text-align: center; margin-top: 5vh;"><strong>在线体验</strong> <div><a target="_blank" href="http://demo.eip.work/#/login?isReadOnly=true&amp;token=eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXZpZXdlci10b2tlbi1mdGw0diIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJvYXJkLXZpZXdlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImE1YWFiMmQxLTQxMjYtNDU5Yi1hZmNhLTkyYzMwZDk0NTQzNSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTprdWJvYXJkLXZpZXdlciJ9.eYqN3FLIT6xs0-lm8AidZtaiuHeX70QTn9FhJglhEyh5dlyMU5lo8UtR-h1OY8sTSeYdYKJAS83-9SUObKQhp6XNmRgOYAfZblKUy4mvbGVQ3dn_qnzxYxt6zdGCwIY7E34eNNd9IjMF7G_Y4eJLWE7NvkSB1O8zbdn8En9rQXv_xJ9-ugCyr4CYB1lDGuZl3CIXgQ1FWcQdUBrxTT95tzcNTB0l6OUOGhRxOfw-RyIOST83GV5U0iVzxnD4sjgSaJefvCU-BmwXgpxAwRVhFyHEziXXa0CuZfBfJbmnQW308B4wocr4QDm6Nvmli1P3B6Yo9-HNF__d2hCwZEr7eg"><p><img src="/assets/img/image-20190723104717575.f44900d3.png" style="width: 226px; height: 127px;"></p></a></div> <p><strong><a href="https://github.com/shaohq/kuboard-issues/issues" target="_blank">提交 BUG</a></strong></p> <strong>在线提问</strong> <p><img src="/assets/img/kuboard_qq.45e78dbf.png"></p></div></aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="导入-example-微服务"><a href="#导入-example-微服务" aria-hidden="true" class="header-anchor">#</a> 导入 example 微服务</h1> <h2 id="前提"><a href="#前提" aria-hidden="true" class="header-anchor">#</a> 前提</h2> <p>必须具备如下条件:</p> <ul><li>Kubernetes 集群 (安装在阿里云,本文将使用阿里云的 NFS 服务作为存储资源Kuboard 也可以运行在其他云环境或者私有环境中。)</li> <li>已在集群中安装 Kuboard</li></ul> <h2 id="创建存储资源"><a href="#创建存储资源" aria-hidden="true" class="header-anchor">#</a> 创建存储资源</h2> <p>example中用到了存储卷声明请在 Kuboard 中 <a href="/guide/cluster/storage?id=%E5%88%9B%E5%BB%BA%E5%AD%98%E5%82%A8%E7%B1%BB">创建存储类</a> ,否则不能完成 example 的导入操作。</p> <h2 id="创建名称空间"><a href="#创建名称空间" aria-hidden="true" class="header-anchor">#</a> 创建名称空间</h2> <p>创建新的名称空间,用来导入 exmaple。可参考 <a href="/guide/cluster/namespace?id=%E5%88%9B%E5%BB%BA%E5%90%8D%E7%A7%B0%E7%A9%BA%E9%97%B4">创建名称空间</a></p> <p>假设您已经进入了 Kuboard 名称空间界面,如下图所示:</p> <p><img src="/assets/img/image-20190723115721514.bf981ef3.png" alt="image-20190723115721514"></p> <h2 id="导入-example"><a href="#导入-example" aria-hidden="true" class="header-anchor">#</a> 导入 example</h2> <ul><li>下载 <a href="/kuboard_example.yaml" download="kuboard_example.yaml">kuboard_example.yaml</a> 文件</li></ul> <blockquote><p>在 Kuboard 中,您无需手写 yaml 文件,此 yaml 文件的内容生成步骤如下:</p> <ul><li>通过 <a href="busybox">创建工作负载</a> 完成微服务应用的部署</li> <li>通过 <strong>导出工作负载</strong> 将名称空间中的微服务配置导出到一个 yaml 文件中</li></ul></blockquote> <ul><li>点击 <em><strong>导入工作负载</strong></em> 按钮</li></ul> <p><img src="/assets/img/image-20190723120730196.9793d8ec.png" alt="image-20190723120730196"></p> <ul><li><p>点击 <em><strong>上传文件</strong></em> 按钮</p> <p>并选择刚才下载的 export_example.yaml 文件</p></li></ul> <p><img src="/assets/img/image-20190723120753533.081b6d6b.png" alt="image-20190723120753533"></p> <ul><li><p>点击 <em><strong>下一步</strong></em></p> <p>默认选择所有的工作负载</p></li></ul> <p><img src="/assets/img/image-20190723120832778.e154bccd.png" alt="image-20190723120832778"></p> <ul><li><p>点击 <em><strong>下一步</strong></em></p> <p>默认选择所有要导入的配置example中没有使用到配置信息</p></li></ul> <p><img src="/assets/img/image-20190723120912377.e1404406.png" alt="image-20190723120912377"></p> <ul><li><p>点击 <em><strong>下一步</strong></em></p> <p>默认选择所有 Secrets</p></li></ul> <p><img src="/assets/img/image-20190723120926747.c9754776.png" alt="image-20190723120926747"></p> <ul><li><p>点击 <em><strong>下一步</strong></em></p> <p>填写表单:</p></li></ul> <table><thead><tr><th>字段名称</th> <th>填写内容</th> <th>说明</th></tr></thead> <tbody><tr><td>数据卷类型</td> <td>db-example-storage</td> <td>NFS容器组直连NFS<br>存储卷声明:容器组使用存储卷声明</td></tr> <tr><td>是否新建存储卷声明</td> <td>创建新存储卷声明</td> <td>使用已有存储卷声明:可以使用事先创建好的存储卷声明<br>创建新存储卷声明:可以创建新存储卷声明</td></tr> <tr><td>分配模式</td> <td>动态分配</td> <td></td></tr> <tr><td>读写模式</td> <td>可被多节点读写</td> <td>只能被单节点读写、可被多节点只读、可被多节点读写</td></tr> <tr><td>总量</td> <td>2Gi</td> <td>2Gi代表 2G空间</td></tr></tbody></table> <p><img src="/assets/img/image-20190723120956821.69bcdbbe.png" alt="image-20190723120956821"></p> <ul><li><p>点击 <em><strong>下一步</strong></em></p> <p>填写表单:</p></li></ul> <table><thead><tr><th>字段名称</th> <th>填写内容</th> <th>说明</th></tr></thead> <tbody><tr><td>cloud-eureka域名</td> <td>cloud-eureka.example.demo.eip.work</td> <td>使用您自己的域名,<br>在测试环境建议使用如下域名格式:<br>workloadname.namespace-name.cluster-name.domain.com<br>该域名应该解析到您worker节点的外网地址或者worker 节点 80/443 端口对应负载均衡服务器的外网地址。</td></tr> <tr><td>web-example</td> <td>web-example.example.demo.eip</td> <td></td></tr></tbody></table> <p><img src="/assets/img/image-20190723121019167.81af1060.png" alt="image-20190723121019167"></p> <ul><li>点击 <em><strong>下一步</strong></em></li></ul> <p><img src="/assets/img/image-20190723121035917.8a2b1320.png" alt="image-20190723121035917"></p> <ul><li>点击 <em><strong>确定</strong></em></li></ul> <p><img src="/assets/img/image-20190723121055648.2c6ba8d1.png" alt="image-20190723121055648"></p> <ul><li>点击 <em><strong>应用</strong></em></li></ul> <p><img src="/assets/img/image-20190723121117514.ef774d3a.png" alt="image-20190723121117514"></p> <ul><li>点击 <em><strong>完成</strong></em></li></ul> <p><img src="/assets/img/image-20190723121132991.69146097.png" alt="image-20190723121132991"></p> <ul><li><p>点击 <em><strong>已完成</strong></em></p> <p>可再名称空间中查看到刚才导入的 example 的所有工作负载及存储卷声明</p></li></ul> <p><img src="/assets/img/image-20190723121433809.7a1b4b00.png" alt="image-20190723121433809"></p> <h2 id="验证-web-example"><a href="#验证-web-example" aria-hidden="true" class="header-anchor">#</a> 验证 web-example</h2> <ul><li>点击工作负载 <em><strong>web-example</strong></em></li></ul> <p><img src="/assets/img/image-20190723121412027.6888452e.png" alt="image-20190723121412027"></p> <ul><li><p>点击 互联网入口中的域名 <em><strong>http://web-example.example.demo.eip.work</strong></em></p> <p><strong>Example 部署成功</strong></p></li></ul> <p><img src="/assets/img/image-20190717193548703.5167e3b9.png" alt="image-20190717193548703"></p> <blockquote><p>web-example容器的日志中会出现如下异常错误原因是example使用了一个监控套件该监控套件要求将容器注册到monitor-eureka中当下我们并没有安装该监控套件。此错误并不影响 example 程序的使用。暂时忽略该异常。</p> <div class="language- extra-class"><pre class="language-text"><code>[DiscoveryClient-InstanceInfoReplicator-0] WARN com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient - Request execution failed with message: java.net.UnknownHostException: monitor-eureka
[DiscoveryClient-InstanceInfoReplicator-0] WARN com.netflix.discovery.DiscoveryClient - DiscoveryClient_WEB-ADMIN/web-example-7f668c75db-j7ncx - registration failed Cannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:829)
at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
</code></pre></div></blockquote></div> <footer class="page-edit"><div class="edit-link"><a href="https://github.com/eip-work/kuboard-press/edit/master/guide/example/import.md" target="_blank" rel="noopener noreferrer">帮助我们改善此页面!</a> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></div> <div class="last-updated"><span class="prefix">更新时间: </span> <span class="time">2019-07-26 18:55:05</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/guide/example/busybox.html" class="prev">
部署 busybox
</a></span> <span class="next"><a href="/guide/example/monitor.html">
监控 example
</a>
</span></p></div> <div class="bottom-description" data-v-73c41bb9>Copyright © 2019-present Huanqing Shao | 京ICP备19008693号-2</div></main></div><div class="global-ui"><!----><div class="reading-progress top" data-v-7681808f><div class="progress" data-v-7681808f></div></div></div></div>
<script src="/assets/js/app.f23e884f.js" defer></script><script src="/assets/js/11.32fc5ebf.js" defer></script><script src="/assets/js/2.dd0e1f2c.js" defer></script><script src="/assets/js/5.1fe86328.js" defer></script>
</body>
</html>