diff --git a/.vuepress/config.js b/.vuepress/config.js index 8b5ace1..ac1634f 100644 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -14,7 +14,7 @@ module.exports = { '@vuepress/back-to-top': {}, '@vuepress/last-updated': {}, '@vuepress/pwa': { - serviceWorker: true, + serviceWorker: false, updatePopup: { message: "内容已更新", buttonText: "刷新" diff --git a/docs/404.html b/docs/404.html index aead8bd..9481d73 100644 --- a/docs/404.html +++ b/docs/404.html @@ -7,11 +7,11 @@ - + -

404

There's nothing here.
Take me home.
- +

404

How did we get here?
Take me home.
+ diff --git a/docs/assets/js/12.e6f6106b.js b/docs/assets/js/12.d7c4a3bb.js similarity index 98% rename from docs/assets/js/12.e6f6106b.js rename to docs/assets/js/12.d7c4a3bb.js index f7a371c..144eade 100644 --- a/docs/assets/js/12.e6f6106b.js +++ b/docs/assets/js/12.d7c4a3bb.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{268:function(t,a,_){t.exports=_.p+"assets/img/image-20190721112353077.b907aa89.png"},269:function(t,a,_){t.exports=_.p+"assets/img/image-20190721112624128.7aa6b8f1.png"},270:function(t,a,_){t.exports=_.p+"assets/img/image-20190721113050608.97e0f110.png"},271:function(t,a,_){t.exports=_.p+"assets/img/image-20190721113155991.f3ecd62f.png"},338:function(t,a,_){"use strict";_.r(a);var v=_(2),e=Object(v.a)({},function(){var t=this,a=t.$createElement,v=t._self._c||a;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h1",{attrs:{id:"配置"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 配置")]),t._v(" "),v("p",[t._v("配置: Kubernetes ConfigMap")]),t._v(" "),v("h1",{attrs:{id:"查看配置列表"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#查看配置列表","aria-hidden":"true"}},[t._v("#")]),t._v(" 查看配置列表")]),t._v(" "),v("p",[t._v("假设您已进入名称空间界面,如下图所示:")]),t._v(" "),v("p",[v("img",{attrs:{src:_(65),alt:"image-20190721110355464"}})]),t._v(" "),v("p",[t._v("配置列表位于图中左侧中部,点击 "),v("em",[v("strong",[t._v("放大")])]),t._v(" 按钮,可以将列表显示到更大的区域,如下图所示:")]),t._v(" "),v("blockquote",[v("p",[t._v("点击 "),v("strong",[t._v("配置")]),t._v(" 可以刷新该列表")])]),t._v(" "),v("p",[v("img",{attrs:{src:_(268),alt:"image-20190721112353077"}})]),t._v(" "),v("h1",{attrs:{id:"创建配置"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#创建配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 创建配置")]),t._v(" "),v("ul",[v("li",[v("p",[t._v("点击 "),v("em",[v("strong",[t._v("配置 / 创建")])])]),t._v(" "),v("p",[t._v("填写表单如下所示:")])])]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("字段名称")]),t._v(" "),v("th",[t._v("填写内容")]),t._v(" "),v("th",[t._v("说明")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("名称")]),t._v(" "),v("td",[t._v("my-config-map")]),t._v(" "),v("td")]),t._v(" "),v("tr",[v("td",[t._v("配置标签 - 名称")]),t._v(" "),v("td",[t._v("my-config-map")]),t._v(" "),v("td")]),t._v(" "),v("tr",[v("td",[t._v("配置标签 - 内容")]),t._v(" "),v("td",[t._v("configmap")]),t._v(" "),v("td")]),t._v(" "),v("tr",[v("td",[t._v("配置数据 - 名称")]),t._v(" "),v("td",[t._v("EUREKA_URL")]),t._v(" "),v("td")]),t._v(" "),v("tr",[v("td",[t._v("配置数据 - 内容")]),t._v(" "),v("td",[t._v("http://cloud-eureka:9200/eureka")]),t._v(" "),v("td")])])]),t._v(" "),v("p",[v("img",{attrs:{src:_(269),alt:"image-20190721112624128"}})]),t._v(" "),v("ul",[v("li",[v("p",[t._v("点击 "),v("em",[v("strong",[t._v("保存")])])]),t._v(" "),v("p",[t._v("配置信息创建成功")])])]),t._v(" "),v("p",[v("img",{attrs:{src:_(270),alt:"image-20190721113050608"}})]),t._v(" "),v("h1",{attrs:{id:"查看-编辑-删除-配置"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#查看-编辑-删除-配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 查看/编辑/删除 配置")]),t._v(" "),v("ul",[v("li",[t._v("点击列表中的 "),v("em",[v("strong",[t._v("my-config-map")])])])]),t._v(" "),v("p",[v("img",{attrs:{src:_(271),alt:"image-20190721113155991"}})]),t._v(" "),v("p",[t._v("编辑、删除操作可直接按照提示完成")])])},[],!1,null,null,null);a.default=e.exports},65:function(t,a,_){t.exports=_.p+"assets/img/image-20190721110355464.25f25dda.png"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{268:function(t,a,_){t.exports=_.p+"assets/img/image-20190721112353077.b907aa89.png"},269:function(t,a,_){t.exports=_.p+"assets/img/image-20190721112624128.7aa6b8f1.png"},270:function(t,a,_){t.exports=_.p+"assets/img/image-20190721113050608.97e0f110.png"},271:function(t,a,_){t.exports=_.p+"assets/img/image-20190721113155991.f3ecd62f.png"},339:function(t,a,_){"use strict";_.r(a);var v=_(2),e=Object(v.a)({},function(){var t=this,a=t.$createElement,v=t._self._c||a;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h1",{attrs:{id:"配置"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 配置")]),t._v(" "),v("p",[t._v("配置: Kubernetes ConfigMap")]),t._v(" "),v("h1",{attrs:{id:"查看配置列表"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#查看配置列表","aria-hidden":"true"}},[t._v("#")]),t._v(" 查看配置列表")]),t._v(" "),v("p",[t._v("假设您已进入名称空间界面,如下图所示:")]),t._v(" "),v("p",[v("img",{attrs:{src:_(65),alt:"image-20190721110355464"}})]),t._v(" "),v("p",[t._v("配置列表位于图中左侧中部,点击 "),v("em",[v("strong",[t._v("放大")])]),t._v(" 按钮,可以将列表显示到更大的区域,如下图所示:")]),t._v(" "),v("blockquote",[v("p",[t._v("点击 "),v("strong",[t._v("配置")]),t._v(" 可以刷新该列表")])]),t._v(" "),v("p",[v("img",{attrs:{src:_(268),alt:"image-20190721112353077"}})]),t._v(" "),v("h1",{attrs:{id:"创建配置"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#创建配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 创建配置")]),t._v(" "),v("ul",[v("li",[v("p",[t._v("点击 "),v("em",[v("strong",[t._v("配置 / 创建")])])]),t._v(" "),v("p",[t._v("填写表单如下所示:")])])]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("字段名称")]),t._v(" "),v("th",[t._v("填写内容")]),t._v(" "),v("th",[t._v("说明")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("名称")]),t._v(" "),v("td",[t._v("my-config-map")]),t._v(" "),v("td")]),t._v(" "),v("tr",[v("td",[t._v("配置标签 - 名称")]),t._v(" "),v("td",[t._v("my-config-map")]),t._v(" "),v("td")]),t._v(" "),v("tr",[v("td",[t._v("配置标签 - 内容")]),t._v(" "),v("td",[t._v("configmap")]),t._v(" "),v("td")]),t._v(" "),v("tr",[v("td",[t._v("配置数据 - 名称")]),t._v(" "),v("td",[t._v("EUREKA_URL")]),t._v(" "),v("td")]),t._v(" "),v("tr",[v("td",[t._v("配置数据 - 内容")]),t._v(" "),v("td",[t._v("http://cloud-eureka:9200/eureka")]),t._v(" "),v("td")])])]),t._v(" "),v("p",[v("img",{attrs:{src:_(269),alt:"image-20190721112624128"}})]),t._v(" "),v("ul",[v("li",[v("p",[t._v("点击 "),v("em",[v("strong",[t._v("保存")])])]),t._v(" "),v("p",[t._v("配置信息创建成功")])])]),t._v(" "),v("p",[v("img",{attrs:{src:_(270),alt:"image-20190721113050608"}})]),t._v(" "),v("h1",{attrs:{id:"查看-编辑-删除-配置"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#查看-编辑-删除-配置","aria-hidden":"true"}},[t._v("#")]),t._v(" 查看/编辑/删除 配置")]),t._v(" "),v("ul",[v("li",[t._v("点击列表中的 "),v("em",[v("strong",[t._v("my-config-map")])])])]),t._v(" "),v("p",[v("img",{attrs:{src:_(271),alt:"image-20190721113155991"}})]),t._v(" "),v("p",[t._v("编辑、删除操作可直接按照提示完成")])])},[],!1,null,null,null);a.default=e.exports},65:function(t,a,_){t.exports=_.p+"assets/img/image-20190721110355464.25f25dda.png"}}]); \ No newline at end of file diff --git a/docs/assets/js/18.c9fd67c0.js b/docs/assets/js/18.72ca1490.js similarity index 82% rename from docs/assets/js/18.c9fd67c0.js rename to docs/assets/js/18.72ca1490.js index b270d97..e6662bb 100644 --- a/docs/assets/js/18.c9fd67c0.js +++ b/docs/assets/js/18.72ca1490.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{206:function(t,a,e){t.exports=e.p+"assets/img/image-20190721104153954.74fb88ec.png"},207:function(t,a,e){t.exports=e.p+"assets/img/image-20190721101812895.8f059471.png"},208:function(t,a,e){t.exports=e.p+"assets/img/image-20190721101954560.176c574c.png"},209:function(t,a,e){t.exports=e.p+"assets/img/image-20190721103324863.72744076.png"},343:function(t,a,e){"use strict";e.r(a);var r=e(2),s=Object(r.a)({},function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"集群事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#集群事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 集群事件")]),t._v(" "),r("p",[t._v("通过观察 KUberetes 集群事件,可以快速诊断部署时发生的问题。")]),t._v(" "),r("p",[t._v("Kuboard 建立了与 kubernetes apiserver 的长连接,可以在第一时间将集群中的事件更新以通知的形式显示在 dashboad 上。")]),t._v(" "),r("h2",{attrs:{id:"错误事件提示"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#错误事件提示","aria-hidden":"true"}},[t._v("#")]),t._v(" 错误事件提示")]),t._v(" "),r("p",[t._v("如果存在与某一个工作负载相关的错误事件,名称空间界面中,将以红色显示该工作负载,如下图所示:")]),t._v(" "),r("p",[r("img",{attrs:{src:e(206),alt:"image-20190721104153954"}})]),t._v(" "),r("h2",{attrs:{id:"全局事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#全局事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 全局事件")]),t._v(" "),r("h3",{attrs:{id:"查看全局事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#查看全局事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 查看全局事件")]),t._v(" "),r("p",[t._v("在任何页面点击界面左上角的 "),r("em",[r("strong",[t._v("事件")])]),t._v(" 按钮,进入事件列表页:")]),t._v(" "),r("p",[r("img",{attrs:{src:e(207),alt:"image-20190721101812895"}})]),t._v(" "),r("h3",{attrs:{id:"删除事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#删除事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 删除事件")]),t._v(" "),r("ul",[r("li",[t._v("点击全局事件列表中的 "),r("em",[r("strong",[t._v("类型")])]),t._v(" 标签,")])]),t._v(" "),r("p",[r("img",{attrs:{src:e(208),alt:"image-20190721101954560"}})]),t._v(" "),r("ul",[r("li",[t._v("点击 "),r("em",[r("strong",[t._v("确定")])])])]),t._v(" "),r("p",[t._v("该事件已删除。如果事件对应的错误原因没有被解决,该事件又会在下一次 kubernetes 调度系统资源的时候重新出现。")]),t._v(" "),r("h2",{attrs:{id:"微服务上下文相关的事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#微服务上下文相关的事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 微服务上下文相关的事件")]),t._v(" "),r("p",[t._v("打开工作负载页面,如下图所示:")]),t._v(" "),r("p",[t._v("容器组信息中包含了与该容器组相关的所有集群事件。")]),t._v(" "),r("p",[r("img",{attrs:{src:e(209),alt:"image-20190721103324863"}})])])},[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{218:function(t,a,e){t.exports=e.p+"assets/img/image-20190721104153954.74fb88ec.png"},219:function(t,a,e){t.exports=e.p+"assets/img/image-20190721101812895.8f059471.png"},220:function(t,a,e){t.exports=e.p+"assets/img/image-20190721101954560.176c574c.png"},221:function(t,a,e){t.exports=e.p+"assets/img/image-20190721103324863.72744076.png"},342:function(t,a,e){"use strict";e.r(a);var r=e(2),s=Object(r.a)({},function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"集群事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#集群事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 集群事件")]),t._v(" "),r("p",[t._v("通过观察 KUberetes 集群事件,可以快速诊断部署时发生的问题。")]),t._v(" "),r("p",[t._v("Kuboard 建立了与 kubernetes apiserver 的长连接,可以在第一时间将集群中的事件更新以通知的形式显示在 dashboad 上。")]),t._v(" "),r("h2",{attrs:{id:"错误事件提示"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#错误事件提示","aria-hidden":"true"}},[t._v("#")]),t._v(" 错误事件提示")]),t._v(" "),r("p",[t._v("如果存在与某一个工作负载相关的错误事件,名称空间界面中,将以红色显示该工作负载,如下图所示:")]),t._v(" "),r("p",[r("img",{attrs:{src:e(218),alt:"image-20190721104153954"}})]),t._v(" "),r("h2",{attrs:{id:"全局事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#全局事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 全局事件")]),t._v(" "),r("h3",{attrs:{id:"查看全局事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#查看全局事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 查看全局事件")]),t._v(" "),r("p",[t._v("在任何页面点击界面左上角的 "),r("em",[r("strong",[t._v("事件")])]),t._v(" 按钮,进入事件列表页:")]),t._v(" "),r("p",[r("img",{attrs:{src:e(219),alt:"image-20190721101812895"}})]),t._v(" "),r("h3",{attrs:{id:"删除事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#删除事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 删除事件")]),t._v(" "),r("ul",[r("li",[t._v("点击全局事件列表中的 "),r("em",[r("strong",[t._v("类型")])]),t._v(" 标签,")])]),t._v(" "),r("p",[r("img",{attrs:{src:e(220),alt:"image-20190721101954560"}})]),t._v(" "),r("ul",[r("li",[t._v("点击 "),r("em",[r("strong",[t._v("确定")])])])]),t._v(" "),r("p",[t._v("该事件已删除。如果事件对应的错误原因没有被解决,该事件又会在下一次 kubernetes 调度系统资源的时候重新出现。")]),t._v(" "),r("h2",{attrs:{id:"微服务上下文相关的事件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#微服务上下文相关的事件","aria-hidden":"true"}},[t._v("#")]),t._v(" 微服务上下文相关的事件")]),t._v(" "),r("p",[t._v("打开工作负载页面,如下图所示:")]),t._v(" "),r("p",[t._v("容器组信息中包含了与该容器组相关的所有集群事件。")]),t._v(" "),r("p",[r("img",{attrs:{src:e(221),alt:"image-20190721103324863"}})])])},[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/20.7f35c3b2.js b/docs/assets/js/20.397303d4.js similarity index 97% rename from docs/assets/js/20.7f35c3b2.js rename to docs/assets/js/20.397303d4.js index ba2be52..af6c89a 100644 --- a/docs/assets/js/20.7f35c3b2.js +++ b/docs/assets/js/20.397303d4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{197:function(t,a,e){t.exports=e.p+"assets/img/image-20190720224950653.857d1b1e.png"},198:function(t,a,e){t.exports=e.p+"assets/img/image-20190720225123111.c2b02f0c.png"},199:function(t,a,e){t.exports=e.p+"assets/img/image-20190720225222622.2081299f.png"},347:function(t,a,e){"use strict";e.r(a);var r=e(2),s=Object(r.a)({},function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"计算资源管理"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#计算资源管理","aria-hidden":"true"}},[t._v("#")]),t._v(" 计算资源管理")]),t._v(" "),r("h2",{attrs:{id:"前提"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[t._v("#")]),t._v(" 前提")]),t._v(" "),r("p",[t._v("必须具备如下条件:")]),t._v(" "),r("ul",[r("li",[t._v("Kubernetes 集群")]),t._v(" "),r("li",[t._v("已在集群中安装 Kuboard")])]),t._v(" "),r("h2",{attrs:{id:"添加节点"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#添加节点","aria-hidden":"true"}},[t._v("#")]),t._v(" 添加节点")]),t._v(" "),r("p",[t._v("集群完成安装后,可以随时向集群中添加计算节点,请参考 "),r("router-link",{attrs:{to:"/install/install-k8s.html#初始化-worker节点"}},[t._v("初始化 worker 节点")])],1),t._v(" "),r("h2",{attrs:{id:"查看节点"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#查看节点","aria-hidden":"true"}},[t._v("#")]),t._v(" 查看节点")]),t._v(" "),r("p",[t._v("登录 Kuboard 之后,即可看到集群中的计算资源列表,在左下角,如下图所示:")]),t._v(" "),r("p",[r("img",{attrs:{src:e(197),alt:"image-20190720224950653"}})]),t._v(" "),r("ul",[r("li",[t._v("点击 "),r("em",[r("strong",[t._v("demo-worker002")])]),t._v(" 可查看该节点的详细信息,如下图所示:")])]),t._v(" "),r("p",[r("img",{attrs:{src:e(198),alt:"image-20190720225123111"}})]),t._v(" "),r("h2",{attrs:{id:"移除节点"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#移除节点","aria-hidden":"true"}},[t._v("#")]),t._v(" 移除节点")]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("节点")])]),t._v(" 详情页上方的 "),r("em",[r("strong",[t._v("删除")])])]),t._v(" "),r("p",[t._v("并确认要删除的节点的名称后,即可删除该节点")])])]),t._v(" "),r("p",[r("img",{attrs:{src:e(199),alt:"image-20190720225222622"}})]),t._v(" "),r("blockquote",[r("ul",[r("li",[r("p",[t._v("此时只是从 kubenetes 集群的配置中删除了该节点,该节点上的工作负载将被自动迁移到其他可用节点上。如果重启该节点对应的 linux 操作系统,该节点会重新注册到集群中来。")])]),t._v(" "),r("li",[r("p",[t._v("要想彻底删除该节点,您还需要登录该节点所在机器的 linux 终端,并以 root 身份执行如下命令")]),t._v(" "),r("div",{staticClass:"language-bash extra-class"},[r("pre",{pre:!0,attrs:{class:"language-bash"}},[r("code",[t._v("kubadm reset\n")])])])])])])])},[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{197:function(t,a,e){t.exports=e.p+"assets/img/image-20190720224950653.857d1b1e.png"},198:function(t,a,e){t.exports=e.p+"assets/img/image-20190720225123111.c2b02f0c.png"},199:function(t,a,e){t.exports=e.p+"assets/img/image-20190720225222622.2081299f.png"},345:function(t,a,e){"use strict";e.r(a);var r=e(2),s=Object(r.a)({},function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"计算资源管理"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#计算资源管理","aria-hidden":"true"}},[t._v("#")]),t._v(" 计算资源管理")]),t._v(" "),r("h2",{attrs:{id:"前提"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[t._v("#")]),t._v(" 前提")]),t._v(" "),r("p",[t._v("必须具备如下条件:")]),t._v(" "),r("ul",[r("li",[t._v("Kubernetes 集群")]),t._v(" "),r("li",[t._v("已在集群中安装 Kuboard")])]),t._v(" "),r("h2",{attrs:{id:"添加节点"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#添加节点","aria-hidden":"true"}},[t._v("#")]),t._v(" 添加节点")]),t._v(" "),r("p",[t._v("集群完成安装后,可以随时向集群中添加计算节点,请参考 "),r("router-link",{attrs:{to:"/install/install-k8s.html#初始化-worker节点"}},[t._v("初始化 worker 节点")])],1),t._v(" "),r("h2",{attrs:{id:"查看节点"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#查看节点","aria-hidden":"true"}},[t._v("#")]),t._v(" 查看节点")]),t._v(" "),r("p",[t._v("登录 Kuboard 之后,即可看到集群中的计算资源列表,在左下角,如下图所示:")]),t._v(" "),r("p",[r("img",{attrs:{src:e(197),alt:"image-20190720224950653"}})]),t._v(" "),r("ul",[r("li",[t._v("点击 "),r("em",[r("strong",[t._v("demo-worker002")])]),t._v(" 可查看该节点的详细信息,如下图所示:")])]),t._v(" "),r("p",[r("img",{attrs:{src:e(198),alt:"image-20190720225123111"}})]),t._v(" "),r("h2",{attrs:{id:"移除节点"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#移除节点","aria-hidden":"true"}},[t._v("#")]),t._v(" 移除节点")]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("节点")])]),t._v(" 详情页上方的 "),r("em",[r("strong",[t._v("删除")])])]),t._v(" "),r("p",[t._v("并确认要删除的节点的名称后,即可删除该节点")])])]),t._v(" "),r("p",[r("img",{attrs:{src:e(199),alt:"image-20190720225222622"}})]),t._v(" "),r("blockquote",[r("ul",[r("li",[r("p",[t._v("此时只是从 kubenetes 集群的配置中删除了该节点,该节点上的工作负载将被自动迁移到其他可用节点上。如果重启该节点对应的 linux 操作系统,该节点会重新注册到集群中来。")])]),t._v(" "),r("li",[r("p",[t._v("要想彻底删除该节点,您还需要登录该节点所在机器的 linux 终端,并以 root 身份执行如下命令")]),t._v(" "),r("div",{staticClass:"language-bash extra-class"},[r("pre",{pre:!0,attrs:{class:"language-bash"}},[r("code",[t._v("kubadm reset\n")])])])])])])])},[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/26.192d36b4.js b/docs/assets/js/26.7d01c2c4.js similarity index 95% rename from docs/assets/js/26.192d36b4.js rename to docs/assets/js/26.7d01c2c4.js index f073a4b..7f70e7f 100644 --- a/docs/assets/js/26.192d36b4.js +++ b/docs/assets/js/26.7d01c2c4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{336:function(e,t,r){"use strict";r.r(t);var s=r(2),a=Object(s.a)({},function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"概述"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#概述","aria-hidden":"true"}},[e._v("#")]),e._v(" 概述")]),e._v(" "),s("p",[e._v("Kuboard 作为一个 Deployment 运行在 Kubernetes 集群中,通过 apiserver 操作 Kubernetes 集群。 Kuboard 安装的唯一依赖条件是 Kubernetes 集群,Kuboard 可兼容 Kubernetes 1.10 以上的版本,目前已经在 Kubernetes 1.14、1.15 上验证了 Kuboard。")]),e._v(" "),s("p",[e._v("如果您已经有一个 Kubernetes 集群,请直接 "),s("a",{attrs:{href:"install-dashboard"}},[e._v("安装 Kuboard")]),e._v("。")]),e._v(" "),s("p",[e._v("如果您当下没有 Kubernetes 集群:")]),e._v(" "),s("ul",[s("li",[e._v("想要安装一个简单的集群,对 Kuboard 进行测试, 请 "),s("a",{attrs:{href:"install-k8s"}},[e._v("安装 Kubernetes 用于测试")])]),e._v(" "),s("li",[e._v("想要安装一个高可用的集群,并使用 Kuboard 进行管理,请 "),s("a",{attrs:{href:"install-kubernetes"}},[e._v("安装 Kubernetes 高可用")])])]),e._v(" "),s("br"),e._v(" "),s("p",[s("strong",[e._v("在线提问")])]),e._v(" "),s("p",[s("img",{attrs:{src:r(66),alt:"Kuboard 兴趣群二维码"}})])])},[],!1,null,null,null);t.default=a.exports},66:function(e,t,r){e.exports=r.p+"assets/img/kuboard_qq.45e78dbf.png"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{350:function(e,t,r){"use strict";r.r(t);var s=r(2),a=Object(s.a)({},function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"概述"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#概述","aria-hidden":"true"}},[e._v("#")]),e._v(" 概述")]),e._v(" "),s("p",[e._v("Kuboard 作为一个 Deployment 运行在 Kubernetes 集群中,通过 apiserver 操作 Kubernetes 集群。 Kuboard 安装的唯一依赖条件是 Kubernetes 集群,Kuboard 可兼容 Kubernetes 1.10 以上的版本,目前已经在 Kubernetes 1.14、1.15 上验证了 Kuboard。")]),e._v(" "),s("p",[e._v("如果您已经有一个 Kubernetes 集群,请直接 "),s("a",{attrs:{href:"install-dashboard"}},[e._v("安装 Kuboard")]),e._v("。")]),e._v(" "),s("p",[e._v("如果您当下没有 Kubernetes 集群:")]),e._v(" "),s("ul",[s("li",[e._v("想要安装一个简单的集群,对 Kuboard 进行测试, 请 "),s("a",{attrs:{href:"install-k8s"}},[e._v("安装 Kubernetes 用于测试")])]),e._v(" "),s("li",[e._v("想要安装一个高可用的集群,并使用 Kuboard 进行管理,请 "),s("a",{attrs:{href:"install-kubernetes"}},[e._v("安装 Kubernetes 高可用")])])]),e._v(" "),s("br"),e._v(" "),s("p",[s("strong",[e._v("在线提问")])]),e._v(" "),s("p",[s("img",{attrs:{src:r(66),alt:"Kuboard 兴趣群二维码"}})])])},[],!1,null,null,null);t.default=a.exports},66:function(e,t,r){e.exports=r.p+"assets/img/kuboard_qq.45e78dbf.png"}}]); \ No newline at end of file diff --git a/docs/assets/js/3.eb22a557.js b/docs/assets/js/3.5c5b3ead.js similarity index 75% rename from docs/assets/js/3.eb22a557.js rename to docs/assets/js/3.5c5b3ead.js index be4958c..ba817a4 100644 --- a/docs/assets/js/3.eb22a557.js +++ b/docs/assets/js/3.5c5b3ead.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{232:function(a,t,e){a.exports=e.p+"assets/img/image-20190723150525017.378015c8.png"},233:function(a,t,e){a.exports=e.p+"assets/img/image-20190723150616633.17a9797e.png"},234:function(a,t,e){a.exports=e.p+"assets/img/image-20190723150853277.c168bc57.png"},235:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151045112.5329884a.png"},236:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151103353.3c29b906.png"},237:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151339137.5f756564.png"},238:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151357262.e79d2b6c.png"},239:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151422460.f02b1a28.png"},240:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151711230.c3dd4c41.png"},241:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151804727.287fa561.png"},242:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151845303.f2b8415a.png"},243:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151902003.1ef39b19.png"},244:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151914994.fa026f01.png"},245:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151932871.cbc894da.png"},246:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151951910.c3248933.png"},247:function(a,t,e){a.exports=e.p+"assets/img/image-20190723152020605.31eccc82.png"},248:function(a,t,e){a.exports=e.p+"assets/img/image-20190723152040219.45660f67.png"},249:function(a,t,e){a.exports=e.p+"assets/img/image-20190723152124196.9ef1af43.png"},250:function(a,t,e){a.exports=e.p+"assets/img/image-20190718104156232.8f0c70ed.png"},251:function(a,t,e){a.exports=e.p+"assets/img/image-20190718104729472.ef92267c.png"},252:function(a,t,e){a.exports=e.p+"assets/img/image-20190718105420599.71e5df51.png"},253:function(a,t,e){a.exports=e.p+"assets/img/image-20190718105641651.16549369.png"},254:function(a,t,e){a.exports=e.p+"assets/img/image-20190718120957255.0e01130f.png"},255:function(a,t,e){a.exports=e.p+"assets/img/image-20190718121133160.0d0a8e13.png"},359:function(a,t,e){"use strict";e.r(t);var s=e(2),i=Object(s.a)({},function(){var a=this,t=a.$createElement,s=a._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("h1",{attrs:{id:"监控-example-alpha"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#监控-example-alpha","aria-hidden":"true"}},[a._v("#")]),a._v(" 监控 example (alpha)")]),a._v(" "),s("h2",{attrs:{id:"前提"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[a._v("#")]),a._v(" 前提")]),a._v(" "),s("p",[a._v("必须具备如下条件:")]),a._v(" "),s("ul",[s("li",[a._v("已完成 "),s("a",{attrs:{href:"/guide/example/import"}},[a._v("导入 example 微服务")])])]),a._v(" "),s("p",[a._v("!> 监控套件相关的功能目前处于 alpha 状态,虽然在实际投产项目中取得了非常好的效果,但是产品化封装还需要进一步改进。")]),a._v(" "),s("p",[a._v("假设您已进入 example 名称空间,如下图所示:")]),a._v(" "),s("p",[s("img",{attrs:{src:e(99),alt:"image-20190723121433809"}})]),a._v(" "),s("h2",{attrs:{id:"安装监控套件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装监控套件","aria-hidden":"true"}},[a._v("#")]),a._v(" 安装监控套件")]),a._v(" "),s("h3",{attrs:{id:"安装全局监控套件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装全局监控套件","aria-hidden":"true"}},[a._v("#")]),a._v(" 安装全局监控套件")]),a._v(" "),s("ul",[s("li",[a._v("在 master 节点执行")])]),a._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[a._v("kubectl -n kube-system create secret generic etcd-certs --from-file"),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("/etc/kubernetes/pki/etcd/server.crt --from-file"),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("/etc/kubernetes/pki/etcd/server.key\n")])])]),s("ul",[s("li",[a._v("将鼠标移到 "),s("em",[s("strong",[a._v("设置")])]),a._v(" 菜单")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(232),alt:"image-20190723150525017"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("监控套件 - example")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(233),alt:"image-20190723150616633"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("全局监控套件 / 查找并安装")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(234),alt:"image-20190723150853277"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("资源层监控套件 / 安装")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(235),alt:"image-20190723151045112"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("全局监控套件 / 资源层监控套件 / 安装")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(236),alt:"image-20190723151103353"}})]),a._v(" "),s("ul",[s("li",[a._v("根据向导提示,完成工作负载的导入")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(237),alt:"image-20190723151339137"}})]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击 "),s("em",[s("strong",[a._v("资源层监控套件 / 初始化")])])]),a._v(" "),s("p",[a._v("由于下载镜像需要时间,您可能需要等待5-10分钟后,才能成功执行初始化。初始化成功的话,您将看到如下提示信息。")])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(238),alt:"image-20190723151357262"}})]),a._v(" "),s("h3",{attrs:{id:"安装名称空间监控套件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装名称空间监控套件","aria-hidden":"true"}},[a._v("#")]),a._v(" 安装名称空间监控套件")]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("名称空间监控套件 example / 查找并安装")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(239),alt:"image-20190723151422460"}})]),a._v(" "),s("ul",[s("li",[s("p",[a._v("重复前述过程,安装监控套件")]),a._v(" "),s("p",[a._v("重复前述过程,完成如下监控套件的安装和初始化:")]),a._v(" "),s("ul",[s("li",[a._v("Pinpoint 监控套件")]),a._v(" "),s("li",[a._v("Prometheus 监控套件")]),a._v(" "),s("li",[a._v("熔断及限流 Sentinel")])]),a._v(" "),s("p",[a._v("安装完成后,界面如下图所示:")])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(240),alt:"image-20190723151711230"}})]),a._v(" "),s("h3",{attrs:{id:"查看监控套件的工作负载"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看监控套件的工作负载","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看监控套件的工作负载")]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击 "),s("em",[s("strong",[a._v("后退")])])]),a._v(" "),s("p",[a._v("回到名称空间后,可查看到刚才安装监控套件时导入的监控层工作负载。")]),a._v(" "),s("blockquote",[s("p",[a._v("全局监控套件安装在 kube-system 名称空间")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(241),alt:"image-20190723151804727"}})]),a._v(" "),s("h2",{attrs:{id:"重启-example-容器组"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#重启-example-容器组","aria-hidden":"true"}},[a._v("#")]),a._v(" 重启 example 容器组")]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击导航栏中的 "),s("em",[s("strong",[a._v("容器组列表")])])]),a._v(" "),s("p",[a._v("在筛选条件中选择")]),a._v(" "),s("ul",[s("li",[a._v("展现层")]),a._v(" "),s("li",[a._v("网关层")]),a._v(" "),s("li",[a._v("服务层")]),a._v(" "),s("li",[a._v("持久层")]),a._v(" "),s("li",[a._v("中间件")])]),a._v(" "),s("p",[a._v("并点击刷新")]),a._v(" "),s("blockquote",[s("ul",[s("li",[s("p",[a._v("Kuboard 创建工作负载时,默认将其 imagePullPolicy 设置为 "),s("strong",[a._v("Always")]),a._v(";")])]),a._v(" "),s("li",[s("p",[a._v("删除容器组时,Kubernetes 将为该工作负载启动一个新的容器组,以尽可能地使工作负载的容器组数量等于该工作负载期望的副本数(replicas);")])]),a._v(" "),s("li",[s("p",[a._v("Kubernetes 在启动容器组时,根据 imagePullPolicy 的设置 Always,将会尝试从镜像仓库抓取最新镜像,这一特性,可以用于开发环境和测试环境的版本更新,因为您的 devops 系统肯能不会为 daily build 生成新的镜像标签;")])]),a._v(" "),s("li",[s("p",[a._v("此处删除容器组的目的是,重新启动容器,以便容器中的监控探针能够检测到其对应监控套件的存在。")])])])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(242),alt:"image-20190723151845303"}})]),a._v(" "),s("ul",[s("li",[s("p",[a._v("在列表中选择")]),a._v(" "),s("p",[a._v("选中如下容器组:")]),a._v(" "),s("ul",[s("li",[s("p",[a._v("cloud-eureka-0")])]),a._v(" "),s("li",[s("p",[a._v("db-example-xxxxxx-xxxx")])]),a._v(" "),s("li",[s("p",[a._v("gateway-example-xxxxxx-xxxx")])]),a._v(" "),s("li",[s("p",[a._v("svc-example-xxxxxx-xxxx")])]),a._v(" "),s("li",[s("p",[a._v("web-example-xxxxxx-xxxx")])])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(243),alt:"image-20190723151902003"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("删除")])]),a._v(" 按钮")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(244),alt:"image-20190723151914994"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("确定")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(245),alt:"image-20190723151932871"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("应用")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(246),alt:"image-20190723151951910"}})]),a._v(" "),s("ul",[s("li",[a._v("等待,直到容器组调整完成")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(247),alt:"image-20190723152020605"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("后退")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(248),alt:"image-20190723152040219"}})]),a._v(" "),s("h2",{attrs:{id:"查看监控信息"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看监控信息","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看监控信息")]),a._v(" "),s("h3",{attrs:{id:"查看资源层监控信息"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看资源层监控信息","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看资源层监控信息")]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击 "),s("em",[s("strong",[a._v("展现层 / web-example")])])]),a._v(" "),s("p",[a._v("如果您在下图中没有看到 "),s("em",[s("strong",[a._v("Nginx 监控")])]),a._v(", "),s("em",[s("strong",[a._v("容器组监控")])]),a._v(" 等,请刷新您的页面,因为监控套件初始化之后需要刷新页面才能加载并显示。")])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(249),alt:"image-20190723152124196"}})]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击 "),s("em",[s("strong",[a._v("所在节点监控")])])]),a._v(" "),s("p",[a._v("可查看所在节点的资源使用情况监控信息")])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(250),alt:"image-20190718104156232"}})]),a._v(" "),s("h3",{attrs:{id:"查看中间件层监控信息"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看中间件层监控信息","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看中间件层监控信息")]),a._v(" "),s("h4",{attrs:{id:"查看-nginx-监控"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看-nginx-监控","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看 Nginx 监控")]),a._v(" "),s("ul",[s("li",[a._v("点击 Nginx 监控")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(251),alt:"image-20190718104729472"}})]),a._v(" "),s("h4",{attrs:{id:"查看-mysql-监控"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看-mysql-监控","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看 MySQL 监控")]),a._v(" "),s("ul",[s("li",[a._v("返回 "),s("em",[s("strong",[a._v("example")])]),a._v(" 名称空间")]),a._v(" "),s("li",[a._v("点击 "),s("em",[s("strong",[a._v("持久层 / example db")])])]),a._v(" "),s("li",[a._v("点击 "),s("em",[s("strong",[a._v("MySQL 监控")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(252),alt:"image-20190718105420599"}})]),a._v(" "),s("h4",{attrs:{id:"查看-jvm-监控"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看-jvm-监控","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看 JVM 监控")]),a._v(" "),s("ul",[s("li",[a._v("返回 "),s("em",[s("strong",[a._v("example")])]),a._v(" 名称空间")]),a._v(" "),s("li",[a._v("点击 "),s("em",[s("strong",[a._v("微服务层 / example")])])]),a._v(" "),s("li",[a._v("点击 "),s("em",[s("strong",[a._v("Java 虚拟机监控")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(253),alt:"image-20190718105641651"}})]),a._v(" "),s("h3",{attrs:{id:"查看链路追踪监控信息"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看链路追踪监控信息","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看链路追踪监控信息")]),a._v(" "),s("ul",[s("li",[a._v("在 "),s("em",[s("strong",[a._v("微服务层 / example")])]),a._v(" 中点击 "),s("em",[s("strong",[a._v("链路追踪")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(254),alt:"image-20190718120957255"}})]),a._v(" "),s("p",[s("img",{attrs:{src:e(255),alt:"image-20190718121133160"}})])])},[],!1,null,null,null);t.default=i.exports},99:function(a,t,e){a.exports=e.p+"assets/img/image-20190723121433809.7a1b4b00.png"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{225:function(a,t,e){a.exports=e.p+"assets/img/image-20190723150525017.378015c8.png"},226:function(a,t,e){a.exports=e.p+"assets/img/image-20190723150616633.17a9797e.png"},227:function(a,t,e){a.exports=e.p+"assets/img/image-20190723150853277.c168bc57.png"},228:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151045112.5329884a.png"},229:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151103353.3c29b906.png"},230:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151339137.5f756564.png"},231:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151357262.e79d2b6c.png"},232:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151422460.f02b1a28.png"},233:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151711230.c3dd4c41.png"},234:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151804727.287fa561.png"},235:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151845303.f2b8415a.png"},236:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151902003.1ef39b19.png"},237:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151914994.fa026f01.png"},238:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151932871.cbc894da.png"},239:function(a,t,e){a.exports=e.p+"assets/img/image-20190723151951910.c3248933.png"},240:function(a,t,e){a.exports=e.p+"assets/img/image-20190723152020605.31eccc82.png"},241:function(a,t,e){a.exports=e.p+"assets/img/image-20190723152040219.45660f67.png"},242:function(a,t,e){a.exports=e.p+"assets/img/image-20190723152124196.9ef1af43.png"},243:function(a,t,e){a.exports=e.p+"assets/img/image-20190718104156232.8f0c70ed.png"},244:function(a,t,e){a.exports=e.p+"assets/img/image-20190718104729472.ef92267c.png"},245:function(a,t,e){a.exports=e.p+"assets/img/image-20190718105420599.71e5df51.png"},246:function(a,t,e){a.exports=e.p+"assets/img/image-20190718105641651.16549369.png"},247:function(a,t,e){a.exports=e.p+"assets/img/image-20190718120957255.0e01130f.png"},248:function(a,t,e){a.exports=e.p+"assets/img/image-20190718121133160.0d0a8e13.png"},366:function(a,t,e){"use strict";e.r(t);var s=e(2),i=Object(s.a)({},function(){var a=this,t=a.$createElement,s=a._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("h1",{attrs:{id:"监控-example-alpha"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#监控-example-alpha","aria-hidden":"true"}},[a._v("#")]),a._v(" 监控 example (alpha)")]),a._v(" "),s("h2",{attrs:{id:"前提"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[a._v("#")]),a._v(" 前提")]),a._v(" "),s("p",[a._v("必须具备如下条件:")]),a._v(" "),s("ul",[s("li",[a._v("已完成 "),s("a",{attrs:{href:"/guide/example/import"}},[a._v("导入 example 微服务")])])]),a._v(" "),s("p",[a._v("!> 监控套件相关的功能目前处于 alpha 状态,虽然在实际投产项目中取得了非常好的效果,但是产品化封装还需要进一步改进。")]),a._v(" "),s("p",[a._v("假设您已进入 example 名称空间,如下图所示:")]),a._v(" "),s("p",[s("img",{attrs:{src:e(98),alt:"image-20190723121433809"}})]),a._v(" "),s("h2",{attrs:{id:"安装监控套件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装监控套件","aria-hidden":"true"}},[a._v("#")]),a._v(" 安装监控套件")]),a._v(" "),s("h3",{attrs:{id:"安装全局监控套件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装全局监控套件","aria-hidden":"true"}},[a._v("#")]),a._v(" 安装全局监控套件")]),a._v(" "),s("ul",[s("li",[a._v("在 master 节点执行")])]),a._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[a._v("kubectl -n kube-system create secret generic etcd-certs --from-file"),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("/etc/kubernetes/pki/etcd/server.crt --from-file"),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("/etc/kubernetes/pki/etcd/server.key\n")])])]),s("ul",[s("li",[a._v("将鼠标移到 "),s("em",[s("strong",[a._v("设置")])]),a._v(" 菜单")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(225),alt:"image-20190723150525017"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("监控套件 - example")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(226),alt:"image-20190723150616633"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("全局监控套件 / 查找并安装")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(227),alt:"image-20190723150853277"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("资源层监控套件 / 安装")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(228),alt:"image-20190723151045112"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("全局监控套件 / 资源层监控套件 / 安装")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(229),alt:"image-20190723151103353"}})]),a._v(" "),s("ul",[s("li",[a._v("根据向导提示,完成工作负载的导入")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(230),alt:"image-20190723151339137"}})]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击 "),s("em",[s("strong",[a._v("资源层监控套件 / 初始化")])])]),a._v(" "),s("p",[a._v("由于下载镜像需要时间,您可能需要等待5-10分钟后,才能成功执行初始化。初始化成功的话,您将看到如下提示信息。")])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(231),alt:"image-20190723151357262"}})]),a._v(" "),s("h3",{attrs:{id:"安装名称空间监控套件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装名称空间监控套件","aria-hidden":"true"}},[a._v("#")]),a._v(" 安装名称空间监控套件")]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("名称空间监控套件 example / 查找并安装")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(232),alt:"image-20190723151422460"}})]),a._v(" "),s("ul",[s("li",[s("p",[a._v("重复前述过程,安装监控套件")]),a._v(" "),s("p",[a._v("重复前述过程,完成如下监控套件的安装和初始化:")]),a._v(" "),s("ul",[s("li",[a._v("Pinpoint 监控套件")]),a._v(" "),s("li",[a._v("Prometheus 监控套件")]),a._v(" "),s("li",[a._v("熔断及限流 Sentinel")])]),a._v(" "),s("p",[a._v("安装完成后,界面如下图所示:")])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(233),alt:"image-20190723151711230"}})]),a._v(" "),s("h3",{attrs:{id:"查看监控套件的工作负载"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看监控套件的工作负载","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看监控套件的工作负载")]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击 "),s("em",[s("strong",[a._v("后退")])])]),a._v(" "),s("p",[a._v("回到名称空间后,可查看到刚才安装监控套件时导入的监控层工作负载。")]),a._v(" "),s("blockquote",[s("p",[a._v("全局监控套件安装在 kube-system 名称空间")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(234),alt:"image-20190723151804727"}})]),a._v(" "),s("h2",{attrs:{id:"重启-example-容器组"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#重启-example-容器组","aria-hidden":"true"}},[a._v("#")]),a._v(" 重启 example 容器组")]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击导航栏中的 "),s("em",[s("strong",[a._v("容器组列表")])])]),a._v(" "),s("p",[a._v("在筛选条件中选择")]),a._v(" "),s("ul",[s("li",[a._v("展现层")]),a._v(" "),s("li",[a._v("网关层")]),a._v(" "),s("li",[a._v("服务层")]),a._v(" "),s("li",[a._v("持久层")]),a._v(" "),s("li",[a._v("中间件")])]),a._v(" "),s("p",[a._v("并点击刷新")]),a._v(" "),s("blockquote",[s("ul",[s("li",[s("p",[a._v("Kuboard 创建工作负载时,默认将其 imagePullPolicy 设置为 "),s("strong",[a._v("Always")]),a._v(";")])]),a._v(" "),s("li",[s("p",[a._v("删除容器组时,Kubernetes 将为该工作负载启动一个新的容器组,以尽可能地使工作负载的容器组数量等于该工作负载期望的副本数(replicas);")])]),a._v(" "),s("li",[s("p",[a._v("Kubernetes 在启动容器组时,根据 imagePullPolicy 的设置 Always,将会尝试从镜像仓库抓取最新镜像,这一特性,可以用于开发环境和测试环境的版本更新,因为您的 devops 系统肯能不会为 daily build 生成新的镜像标签;")])]),a._v(" "),s("li",[s("p",[a._v("此处删除容器组的目的是,重新启动容器,以便容器中的监控探针能够检测到其对应监控套件的存在。")])])])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(235),alt:"image-20190723151845303"}})]),a._v(" "),s("ul",[s("li",[s("p",[a._v("在列表中选择")]),a._v(" "),s("p",[a._v("选中如下容器组:")]),a._v(" "),s("ul",[s("li",[s("p",[a._v("cloud-eureka-0")])]),a._v(" "),s("li",[s("p",[a._v("db-example-xxxxxx-xxxx")])]),a._v(" "),s("li",[s("p",[a._v("gateway-example-xxxxxx-xxxx")])]),a._v(" "),s("li",[s("p",[a._v("svc-example-xxxxxx-xxxx")])]),a._v(" "),s("li",[s("p",[a._v("web-example-xxxxxx-xxxx")])])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(236),alt:"image-20190723151902003"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("删除")])]),a._v(" 按钮")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(237),alt:"image-20190723151914994"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("确定")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(238),alt:"image-20190723151932871"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("应用")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(239),alt:"image-20190723151951910"}})]),a._v(" "),s("ul",[s("li",[a._v("等待,直到容器组调整完成")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(240),alt:"image-20190723152020605"}})]),a._v(" "),s("ul",[s("li",[a._v("点击 "),s("em",[s("strong",[a._v("后退")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(241),alt:"image-20190723152040219"}})]),a._v(" "),s("h2",{attrs:{id:"查看监控信息"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看监控信息","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看监控信息")]),a._v(" "),s("h3",{attrs:{id:"查看资源层监控信息"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看资源层监控信息","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看资源层监控信息")]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击 "),s("em",[s("strong",[a._v("展现层 / web-example")])])]),a._v(" "),s("p",[a._v("如果您在下图中没有看到 "),s("em",[s("strong",[a._v("Nginx 监控")])]),a._v(", "),s("em",[s("strong",[a._v("容器组监控")])]),a._v(" 等,请刷新您的页面,因为监控套件初始化之后需要刷新页面才能加载并显示。")])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(242),alt:"image-20190723152124196"}})]),a._v(" "),s("ul",[s("li",[s("p",[a._v("点击 "),s("em",[s("strong",[a._v("所在节点监控")])])]),a._v(" "),s("p",[a._v("可查看所在节点的资源使用情况监控信息")])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(243),alt:"image-20190718104156232"}})]),a._v(" "),s("h3",{attrs:{id:"查看中间件层监控信息"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看中间件层监控信息","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看中间件层监控信息")]),a._v(" "),s("h4",{attrs:{id:"查看-nginx-监控"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看-nginx-监控","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看 Nginx 监控")]),a._v(" "),s("ul",[s("li",[a._v("点击 Nginx 监控")])]),a._v(" "),s("p",[s("img",{attrs:{src:e(244),alt:"image-20190718104729472"}})]),a._v(" "),s("h4",{attrs:{id:"查看-mysql-监控"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看-mysql-监控","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看 MySQL 监控")]),a._v(" "),s("ul",[s("li",[a._v("返回 "),s("em",[s("strong",[a._v("example")])]),a._v(" 名称空间")]),a._v(" "),s("li",[a._v("点击 "),s("em",[s("strong",[a._v("持久层 / example db")])])]),a._v(" "),s("li",[a._v("点击 "),s("em",[s("strong",[a._v("MySQL 监控")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(245),alt:"image-20190718105420599"}})]),a._v(" "),s("h4",{attrs:{id:"查看-jvm-监控"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看-jvm-监控","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看 JVM 监控")]),a._v(" "),s("ul",[s("li",[a._v("返回 "),s("em",[s("strong",[a._v("example")])]),a._v(" 名称空间")]),a._v(" "),s("li",[a._v("点击 "),s("em",[s("strong",[a._v("微服务层 / example")])])]),a._v(" "),s("li",[a._v("点击 "),s("em",[s("strong",[a._v("Java 虚拟机监控")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(246),alt:"image-20190718105641651"}})]),a._v(" "),s("h3",{attrs:{id:"查看链路追踪监控信息"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#查看链路追踪监控信息","aria-hidden":"true"}},[a._v("#")]),a._v(" 查看链路追踪监控信息")]),a._v(" "),s("ul",[s("li",[a._v("在 "),s("em",[s("strong",[a._v("微服务层 / example")])]),a._v(" 中点击 "),s("em",[s("strong",[a._v("链路追踪")])])])]),a._v(" "),s("p",[s("img",{attrs:{src:e(247),alt:"image-20190718120957255"}})]),a._v(" "),s("p",[s("img",{attrs:{src:e(248),alt:"image-20190718121133160"}})])])},[],!1,null,null,null);t.default=i.exports},98:function(a,t,e){a.exports=e.p+"assets/img/image-20190723121433809.7a1b4b00.png"}}]); \ No newline at end of file diff --git a/docs/assets/js/30.b0378cda.js b/docs/assets/js/30.39f9c372.js similarity index 96% rename from docs/assets/js/30.b0378cda.js rename to docs/assets/js/30.39f9c372.js index 8e42ead..bde4943 100644 --- a/docs/assets/js/30.b0378cda.js +++ b/docs/assets/js/30.39f9c372.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{345:function(e,t,r){"use strict";r.r(t);var s=r(2),v=Object(s.a)({},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"使用手册"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#使用手册","aria-hidden":"true"}},[e._v("#")]),e._v(" 使用手册")]),e._v(" "),r("p",[r("strong",[e._v("Kuboard 的设计目标")])]),e._v(" "),r("ul",[r("li",[e._v("降低 Kubernetes 学习门槛,让初学者先把 Kubernetes 用起来,再逐步理解 Kubernetes 中的各种概念")]),e._v(" "),r("li",[e._v("提高 Kubernetes 运维的便捷性,让资深 Kubernetes 运维人员脱离 kubectl 命令行,直接在 Kuboard 界面中完成日常运维工作")])]),e._v(" "),r("p",[r("strong",[e._v("熟悉 Kuboard 的最佳途径")])]),e._v(" "),r("ul",[r("li",[r("p",[e._v("创建一个最简单的工作负载")]),e._v(" "),r("p",[r("a",{attrs:{href:"example/busybox"}},[e._v("创建 busybox")])])]),e._v(" "),r("li",[r("p",[e._v("导入一套最简单的 Spring Cloud 微服务工作负载")]),e._v(" "),r("p",[r("a",{attrs:{href:"example/import"}},[e._v("导入 example")])])]),e._v(" "),r("li",[r("p",[e._v("根据微服务上下文查看监控结果")]),e._v(" "),r("p",[r("a",{attrs:{href:"example/monitor"}},[e._v("在微服务上下文中监控 example")])])])]),e._v(" "),r("p",[r("strong",[e._v("Kuboard 可用于")])]),e._v(" "),r("ul",[r("li",[e._v("管理 Kubernetes 集群")]),e._v(" "),r("li",[e._v("管理部署于 Kubernetes 的微服务")]),e._v(" "),r("li",[e._v("诊断集群中的问题")]),e._v(" "),r("li",[e._v("监控部署于 Kubernetes 的微服务")])])])},[],!1,null,null,null);t.default=v.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{347:function(e,t,r){"use strict";r.r(t);var s=r(2),v=Object(s.a)({},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"使用手册"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#使用手册","aria-hidden":"true"}},[e._v("#")]),e._v(" 使用手册")]),e._v(" "),r("p",[r("strong",[e._v("Kuboard 的设计目标")])]),e._v(" "),r("ul",[r("li",[e._v("降低 Kubernetes 学习门槛,让初学者先把 Kubernetes 用起来,再逐步理解 Kubernetes 中的各种概念")]),e._v(" "),r("li",[e._v("提高 Kubernetes 运维的便捷性,让资深 Kubernetes 运维人员脱离 kubectl 命令行,直接在 Kuboard 界面中完成日常运维工作")])]),e._v(" "),r("p",[r("strong",[e._v("熟悉 Kuboard 的最佳途径")])]),e._v(" "),r("ul",[r("li",[r("p",[e._v("创建一个最简单的工作负载")]),e._v(" "),r("p",[r("a",{attrs:{href:"example/busybox"}},[e._v("创建 busybox")])])]),e._v(" "),r("li",[r("p",[e._v("导入一套最简单的 Spring Cloud 微服务工作负载")]),e._v(" "),r("p",[r("a",{attrs:{href:"example/import"}},[e._v("导入 example")])])]),e._v(" "),r("li",[r("p",[e._v("根据微服务上下文查看监控结果")]),e._v(" "),r("p",[r("a",{attrs:{href:"example/monitor"}},[e._v("在微服务上下文中监控 example")])])])]),e._v(" "),r("p",[r("strong",[e._v("Kuboard 可用于")])]),e._v(" "),r("ul",[r("li",[e._v("管理 Kubernetes 集群")]),e._v(" "),r("li",[e._v("管理部署于 Kubernetes 的微服务")]),e._v(" "),r("li",[e._v("诊断集群中的问题")]),e._v(" "),r("li",[e._v("监控部署于 Kubernetes 的微服务")])])])},[],!1,null,null,null);t.default=v.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/31.491518bf.js b/docs/assets/js/31.34889c8c.js similarity index 98% rename from docs/assets/js/31.491518bf.js rename to docs/assets/js/31.34889c8c.js index 93be677..bfc02b4 100644 --- a/docs/assets/js/31.491518bf.js +++ b/docs/assets/js/31.34889c8c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{366:function(t,v,_){"use strict";_.r(v);var r=_(2),e=Object(r.a)({},function(){var t=this,v=t.$createElement,_=t._self._c||v;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h1",{attrs:{id:"端口转发"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#端口转发","aria-hidden":"true"}},[t._v("#")]),t._v(" 端口转发")]),t._v(" "),_("p",[t._v("微服务环境中,各个服务都通过 TCP / UDP 端口的形式提供访问。按调用者所在位置、通信协议的形式来划分,大致有如下几种情况:")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("调用者所在位置")]),t._v(" "),_("th",[t._v("通信协议")]),t._v(" "),_("th",[t._v("临时性")]),t._v(" "),_("th",[t._v("常见场景")]),t._v(" "),_("th",[t._v("推荐配置方式")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("VPC外")]),t._v(" "),_("td",[t._v("http / https")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[t._v("用户从互联网(亦可能是公司内网)"),_("br"),t._v("访问 web 页面,或者 restful 接口")]),t._v(" "),_("td",[t._v("Kubernetes Ingress"),_("br"),t._v("(可在Kuboard中直接配置***互联网入口*** )")])]),t._v(" "),_("tr",[_("td",[t._v("VPC外")]),t._v(" "),_("td",[t._v("tcp / udp")]),t._v(" "),_("td",[t._v("临时性")]),t._v(" "),_("td",[t._v("例如,开发者临时需要访问数据库端口、Redis端口等;")]),t._v(" "),_("td",[t._v("在客户端所在机器配置 kubectl,"),_("br"),t._v("并"),_("span",{staticStyle:{color:"#F56C6C"}},[t._v("通过 kubectl port-forwad 进行端口转发")])])]),t._v(" "),_("tr",[_("td",[t._v("VPC外")]),t._v(" "),_("td",[t._v("tcp / udp")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[t._v("暂不讨论")]),t._v(" "),_("td")]),t._v(" "),_("tr",[_("td",[t._v("VPC内/集群外")]),t._v(" "),_("td",[t._v("http / https")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[t._v("通过接口网关为周边系统提供服务")]),t._v(" "),_("td",[t._v("Kubernetes Service NodePort"),_("br"),t._v("(可在Kuboard中直接配置***访问方式/VPC内访问*** )")])]),t._v(" "),_("tr",[_("td",[t._v("VPC内/集群外")]),t._v(" "),_("td",[t._v("tcp / udp")]),t._v(" "),_("td",[t._v("同上")]),t._v(" "),_("td",[t._v("同上")]),t._v(" "),_("td")]),t._v(" "),_("tr",[_("td",[t._v("集群内")]),t._v(" "),_("td",[t._v("http / https")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[_("strong",[t._v("场景1")]),t._v(":Web层访问微服务网关"),_("br"),_("strong",[t._v("场景2")]),t._v(":微服务网关调用微服务,微服务之间的互相调用等。")]),t._v(" "),_("td",[_("strong",[t._v("场景1")]),t._v(":Kubernetes Service ClusterIP "),_("br"),t._v("(可在Kuboard中直接配置 "),_("em",[_("strong",[t._v("访问方式/集群内访问")])]),t._v(" )"),_("br"),_("strong",[t._v("场景2")]),t._v(":Spring Cloud中使用Eureka/Consul等服务发现"),_("br"),t._v("(Kuboard中 "),_("em",[_("strong",[t._v("访问方式/不配置")])]),t._v(" )")])]),t._v(" "),_("tr",[_("td",[t._v("集群内")]),t._v(" "),_("td",[t._v("tcp / udp")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[t._v("微服务访问数据库、微服务访问Redis等")]),t._v(" "),_("td",[t._v("Kubernetes Service ClusterIP "),_("br"),t._v("(可在Kuboard中直接配置 "),_("em",[_("strong",[t._v("访问方式/集群内访问")])]),t._v(" )")])])])]),t._v(" "),_("h2",{attrs:{id:"feature-planned"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#feature-planned","aria-hidden":"true"}},[t._v("#")]),t._v(" Feature planned")]),t._v(" "),_("p",[t._v("在作者使用 Kuboard 的运维实践中,有如下两个场景不能脱离 kubeadm / kubectl 命令行:")]),t._v(" "),_("ul",[_("li",[t._v("初始化集群 / 向集群添加节点")]),t._v(" "),_("li",[t._v("开发者临时需要访问数据库端口、Redis端口时,通过 kubectl port-forward 进行端口转发")])]),t._v(" "),_("p",[t._v("Kuboard 计划实现类似 kubectl port-forward 的功能,提高问题诊断过程中的便利性。")])])},[],!1,null,null,null);v.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{365:function(t,v,_){"use strict";_.r(v);var r=_(2),e=Object(r.a)({},function(){var t=this,v=t.$createElement,_=t._self._c||v;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h1",{attrs:{id:"端口转发"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#端口转发","aria-hidden":"true"}},[t._v("#")]),t._v(" 端口转发")]),t._v(" "),_("p",[t._v("微服务环境中,各个服务都通过 TCP / UDP 端口的形式提供访问。按调用者所在位置、通信协议的形式来划分,大致有如下几种情况:")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("调用者所在位置")]),t._v(" "),_("th",[t._v("通信协议")]),t._v(" "),_("th",[t._v("临时性")]),t._v(" "),_("th",[t._v("常见场景")]),t._v(" "),_("th",[t._v("推荐配置方式")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("VPC外")]),t._v(" "),_("td",[t._v("http / https")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[t._v("用户从互联网(亦可能是公司内网)"),_("br"),t._v("访问 web 页面,或者 restful 接口")]),t._v(" "),_("td",[t._v("Kubernetes Ingress"),_("br"),t._v("(可在Kuboard中直接配置***互联网入口*** )")])]),t._v(" "),_("tr",[_("td",[t._v("VPC外")]),t._v(" "),_("td",[t._v("tcp / udp")]),t._v(" "),_("td",[t._v("临时性")]),t._v(" "),_("td",[t._v("例如,开发者临时需要访问数据库端口、Redis端口等;")]),t._v(" "),_("td",[t._v("在客户端所在机器配置 kubectl,"),_("br"),t._v("并"),_("span",{staticStyle:{color:"#F56C6C"}},[t._v("通过 kubectl port-forwad 进行端口转发")])])]),t._v(" "),_("tr",[_("td",[t._v("VPC外")]),t._v(" "),_("td",[t._v("tcp / udp")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[t._v("暂不讨论")]),t._v(" "),_("td")]),t._v(" "),_("tr",[_("td",[t._v("VPC内/集群外")]),t._v(" "),_("td",[t._v("http / https")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[t._v("通过接口网关为周边系统提供服务")]),t._v(" "),_("td",[t._v("Kubernetes Service NodePort"),_("br"),t._v("(可在Kuboard中直接配置***访问方式/VPC内访问*** )")])]),t._v(" "),_("tr",[_("td",[t._v("VPC内/集群外")]),t._v(" "),_("td",[t._v("tcp / udp")]),t._v(" "),_("td",[t._v("同上")]),t._v(" "),_("td",[t._v("同上")]),t._v(" "),_("td")]),t._v(" "),_("tr",[_("td",[t._v("集群内")]),t._v(" "),_("td",[t._v("http / https")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[_("strong",[t._v("场景1")]),t._v(":Web层访问微服务网关"),_("br"),_("strong",[t._v("场景2")]),t._v(":微服务网关调用微服务,微服务之间的互相调用等。")]),t._v(" "),_("td",[_("strong",[t._v("场景1")]),t._v(":Kubernetes Service ClusterIP "),_("br"),t._v("(可在Kuboard中直接配置 "),_("em",[_("strong",[t._v("访问方式/集群内访问")])]),t._v(" )"),_("br"),_("strong",[t._v("场景2")]),t._v(":Spring Cloud中使用Eureka/Consul等服务发现"),_("br"),t._v("(Kuboard中 "),_("em",[_("strong",[t._v("访问方式/不配置")])]),t._v(" )")])]),t._v(" "),_("tr",[_("td",[t._v("集群内")]),t._v(" "),_("td",[t._v("tcp / udp")]),t._v(" "),_("td",[t._v("日常性")]),t._v(" "),_("td",[t._v("微服务访问数据库、微服务访问Redis等")]),t._v(" "),_("td",[t._v("Kubernetes Service ClusterIP "),_("br"),t._v("(可在Kuboard中直接配置 "),_("em",[_("strong",[t._v("访问方式/集群内访问")])]),t._v(" )")])])])]),t._v(" "),_("h2",{attrs:{id:"feature-planned"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#feature-planned","aria-hidden":"true"}},[t._v("#")]),t._v(" Feature planned")]),t._v(" "),_("p",[t._v("在作者使用 Kuboard 的运维实践中,有如下两个场景不能脱离 kubeadm / kubectl 命令行:")]),t._v(" "),_("ul",[_("li",[t._v("初始化集群 / 向集群添加节点")]),t._v(" "),_("li",[t._v("开发者临时需要访问数据库端口、Redis端口时,通过 kubectl port-forward 进行端口转发")])]),t._v(" "),_("p",[t._v("Kuboard 计划实现类似 kubectl port-forward 的功能,提高问题诊断过程中的便利性。")])])},[],!1,null,null,null);v.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/32.c24e6388.js b/docs/assets/js/32.6263fc08.js similarity index 92% rename from docs/assets/js/32.c24e6388.js rename to docs/assets/js/32.6263fc08.js index e833003..cc59ed5 100644 --- a/docs/assets/js/32.c24e6388.js +++ b/docs/assets/js/32.6263fc08.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{352:function(t,e,a){"use strict";a.r(e);var r=a(2),l=Object(r.a)({},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"监控套件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#监控套件","aria-hidden":"true"}},[t._v("#")]),t._v(" 监控套件")]),t._v(" "),a("p",[t._v("文档建设中...")]),t._v(" "),a("blockquote",[a("ul",[a("li",[t._v("请参考 "),a("a",{attrs:{href:"/guide/example/monitor"}},[t._v("监控 example (alpha)")]),t._v(" 体验 Kuboard 在监控套件方面的设想")]),t._v(" "),a("li",[t._v("监控套件以插件的形式整合到 Kuboard,在不使用监控套件的情况下,Kuboard 的所有功能都可正常工作")])])])])},[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{351:function(t,e,a){"use strict";a.r(e);var r=a(2),l=Object(r.a)({},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"监控套件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#监控套件","aria-hidden":"true"}},[t._v("#")]),t._v(" 监控套件")]),t._v(" "),a("p",[t._v("文档建设中...")]),t._v(" "),a("blockquote",[a("ul",[a("li",[t._v("请参考 "),a("a",{attrs:{href:"/guide/example/monitor"}},[t._v("监控 example (alpha)")]),t._v(" 体验 Kuboard 在监控套件方面的设想")]),t._v(" "),a("li",[t._v("监控套件以插件的形式整合到 Kuboard,在不使用监控套件的情况下,Kuboard 的所有功能都可正常工作")])])])])},[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/33.fe9bafab.js b/docs/assets/js/33.e2d6de84.js similarity index 92% rename from docs/assets/js/33.fe9bafab.js rename to docs/assets/js/33.e2d6de84.js index d99c5e3..5b4f017 100644 --- a/docs/assets/js/33.fe9bafab.js +++ b/docs/assets/js/33.e2d6de84.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{340:function(t,e,a){"use strict";a.r(e);var r=a(2),l=Object(r.a)({},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"自定义监控套件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#自定义监控套件","aria-hidden":"true"}},[t._v("#")]),t._v(" 自定义监控套件")]),t._v(" "),a("p",[t._v("文档建设中...")]),t._v(" "),a("blockquote",[a("ul",[a("li",[t._v("请参考 "),a("a",{attrs:{href:"/guide/example/monitor"}},[t._v("监控 example (alpha)")]),t._v(" 体验 Kuboard 在监控套件方面的设想")]),t._v(" "),a("li",[t._v("监控套件以插件的形式整合到 Kuboard,在不使用监控套件的情况下,Kuboard 的所有功能都可正常工作")])])])])},[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{352:function(t,e,a){"use strict";a.r(e);var r=a(2),l=Object(r.a)({},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"自定义监控套件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#自定义监控套件","aria-hidden":"true"}},[t._v("#")]),t._v(" 自定义监控套件")]),t._v(" "),a("p",[t._v("文档建设中...")]),t._v(" "),a("blockquote",[a("ul",[a("li",[t._v("请参考 "),a("a",{attrs:{href:"/guide/example/monitor"}},[t._v("监控 example (alpha)")]),t._v(" 体验 Kuboard 在监控套件方面的设想")]),t._v(" "),a("li",[t._v("监控套件以插件的形式整合到 Kuboard,在不使用监控套件的情况下,Kuboard 的所有功能都可正常工作")])])])])},[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/34.ed8e805f.js b/docs/assets/js/34.fb720492.js similarity index 96% rename from docs/assets/js/34.ed8e805f.js rename to docs/assets/js/34.fb720492.js index e08965a..1256827 100644 --- a/docs/assets/js/34.ed8e805f.js +++ b/docs/assets/js/34.fb720492.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{351:function(a,t,r){"use strict";r.r(t);var e=r(2),s=Object(e.a)({},function(){var a=this,t=a.$createElement,r=a._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[r("h1",{attrs:{id:"应用管理"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#应用管理","aria-hidden":"true"}},[a._v("#")]),a._v(" 应用管理")]),a._v(" "),r("h2",{attrs:{id:"创建工作负载"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#创建工作负载","aria-hidden":"true"}},[a._v("#")]),a._v(" 创建工作负载")]),a._v(" "),r("h2",{attrs:{id:"删除工作负载"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#删除工作负载","aria-hidden":"true"}},[a._v("#")]),a._v(" 删除工作负载")]),a._v(" "),r("h2",{attrs:{id:"伸缩"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#伸缩","aria-hidden":"true"}},[a._v("#")]),a._v(" 伸缩")]),a._v(" "),r("h2",{attrs:{id:"升级工作负载版本"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#升级工作负载版本","aria-hidden":"true"}},[a._v("#")]),a._v(" 升级工作负载版本")]),a._v(" "),r("h2",{attrs:{id:"环境迁移"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#环境迁移","aria-hidden":"true"}},[a._v("#")]),a._v(" 环境迁移")]),a._v(" "),r("h3",{attrs:{id:"导出"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#导出","aria-hidden":"true"}},[a._v("#")]),a._v(" 导出")]),a._v(" "),r("h3",{attrs:{id:"导入"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#导入","aria-hidden":"true"}},[a._v("#")]),a._v(" 导入")])])},[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{338:function(a,t,r){"use strict";r.r(t);var e=r(2),s=Object(e.a)({},function(){var a=this,t=a.$createElement,r=a._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[r("h1",{attrs:{id:"应用管理"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#应用管理","aria-hidden":"true"}},[a._v("#")]),a._v(" 应用管理")]),a._v(" "),r("h2",{attrs:{id:"创建工作负载"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#创建工作负载","aria-hidden":"true"}},[a._v("#")]),a._v(" 创建工作负载")]),a._v(" "),r("h2",{attrs:{id:"删除工作负载"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#删除工作负载","aria-hidden":"true"}},[a._v("#")]),a._v(" 删除工作负载")]),a._v(" "),r("h2",{attrs:{id:"伸缩"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#伸缩","aria-hidden":"true"}},[a._v("#")]),a._v(" 伸缩")]),a._v(" "),r("h2",{attrs:{id:"升级工作负载版本"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#升级工作负载版本","aria-hidden":"true"}},[a._v("#")]),a._v(" 升级工作负载版本")]),a._v(" "),r("h2",{attrs:{id:"环境迁移"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#环境迁移","aria-hidden":"true"}},[a._v("#")]),a._v(" 环境迁移")]),a._v(" "),r("h3",{attrs:{id:"导出"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#导出","aria-hidden":"true"}},[a._v("#")]),a._v(" 导出")]),a._v(" "),r("h3",{attrs:{id:"导入"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#导入","aria-hidden":"true"}},[a._v("#")]),a._v(" 导入")])])},[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/4.b5ccca8f.js b/docs/assets/js/4.787ff0f1.js similarity index 98% rename from docs/assets/js/4.b5ccca8f.js rename to docs/assets/js/4.787ff0f1.js index b987a7f..d7ba6eb 100644 --- a/docs/assets/js/4.b5ccca8f.js +++ b/docs/assets/js/4.787ff0f1.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{304:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120730196.9793d8ec.png"},305:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120753533.081b6d6b.png"},306:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120832778.e154bccd.png"},307:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120912377.e1404406.png"},308:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120926747.c9754776.png"},309:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120956821.69bcdbbe.png"},310:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121019167.81af1060.png"},311:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121035917.8a2b1320.png"},312:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121055648.2c6ba8d1.png"},313:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121117514.ef774d3a.png"},314:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121132991.69146097.png"},315:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121412027.6888452e.png"},316:function(e,t,a){e.exports=a.p+"assets/img/image-20190717193548703.5167e3b9.png"},361:function(e,t,a){"use strict";a.r(t);var r=a(2),o=Object(r.a)({},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"导入-example-微服务"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#导入-example-微服务","aria-hidden":"true"}},[e._v("#")]),e._v(" 导入 example 微服务")]),e._v(" "),r("h2",{attrs:{id:"前提"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[e._v("#")]),e._v(" 前提")]),e._v(" "),r("p",[e._v("必须具备如下条件:")]),e._v(" "),r("ul",[r("li",[e._v("Kubernetes 集群 (安装在阿里云,本文将使用阿里云的 NFS 服务作为存储资源,Kuboard 也可以运行在其他云环境或者私有环境中。)")]),e._v(" "),r("li",[e._v("已在集群中安装 Kuboard")])]),e._v(" "),r("h2",{attrs:{id:"创建存储资源"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#创建存储资源","aria-hidden":"true"}},[e._v("#")]),e._v(" 创建存储资源")]),e._v(" "),r("p",[e._v("example中用到了存储卷声明,请在 Kuboard 中 "),r("a",{attrs:{href:"/guide/cluster/storage?id=%E5%88%9B%E5%BB%BA%E5%AD%98%E5%82%A8%E7%B1%BB"}},[e._v("创建存储类")]),e._v(" ,否则不能完成 example 的导入操作。")]),e._v(" "),r("h2",{attrs:{id:"创建名称空间"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#创建名称空间","aria-hidden":"true"}},[e._v("#")]),e._v(" 创建名称空间")]),e._v(" "),r("p",[e._v("创建新的名称空间,用来导入 exmaple。可参考 "),r("a",{attrs:{href:"/guide/cluster/namespace?id=%E5%88%9B%E5%BB%BA%E5%90%8D%E7%A7%B0%E7%A9%BA%E9%97%B4"}},[e._v("创建名称空间")])]),e._v(" "),r("p",[e._v("假设您已经进入了 Kuboard 名称空间界面,如下图所示:")]),e._v(" "),r("p",[r("img",{attrs:{src:a(98),alt:"image-20190723115721514"}})]),e._v(" "),r("h2",{attrs:{id:"导入-example"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#导入-example","aria-hidden":"true"}},[e._v("#")]),e._v(" 导入 example")]),e._v(" "),r("ul",[r("li",[e._v("下载 "),r("a",{attrs:{href:e.$withBase("/kuboard_example.yaml"),download:"kuboard_example.yaml"}},[e._v("kuboard_example.yaml")]),e._v(" 文件")])]),e._v(" "),r("blockquote",[r("p",[e._v("在 Kuboard 中,您无需手写 yaml 文件,此 yaml 文件的内容生成步骤如下:")]),e._v(" "),r("ul",[r("li",[e._v("通过 "),r("a",{attrs:{href:"busybox"}},[e._v("创建工作负载")]),e._v(" 完成微服务应用的部署")]),e._v(" "),r("li",[e._v("通过 "),r("strong",[e._v("导出工作负载")]),e._v(" 将名称空间中的微服务配置导出到一个 yaml 文件中")])])]),e._v(" "),r("ul",[r("li",[e._v("点击 "),r("em",[r("strong",[e._v("导入工作负载")])]),e._v(" 按钮")])]),e._v(" "),r("p",[r("img",{attrs:{src:a(304),alt:"image-20190723120730196"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 "),r("em",[r("strong",[e._v("上传文件")])]),e._v(" 按钮")]),e._v(" "),r("p",[e._v("并选择刚才下载的 export_example.yaml 文件")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(305),alt:"image-20190723120753533"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 "),r("em",[r("strong",[e._v("下一步")])])]),e._v(" "),r("p",[e._v("默认选择所有的工作负载")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(306),alt:"image-20190723120832778"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击***下一步***")]),e._v(" "),r("p",[e._v("默认选择所有要导入的配置,example中没有使用到配置信息")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(307),alt:"image-20190723120912377"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 "),r("em",[r("strong",[e._v("下一步")])])]),e._v(" "),r("p",[e._v("默认选择所有 Secrets")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(308),alt:"image-20190723120926747"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击***下一步***")]),e._v(" "),r("p",[e._v("填写表单:")])])]),e._v(" "),r("table",[r("thead",[r("tr",[r("th",[e._v("字段名称")]),e._v(" "),r("th",[e._v("填写内容")]),e._v(" "),r("th",[e._v("说明")])])]),e._v(" "),r("tbody",[r("tr",[r("td",[e._v("数据卷类型")]),e._v(" "),r("td",[e._v("db-example-storage")]),e._v(" "),r("td",[e._v("NFS:容器组直连NFS"),r("br"),e._v("存储卷声明:容器组使用存储卷声明")])]),e._v(" "),r("tr",[r("td",[e._v("是否新建存储卷声明")]),e._v(" "),r("td",[e._v("创建新存储卷声明")]),e._v(" "),r("td",[e._v("使用已有存储卷声明:可以使用事先创建好的存储卷声明"),r("br"),e._v("创建新存储卷声明:可以创建新存储卷声明")])]),e._v(" "),r("tr",[r("td",[e._v("分配模式")]),e._v(" "),r("td",[e._v("动态分配")]),e._v(" "),r("td")]),e._v(" "),r("tr",[r("td",[e._v("读写模式")]),e._v(" "),r("td",[e._v("可被多节点读写")]),e._v(" "),r("td",[e._v("只能被单节点读写、可被多节点只读、可被多节点读写")])]),e._v(" "),r("tr",[r("td",[e._v("总量")]),e._v(" "),r("td",[e._v("2Gi")]),e._v(" "),r("td",[e._v("2Gi代表 2G空间")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(309),alt:"image-20190723120956821"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击***下一步***")]),e._v(" "),r("p",[e._v("填写表单:")])])]),e._v(" "),r("table",[r("thead",[r("tr",[r("th",[e._v("字段名称")]),e._v(" "),r("th",[e._v("填写内容")]),e._v(" "),r("th",[e._v("说明")])])]),e._v(" "),r("tbody",[r("tr",[r("td",[e._v("cloud-eureka域名")]),e._v(" "),r("td",[e._v("cloud-eureka.example.demo.eip.work")]),e._v(" "),r("td",[e._v("使用您自己的域名,"),r("br"),e._v("在测试环境建议使用如下域名格式:"),r("br"),e._v("workloadname.namespace-name.cluster-name.domain.com"),r("br"),e._v("该域名应该解析到您worker节点的外网地址,或者worker 节点 80/443 端口对应负载均衡服务器的外网地址。")])]),e._v(" "),r("tr",[r("td",[e._v("web-example")]),e._v(" "),r("td",[e._v("web-example.example.demo.eip")]),e._v(" "),r("td")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(310),alt:"image-20190723121019167"}})]),e._v(" "),r("ul",[r("li",[e._v("点击***下一步***")])]),e._v(" "),r("p",[r("img",{attrs:{src:a(311),alt:"image-20190723121035917"}})]),e._v(" "),r("ul",[r("li",[e._v("点击 "),r("em",[r("strong",[e._v("确定")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(312),alt:"image-20190723121055648"}})]),e._v(" "),r("ul",[r("li",[e._v("点击 "),r("em",[r("strong",[e._v("应用")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(313),alt:"image-20190723121117514"}})]),e._v(" "),r("ul",[r("li",[e._v("点击 "),r("em",[r("strong",[e._v("完成")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(314),alt:"image-20190723121132991"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 "),r("em",[r("strong",[e._v("已完成")])])]),e._v(" "),r("p",[e._v("可再名称空间中查看到刚才导入的 example 的所有工作负载及存储卷声明")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(99),alt:"image-20190723121433809"}})]),e._v(" "),r("h2",{attrs:{id:"验证-web-example"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#验证-web-example","aria-hidden":"true"}},[e._v("#")]),e._v(" 验证 web-example")]),e._v(" "),r("ul",[r("li",[e._v("点击工作负载 "),r("em",[r("strong",[e._v("web-example")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(315),alt:"image-20190723121412027"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 互联网入口中的域名 "),r("em",[r("strong",[e._v("http://web-example.example.demo.eip.work")])])]),e._v(" "),r("p",[r("strong",[e._v("Example 部署成功")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(316),alt:"image-20190717193548703"}})]),e._v(" "),r("blockquote",[r("p",[e._v("web-example容器的日志中会出现如下异常,错误原因是,example使用了一个监控套件,该监控套件要求将容器注册到monitor-eureka中,当下我们并没有安装该监控套件。此错误并不影响 example 程序的使用。暂时忽略该异常。")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[e._v("[DiscoveryClient-InstanceInfoReplicator-0] WARN com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient - Request execution failed with message: java.net.UnknownHostException: monitor-eureka\n[DiscoveryClient-InstanceInfoReplicator-0] WARN com.netflix.discovery.DiscoveryClient - DiscoveryClient_WEB-ADMIN/web-example-7f668c75db-j7ncx - registration failed Cannot execute request on any known server\ncom.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server\n at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)\n at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)\n at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:829)\n at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121)\n at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n at java.util.concurrent.FutureTask.run(FutureTask.java:266)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n at java.lang.Thread.run(Thread.java:748)\n[DiscoveryClient-InstanceInfoReplicator-0] WARN com.netflix.discovery.InstanceInfoReplicator - There was a problem with the instance info replicator\ncom.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server\n at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)\n at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)\n at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:829)\n at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121)\n at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n at java.util.concurrent.FutureTask.run(FutureTask.java:266)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n at java.lang.Thread.run(Thread.java:748)\n")])])])])])},[],!1,null,null,null);t.default=o.exports},98:function(e,t,a){e.exports=a.p+"assets/img/image-20190723115721514.bf981ef3.png"},99:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121433809.7a1b4b00.png"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{304:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120730196.9793d8ec.png"},305:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120753533.081b6d6b.png"},306:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120832778.e154bccd.png"},307:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120912377.e1404406.png"},308:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120926747.c9754776.png"},309:function(e,t,a){e.exports=a.p+"assets/img/image-20190723120956821.69bcdbbe.png"},310:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121019167.81af1060.png"},311:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121035917.8a2b1320.png"},312:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121055648.2c6ba8d1.png"},313:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121117514.ef774d3a.png"},314:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121132991.69146097.png"},315:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121412027.6888452e.png"},316:function(e,t,a){e.exports=a.p+"assets/img/image-20190717193548703.5167e3b9.png"},361:function(e,t,a){"use strict";a.r(t);var r=a(2),o=Object(r.a)({},function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"导入-example-微服务"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#导入-example-微服务","aria-hidden":"true"}},[e._v("#")]),e._v(" 导入 example 微服务")]),e._v(" "),r("h2",{attrs:{id:"前提"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[e._v("#")]),e._v(" 前提")]),e._v(" "),r("p",[e._v("必须具备如下条件:")]),e._v(" "),r("ul",[r("li",[e._v("Kubernetes 集群 (安装在阿里云,本文将使用阿里云的 NFS 服务作为存储资源,Kuboard 也可以运行在其他云环境或者私有环境中。)")]),e._v(" "),r("li",[e._v("已在集群中安装 Kuboard")])]),e._v(" "),r("h2",{attrs:{id:"创建存储资源"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#创建存储资源","aria-hidden":"true"}},[e._v("#")]),e._v(" 创建存储资源")]),e._v(" "),r("p",[e._v("example中用到了存储卷声明,请在 Kuboard 中 "),r("a",{attrs:{href:"/guide/cluster/storage?id=%E5%88%9B%E5%BB%BA%E5%AD%98%E5%82%A8%E7%B1%BB"}},[e._v("创建存储类")]),e._v(" ,否则不能完成 example 的导入操作。")]),e._v(" "),r("h2",{attrs:{id:"创建名称空间"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#创建名称空间","aria-hidden":"true"}},[e._v("#")]),e._v(" 创建名称空间")]),e._v(" "),r("p",[e._v("创建新的名称空间,用来导入 exmaple。可参考 "),r("a",{attrs:{href:"/guide/cluster/namespace?id=%E5%88%9B%E5%BB%BA%E5%90%8D%E7%A7%B0%E7%A9%BA%E9%97%B4"}},[e._v("创建名称空间")])]),e._v(" "),r("p",[e._v("假设您已经进入了 Kuboard 名称空间界面,如下图所示:")]),e._v(" "),r("p",[r("img",{attrs:{src:a(99),alt:"image-20190723115721514"}})]),e._v(" "),r("h2",{attrs:{id:"导入-example"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#导入-example","aria-hidden":"true"}},[e._v("#")]),e._v(" 导入 example")]),e._v(" "),r("ul",[r("li",[e._v("下载 "),r("a",{attrs:{href:e.$withBase("/kuboard_example.yaml"),download:"kuboard_example.yaml"}},[e._v("kuboard_example.yaml")]),e._v(" 文件")])]),e._v(" "),r("blockquote",[r("p",[e._v("在 Kuboard 中,您无需手写 yaml 文件,此 yaml 文件的内容生成步骤如下:")]),e._v(" "),r("ul",[r("li",[e._v("通过 "),r("a",{attrs:{href:"busybox"}},[e._v("创建工作负载")]),e._v(" 完成微服务应用的部署")]),e._v(" "),r("li",[e._v("通过 "),r("strong",[e._v("导出工作负载")]),e._v(" 将名称空间中的微服务配置导出到一个 yaml 文件中")])])]),e._v(" "),r("ul",[r("li",[e._v("点击 "),r("em",[r("strong",[e._v("导入工作负载")])]),e._v(" 按钮")])]),e._v(" "),r("p",[r("img",{attrs:{src:a(304),alt:"image-20190723120730196"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 "),r("em",[r("strong",[e._v("上传文件")])]),e._v(" 按钮")]),e._v(" "),r("p",[e._v("并选择刚才下载的 export_example.yaml 文件")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(305),alt:"image-20190723120753533"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 "),r("em",[r("strong",[e._v("下一步")])])]),e._v(" "),r("p",[e._v("默认选择所有的工作负载")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(306),alt:"image-20190723120832778"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击***下一步***")]),e._v(" "),r("p",[e._v("默认选择所有要导入的配置,example中没有使用到配置信息")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(307),alt:"image-20190723120912377"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 "),r("em",[r("strong",[e._v("下一步")])])]),e._v(" "),r("p",[e._v("默认选择所有 Secrets")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(308),alt:"image-20190723120926747"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击***下一步***")]),e._v(" "),r("p",[e._v("填写表单:")])])]),e._v(" "),r("table",[r("thead",[r("tr",[r("th",[e._v("字段名称")]),e._v(" "),r("th",[e._v("填写内容")]),e._v(" "),r("th",[e._v("说明")])])]),e._v(" "),r("tbody",[r("tr",[r("td",[e._v("数据卷类型")]),e._v(" "),r("td",[e._v("db-example-storage")]),e._v(" "),r("td",[e._v("NFS:容器组直连NFS"),r("br"),e._v("存储卷声明:容器组使用存储卷声明")])]),e._v(" "),r("tr",[r("td",[e._v("是否新建存储卷声明")]),e._v(" "),r("td",[e._v("创建新存储卷声明")]),e._v(" "),r("td",[e._v("使用已有存储卷声明:可以使用事先创建好的存储卷声明"),r("br"),e._v("创建新存储卷声明:可以创建新存储卷声明")])]),e._v(" "),r("tr",[r("td",[e._v("分配模式")]),e._v(" "),r("td",[e._v("动态分配")]),e._v(" "),r("td")]),e._v(" "),r("tr",[r("td",[e._v("读写模式")]),e._v(" "),r("td",[e._v("可被多节点读写")]),e._v(" "),r("td",[e._v("只能被单节点读写、可被多节点只读、可被多节点读写")])]),e._v(" "),r("tr",[r("td",[e._v("总量")]),e._v(" "),r("td",[e._v("2Gi")]),e._v(" "),r("td",[e._v("2Gi代表 2G空间")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(309),alt:"image-20190723120956821"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击***下一步***")]),e._v(" "),r("p",[e._v("填写表单:")])])]),e._v(" "),r("table",[r("thead",[r("tr",[r("th",[e._v("字段名称")]),e._v(" "),r("th",[e._v("填写内容")]),e._v(" "),r("th",[e._v("说明")])])]),e._v(" "),r("tbody",[r("tr",[r("td",[e._v("cloud-eureka域名")]),e._v(" "),r("td",[e._v("cloud-eureka.example.demo.eip.work")]),e._v(" "),r("td",[e._v("使用您自己的域名,"),r("br"),e._v("在测试环境建议使用如下域名格式:"),r("br"),e._v("workloadname.namespace-name.cluster-name.domain.com"),r("br"),e._v("该域名应该解析到您worker节点的外网地址,或者worker 节点 80/443 端口对应负载均衡服务器的外网地址。")])]),e._v(" "),r("tr",[r("td",[e._v("web-example")]),e._v(" "),r("td",[e._v("web-example.example.demo.eip")]),e._v(" "),r("td")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(310),alt:"image-20190723121019167"}})]),e._v(" "),r("ul",[r("li",[e._v("点击***下一步***")])]),e._v(" "),r("p",[r("img",{attrs:{src:a(311),alt:"image-20190723121035917"}})]),e._v(" "),r("ul",[r("li",[e._v("点击 "),r("em",[r("strong",[e._v("确定")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(312),alt:"image-20190723121055648"}})]),e._v(" "),r("ul",[r("li",[e._v("点击 "),r("em",[r("strong",[e._v("应用")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(313),alt:"image-20190723121117514"}})]),e._v(" "),r("ul",[r("li",[e._v("点击 "),r("em",[r("strong",[e._v("完成")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(314),alt:"image-20190723121132991"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 "),r("em",[r("strong",[e._v("已完成")])])]),e._v(" "),r("p",[e._v("可再名称空间中查看到刚才导入的 example 的所有工作负载及存储卷声明")])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(98),alt:"image-20190723121433809"}})]),e._v(" "),r("h2",{attrs:{id:"验证-web-example"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#验证-web-example","aria-hidden":"true"}},[e._v("#")]),e._v(" 验证 web-example")]),e._v(" "),r("ul",[r("li",[e._v("点击工作负载 "),r("em",[r("strong",[e._v("web-example")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(315),alt:"image-20190723121412027"}})]),e._v(" "),r("ul",[r("li",[r("p",[e._v("点击 互联网入口中的域名 "),r("em",[r("strong",[e._v("http://web-example.example.demo.eip.work")])])]),e._v(" "),r("p",[r("strong",[e._v("Example 部署成功")])])])]),e._v(" "),r("p",[r("img",{attrs:{src:a(316),alt:"image-20190717193548703"}})]),e._v(" "),r("blockquote",[r("p",[e._v("web-example容器的日志中会出现如下异常,错误原因是,example使用了一个监控套件,该监控套件要求将容器注册到monitor-eureka中,当下我们并没有安装该监控套件。此错误并不影响 example 程序的使用。暂时忽略该异常。")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[e._v("[DiscoveryClient-InstanceInfoReplicator-0] WARN com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient - Request execution failed with message: java.net.UnknownHostException: monitor-eureka\n[DiscoveryClient-InstanceInfoReplicator-0] WARN com.netflix.discovery.DiscoveryClient - DiscoveryClient_WEB-ADMIN/web-example-7f668c75db-j7ncx - registration failed Cannot execute request on any known server\ncom.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server\n at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)\n at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)\n at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:829)\n at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121)\n at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n at java.util.concurrent.FutureTask.run(FutureTask.java:266)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n at java.lang.Thread.run(Thread.java:748)\n[DiscoveryClient-InstanceInfoReplicator-0] WARN com.netflix.discovery.InstanceInfoReplicator - There was a problem with the instance info replicator\ncom.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server\n at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)\n at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)\n at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)\n at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:829)\n at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121)\n at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n at java.util.concurrent.FutureTask.run(FutureTask.java:266)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n at java.lang.Thread.run(Thread.java:748)\n")])])])])])},[],!1,null,null,null);t.default=o.exports},98:function(e,t,a){e.exports=a.p+"assets/img/image-20190723121433809.7a1b4b00.png"},99:function(e,t,a){e.exports=a.p+"assets/img/image-20190723115721514.bf981ef3.png"}}]); \ No newline at end of file diff --git a/docs/assets/js/5.9517076c.js b/docs/assets/js/5.b9050099.js similarity index 83% rename from docs/assets/js/5.9517076c.js rename to docs/assets/js/5.b9050099.js index 1cf074c..9606e9c 100644 --- a/docs/assets/js/5.9517076c.js +++ b/docs/assets/js/5.b9050099.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{210:function(t,v,_){t.exports=_.p+"assets/img/image-20190717113807552.b3fe5f7d.png"},211:function(t,v,_){t.exports=_.p+"assets/img/image-20190717114304953.854b47d8.png"},212:function(t,v,_){t.exports=_.p+"assets/img/image-20190717114354610.6d522c25.png"},213:function(t,v,_){t.exports=_.p+"assets/img/image-20190717115020848.eec5a17e.png"},214:function(t,v,_){t.exports=_.p+"assets/img/image-20190717115403374.48894c27.png"},215:function(t,v,_){t.exports=_.p+"assets/img/image-20190717115457614.c7f0d044.png"},216:function(t,v,_){t.exports=_.p+"assets/img/image-20190717115829821.63b81f36.png"},217:function(t,v,_){t.exports=_.p+"assets/img/image-20190723112105018.a27c638f.png"},218:function(t,v,_){t.exports=_.p+"assets/img/image-20190723112143032.7a5220bd.png"},219:function(t,v,_){t.exports=_.p+"assets/img/image-20190723112204681.8279ca8f.png"},220:function(t,v,_){t.exports=_.p+"assets/img/image-20190723113250521.3b80f3d2.png"},221:function(t,v,_){t.exports=_.p+"assets/img/image-20190723113312360.a3a51c0c.png"},342:function(t,v,_){"use strict";_.r(v);var a=_(2),r=Object(a.a)({},function(){var t=this,v=t.$createElement,a=t._self._c||v;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"存储空间管理"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#存储空间管理","aria-hidden":"true"}},[t._v("#")]),t._v(" 存储空间管理")]),t._v(" "),a("h2",{attrs:{id:"创建存储类"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#创建存储类","aria-hidden":"true"}},[t._v("#")]),t._v(" 创建存储类")]),t._v(" "),a("p",[t._v("前提")]),t._v(" "),a("p",[t._v("必须具备如下条件:")]),t._v(" "),a("ul",[a("li",[t._v("Kubernetes 集群 (安装在阿里云,本文将使用阿里云的 NFS 服务作为存储资源,Kuboard 也可以运行在其他云环境或者私有环境中。)")]),t._v(" "),a("li",[t._v("已在集群中安装 Kuboard")])]),t._v(" "),a("h3",{attrs:{id:"在阿里云创建-nas-服务"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#在阿里云创建-nas-服务","aria-hidden":"true"}},[t._v("#")]),t._v(" 在阿里云创建 NAS 服务")]),t._v(" "),a("p",[t._v("如果您在其他 IaaS 供应商搭建了 Kubernetes 集群,请参考该 IaaS 供应商的文档,创建 NFS 服务。您也可以自行搭建 NFS 服务器,用来为 Kubernetes 集群提供存储资源。")]),t._v(" "),a("ul",[a("li",[t._v("进入阿里云 "),a("em",[a("strong",[t._v("文件存储 NAS 服务")])]),t._v(" 控制台")])]),t._v(" "),a("p",[t._v("登录 www.aliyun.com 后,在控制台界面的产品与服务中选择 "),a("em",[a("strong",[t._v("文件存储 NAS")])])]),t._v(" "),a("p",[t._v("如下图所示")]),t._v(" "),a("p",[a("img",{attrs:{src:_(210),alt:"image-20190717113807552"}})]),t._v(" "),a("ul",[a("li",[t._v("在 "),a("em",[a("strong",[t._v("文件存储 NAS")])]),t._v(" 控制台中点击 "),a("em",[a("strong",[t._v("创建文件系统")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(211),alt:"image-20190717114304953"}})]),t._v(" "),a("ul",[a("li",[t._v("填写表单")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("字段名称")]),t._v(" "),a("th",[t._v("填写内容")]),t._v(" "),a("th",[t._v("说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("地域")]),t._v(" "),a("td",[t._v("请选择您的 Kubernetes 集群所在的地域")]),t._v(" "),a("td",[t._v("文件系统所在地域")])]),t._v(" "),a("tr",[a("td",[t._v("存储类型")]),t._v(" "),a("td",[t._v("容量型 / 或 SSD型")]),t._v(" "),a("td",[t._v("测试目的,使用价格便宜的容量型即可")])]),t._v(" "),a("tr",[a("td",[t._v("协议类型")]),t._v(" "),a("td",[t._v("NFS")]),t._v(" "),a("td",[t._v("请选择NFS")])]),t._v(" "),a("tr",[a("td",[t._v("可用区")]),t._v(" "),a("td",[t._v("请选择您的 Kubernetes 集群所在的可用区")]),t._v(" "),a("td",[t._v("文件系统所在可用区")])]),t._v(" "),a("tr",[a("td",[t._v("存储包")]),t._v(" "),a("td",[t._v("如果当下没有存储包,可以后续绑定")]),t._v(" "),a("td",[t._v("不绑定存储包,将无法使用该文件系统")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(212),alt:"image-20190717114354610"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("确定")])])])]),t._v(" "),a("p",[t._v("点击确定后,可查看到该文件系统已创建成功")]),t._v(" "),a("p",[a("img",{attrs:{src:_(213),alt:"image-20190717115020848"}})]),t._v(" "),a("ul",[a("li",[t._v("绑定存储包")])]),t._v(" "),a("p",[t._v("请自行在阿里云中为该文件系统绑定存储包,如果不绑定存储包,将无法使用该文件系统。")]),t._v(" "),a("ul",[a("li",[t._v("点击刚创建文件系统的 "),a("em",[a("strong",[t._v("管理")])]),t._v(" 按钮")])]),t._v(" "),a("p",[a("img",{attrs:{src:_(214),alt:"image-20190717115403374"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("添加挂载点")])])])]),t._v(" "),a("p",[t._v("并填写表单")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("字段名称")]),t._v(" "),a("th",[t._v("填写内容")]),t._v(" "),a("th",[t._v("说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("挂载点类型")]),t._v(" "),a("td",[t._v("专有网络")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[t._v("VPC网络")]),t._v(" "),a("td",[t._v("请选择您的 Kubernetes 集群所在的VPC")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[t._v("交换机")]),t._v(" "),a("td",[t._v("请选择您的 Kubernetes 集群所在的交换机")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[t._v("权限组")]),t._v(" "),a("td",[t._v("VPC默认权限组(全部允许)")]),t._v(" "),a("td",[t._v("请选择全部允许")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(215),alt:"image-20190717115457614"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("确定")])])])]),t._v(" "),a("p",[t._v("点击确定后,将完成挂载点创建,如下图所示:")]),t._v(" "),a("p",[a("img",{attrs:{src:_(216),alt:"image-20190717115829821"}})]),t._v(" "),a("ul",[a("li",[t._v("获取 NFS 连接参数:")])]),t._v(" "),a("p",[t._v("在上图界面中,将 "),a("em",[a("strong",[t._v("V4 Mount")])]),t._v(" 的指令复制下来后,如下所示:")]),t._v(" "),a("div",{staticStyle:{"font-family":"Monaco,Menlo,Consolas,Bitstream Vera Sans Mono,monospace",padding:"20px","background-color":"rgb(244, 244, 245)","border-radius":"4px"}},[t._v("\nsudo mount -t nfs -o vers=4,minorversion=0,noresvport "),a("span",{staticStyle:{color:"red","background-color":"rgb(254, 240, 240)"}},[t._v("189344a39c-lex38.cn-beijing.nas.aliyuncs.com")]),t._v(":"),a("span",{staticStyle:{color:"blue","background-color":"rgb(217, 236, 255)"}},[t._v("/")]),t._v(" /mnt\n")]),t._v(" "),a("p",[t._v("其中红色字体的文字为 NFS Server 的地址,蓝色字体的文字为 NFS Path。如下表所示:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("字段名称")]),t._v(" "),a("th",[t._v("字段取值")]),t._v(" "),a("th",[t._v("说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("NFS Server")]),t._v(" "),a("td",[t._v("189344a39c-lex38.cn-beijing.nas.aliyuncs.com")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[t._v("NFS Path")]),t._v(" "),a("td",[t._v("/")]),t._v(" "),a("td",[t._v("NFS Server和NFS Path以冒号分隔")])])])]),t._v(" "),a("h3",{attrs:{id:"在-kuboard-创建存储类"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#在-kuboard-创建存储类","aria-hidden":"true"}},[t._v("#")]),t._v(" 在 Kuboard 创建存储类")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("进入 Kuboard "),a("em",[a("strong",[t._v("集群概览页")])])]),t._v(" "),a("p",[t._v("参考 "),a("a",{attrs:{href:"install/install-dashboard?id=%E8%AE%BF%E9%97%AE"}},[t._v("访问 Kuboard")])]),t._v(" "),a("p",[t._v("如下图所示:")])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(217),alt:"image-20190723112105018"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("点击 "),a("em",[a("strong",[t._v("创建存储类")])])]),t._v(" "),a("p",[t._v("填写表单")])])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("字段名称")]),t._v(" "),a("th",[t._v("填写内容")]),t._v(" "),a("th",[t._v("说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("名称")]),t._v(" "),a("td",[t._v("cluster-storage")]),t._v(" "),a("td",[t._v("填写你喜欢的名称")])]),t._v(" "),a("tr",[a("td",[t._v("限定名称空间")]),t._v(" "),a("td",[t._v("不填写")]),t._v(" "),a("td",[t._v("如果限定名称空间,"),a("br"),t._v("则在 Kuboard 中,您只能在指定的名称空间中使用该存储类"),a("br"),t._v("在 kubectl 中,不受影响")])]),t._v(" "),a("tr",[a("td",[t._v("存储类型")]),t._v(" "),a("td",[t._v("NFS")]),t._v(" "),a("td",[t._v("目前 Kuboard 只支持 NFS,将要增加其他类型的存储,如 CephFS、Cinder 等")])]),t._v(" "),a("tr",[a("td",[t._v("回收策略")]),t._v(" "),a("td",[t._v("回收后删除")]),t._v(" "),a("td",[t._v("当该存储类创建的 存储卷(Persistent Volume)被删除后,之前该存储卷中的文件可以被:回收后删除 / 回收后保留")])]),t._v(" "),a("tr",[a("td",[t._v("存储卷绑定模式")]),t._v(" "),a("td",[t._v("首次使用时绑定")]),t._v(" "),a("td",[t._v("即刻绑定:当 存储卷被创建时,就在 NFS 中为其分配空间,并绑定;"),a("br"),t._v("首次使用时绑定: 在存储卷被第一次使用到时,才绑定")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(218),alt:"image-20190723112143032"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("保存")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(219),alt:"image-20190723112204681"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("应用")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(220),alt:"image-20190723113250521"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("点击 "),a("em",[a("strong",[t._v("完成")])])]),t._v(" "),a("p",[t._v("此时可在存储资源列表中查看到刚创建的存储类")])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(221),alt:"image-20190723113312360"}})])])},[],!1,null,null,null);v.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{206:function(t,v,_){t.exports=_.p+"assets/img/image-20190717113807552.b3fe5f7d.png"},207:function(t,v,_){t.exports=_.p+"assets/img/image-20190717114304953.854b47d8.png"},208:function(t,v,_){t.exports=_.p+"assets/img/image-20190717114354610.6d522c25.png"},209:function(t,v,_){t.exports=_.p+"assets/img/image-20190717115020848.eec5a17e.png"},210:function(t,v,_){t.exports=_.p+"assets/img/image-20190717115403374.48894c27.png"},211:function(t,v,_){t.exports=_.p+"assets/img/image-20190717115457614.c7f0d044.png"},212:function(t,v,_){t.exports=_.p+"assets/img/image-20190717115829821.63b81f36.png"},213:function(t,v,_){t.exports=_.p+"assets/img/image-20190723112105018.a27c638f.png"},214:function(t,v,_){t.exports=_.p+"assets/img/image-20190723112143032.7a5220bd.png"},215:function(t,v,_){t.exports=_.p+"assets/img/image-20190723112204681.8279ca8f.png"},216:function(t,v,_){t.exports=_.p+"assets/img/image-20190723113250521.3b80f3d2.png"},217:function(t,v,_){t.exports=_.p+"assets/img/image-20190723113312360.a3a51c0c.png"},343:function(t,v,_){"use strict";_.r(v);var a=_(2),r=Object(a.a)({},function(){var t=this,v=t.$createElement,a=t._self._c||v;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"存储空间管理"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#存储空间管理","aria-hidden":"true"}},[t._v("#")]),t._v(" 存储空间管理")]),t._v(" "),a("h2",{attrs:{id:"创建存储类"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#创建存储类","aria-hidden":"true"}},[t._v("#")]),t._v(" 创建存储类")]),t._v(" "),a("p",[t._v("前提")]),t._v(" "),a("p",[t._v("必须具备如下条件:")]),t._v(" "),a("ul",[a("li",[t._v("Kubernetes 集群 (安装在阿里云,本文将使用阿里云的 NFS 服务作为存储资源,Kuboard 也可以运行在其他云环境或者私有环境中。)")]),t._v(" "),a("li",[t._v("已在集群中安装 Kuboard")])]),t._v(" "),a("h3",{attrs:{id:"在阿里云创建-nas-服务"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#在阿里云创建-nas-服务","aria-hidden":"true"}},[t._v("#")]),t._v(" 在阿里云创建 NAS 服务")]),t._v(" "),a("p",[t._v("如果您在其他 IaaS 供应商搭建了 Kubernetes 集群,请参考该 IaaS 供应商的文档,创建 NFS 服务。您也可以自行搭建 NFS 服务器,用来为 Kubernetes 集群提供存储资源。")]),t._v(" "),a("ul",[a("li",[t._v("进入阿里云 "),a("em",[a("strong",[t._v("文件存储 NAS 服务")])]),t._v(" 控制台")])]),t._v(" "),a("p",[t._v("登录 www.aliyun.com 后,在控制台界面的产品与服务中选择 "),a("em",[a("strong",[t._v("文件存储 NAS")])])]),t._v(" "),a("p",[t._v("如下图所示")]),t._v(" "),a("p",[a("img",{attrs:{src:_(206),alt:"image-20190717113807552"}})]),t._v(" "),a("ul",[a("li",[t._v("在 "),a("em",[a("strong",[t._v("文件存储 NAS")])]),t._v(" 控制台中点击 "),a("em",[a("strong",[t._v("创建文件系统")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(207),alt:"image-20190717114304953"}})]),t._v(" "),a("ul",[a("li",[t._v("填写表单")])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("字段名称")]),t._v(" "),a("th",[t._v("填写内容")]),t._v(" "),a("th",[t._v("说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("地域")]),t._v(" "),a("td",[t._v("请选择您的 Kubernetes 集群所在的地域")]),t._v(" "),a("td",[t._v("文件系统所在地域")])]),t._v(" "),a("tr",[a("td",[t._v("存储类型")]),t._v(" "),a("td",[t._v("容量型 / 或 SSD型")]),t._v(" "),a("td",[t._v("测试目的,使用价格便宜的容量型即可")])]),t._v(" "),a("tr",[a("td",[t._v("协议类型")]),t._v(" "),a("td",[t._v("NFS")]),t._v(" "),a("td",[t._v("请选择NFS")])]),t._v(" "),a("tr",[a("td",[t._v("可用区")]),t._v(" "),a("td",[t._v("请选择您的 Kubernetes 集群所在的可用区")]),t._v(" "),a("td",[t._v("文件系统所在可用区")])]),t._v(" "),a("tr",[a("td",[t._v("存储包")]),t._v(" "),a("td",[t._v("如果当下没有存储包,可以后续绑定")]),t._v(" "),a("td",[t._v("不绑定存储包,将无法使用该文件系统")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(208),alt:"image-20190717114354610"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("确定")])])])]),t._v(" "),a("p",[t._v("点击确定后,可查看到该文件系统已创建成功")]),t._v(" "),a("p",[a("img",{attrs:{src:_(209),alt:"image-20190717115020848"}})]),t._v(" "),a("ul",[a("li",[t._v("绑定存储包")])]),t._v(" "),a("p",[t._v("请自行在阿里云中为该文件系统绑定存储包,如果不绑定存储包,将无法使用该文件系统。")]),t._v(" "),a("ul",[a("li",[t._v("点击刚创建文件系统的 "),a("em",[a("strong",[t._v("管理")])]),t._v(" 按钮")])]),t._v(" "),a("p",[a("img",{attrs:{src:_(210),alt:"image-20190717115403374"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("添加挂载点")])])])]),t._v(" "),a("p",[t._v("并填写表单")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("字段名称")]),t._v(" "),a("th",[t._v("填写内容")]),t._v(" "),a("th",[t._v("说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("挂载点类型")]),t._v(" "),a("td",[t._v("专有网络")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[t._v("VPC网络")]),t._v(" "),a("td",[t._v("请选择您的 Kubernetes 集群所在的VPC")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[t._v("交换机")]),t._v(" "),a("td",[t._v("请选择您的 Kubernetes 集群所在的交换机")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[t._v("权限组")]),t._v(" "),a("td",[t._v("VPC默认权限组(全部允许)")]),t._v(" "),a("td",[t._v("请选择全部允许")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(211),alt:"image-20190717115457614"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("确定")])])])]),t._v(" "),a("p",[t._v("点击确定后,将完成挂载点创建,如下图所示:")]),t._v(" "),a("p",[a("img",{attrs:{src:_(212),alt:"image-20190717115829821"}})]),t._v(" "),a("ul",[a("li",[t._v("获取 NFS 连接参数:")])]),t._v(" "),a("p",[t._v("在上图界面中,将 "),a("em",[a("strong",[t._v("V4 Mount")])]),t._v(" 的指令复制下来后,如下所示:")]),t._v(" "),a("div",{staticStyle:{"font-family":"Monaco,Menlo,Consolas,Bitstream Vera Sans Mono,monospace",padding:"20px","background-color":"rgb(244, 244, 245)","border-radius":"4px"}},[t._v("\nsudo mount -t nfs -o vers=4,minorversion=0,noresvport "),a("span",{staticStyle:{color:"red","background-color":"rgb(254, 240, 240)"}},[t._v("189344a39c-lex38.cn-beijing.nas.aliyuncs.com")]),t._v(":"),a("span",{staticStyle:{color:"blue","background-color":"rgb(217, 236, 255)"}},[t._v("/")]),t._v(" /mnt\n")]),t._v(" "),a("p",[t._v("其中红色字体的文字为 NFS Server 的地址,蓝色字体的文字为 NFS Path。如下表所示:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("字段名称")]),t._v(" "),a("th",[t._v("字段取值")]),t._v(" "),a("th",[t._v("说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("NFS Server")]),t._v(" "),a("td",[t._v("189344a39c-lex38.cn-beijing.nas.aliyuncs.com")]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[t._v("NFS Path")]),t._v(" "),a("td",[t._v("/")]),t._v(" "),a("td",[t._v("NFS Server和NFS Path以冒号分隔")])])])]),t._v(" "),a("h3",{attrs:{id:"在-kuboard-创建存储类"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#在-kuboard-创建存储类","aria-hidden":"true"}},[t._v("#")]),t._v(" 在 Kuboard 创建存储类")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("进入 Kuboard "),a("em",[a("strong",[t._v("集群概览页")])])]),t._v(" "),a("p",[t._v("参考 "),a("a",{attrs:{href:"install/install-dashboard?id=%E8%AE%BF%E9%97%AE"}},[t._v("访问 Kuboard")])]),t._v(" "),a("p",[t._v("如下图所示:")])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(213),alt:"image-20190723112105018"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("点击 "),a("em",[a("strong",[t._v("创建存储类")])])]),t._v(" "),a("p",[t._v("填写表单")])])]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("字段名称")]),t._v(" "),a("th",[t._v("填写内容")]),t._v(" "),a("th",[t._v("说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("名称")]),t._v(" "),a("td",[t._v("cluster-storage")]),t._v(" "),a("td",[t._v("填写你喜欢的名称")])]),t._v(" "),a("tr",[a("td",[t._v("限定名称空间")]),t._v(" "),a("td",[t._v("不填写")]),t._v(" "),a("td",[t._v("如果限定名称空间,"),a("br"),t._v("则在 Kuboard 中,您只能在指定的名称空间中使用该存储类"),a("br"),t._v("在 kubectl 中,不受影响")])]),t._v(" "),a("tr",[a("td",[t._v("存储类型")]),t._v(" "),a("td",[t._v("NFS")]),t._v(" "),a("td",[t._v("目前 Kuboard 只支持 NFS,将要增加其他类型的存储,如 CephFS、Cinder 等")])]),t._v(" "),a("tr",[a("td",[t._v("回收策略")]),t._v(" "),a("td",[t._v("回收后删除")]),t._v(" "),a("td",[t._v("当该存储类创建的 存储卷(Persistent Volume)被删除后,之前该存储卷中的文件可以被:回收后删除 / 回收后保留")])]),t._v(" "),a("tr",[a("td",[t._v("存储卷绑定模式")]),t._v(" "),a("td",[t._v("首次使用时绑定")]),t._v(" "),a("td",[t._v("即刻绑定:当 存储卷被创建时,就在 NFS 中为其分配空间,并绑定;"),a("br"),t._v("首次使用时绑定: 在存储卷被第一次使用到时,才绑定")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(214),alt:"image-20190723112143032"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("保存")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(215),alt:"image-20190723112204681"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("应用")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(216),alt:"image-20190723113250521"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("点击 "),a("em",[a("strong",[t._v("完成")])])]),t._v(" "),a("p",[t._v("此时可在存储资源列表中查看到刚创建的存储类")])])]),t._v(" "),a("p",[a("img",{attrs:{src:_(217),alt:"image-20190723113312360"}})])])},[],!1,null,null,null);v.default=r.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/6.3bab9674.js b/docs/assets/js/6.4cbea86a.js similarity index 99% rename from docs/assets/js/6.3bab9674.js rename to docs/assets/js/6.4cbea86a.js index 2398cb7..ca311f0 100644 --- a/docs/assets/js/6.3bab9674.js +++ b/docs/assets/js/6.4cbea86a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{256:function(t,e,s){t.exports=s.p+"assets/img/image-20190720232405147.8fc011f9.png"},257:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233322837.998be85a.png"},258:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233348284.2360801d.png"},259:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233412812.4f5ce20f.png"},260:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233436465.6d8cf61e.png"},261:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233512996.d7ba2b19.png"},262:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000526434.cfdf2d30.png"},263:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000759925.bb32a332.png"},264:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000822458.5797bca7.png"},265:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000847954.6f05e4b8.png"},266:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000919933.3a1d313e.png"},267:function(t,e,s){t.exports=s.p+"assets/img/image-20190721100715898.f0faa9aa.png"},339:function(t,e,s){"use strict";s.r(e);var a=s(2),v=Object(a.a)({},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"日常调整"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日常调整","aria-hidden":"true"}},[t._v("#")]),t._v(" 日常调整")]),t._v(" "),a("h2",{attrs:{id:"前提"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[t._v("#")]),t._v(" 前提")]),t._v(" "),a("p",[t._v("必须具备如下条件:")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("Kubernetes 集群")])]),t._v(" "),a("li",[a("p",[t._v("已在集群中安装 Kuboard")])])]),t._v(" "),a("p",[t._v("假设您一进入 "),a("em",[a("strong",[t._v("example")])]),t._v(" 名称空间页面,如下图所示:")]),t._v(" "),a("p",[a("img",{attrs:{src:s(256),alt:"image-20190720232405147"}})]),t._v(" "),a("h2",{attrs:{id:"批量删除容器组"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#批量删除容器组","aria-hidden":"true"}},[t._v("#")]),t._v(" 批量删除容器组")]),t._v(" "),a("p",[t._v("批量删除容器组特别适用于 "),a("strong",[t._v("开发测试环境的版本更新")]),t._v(" 场景,描述如下:")]),t._v(" "),a("ul",[a("li",[t._v("开发/测试环境中,开发人员提交代码")]),t._v(" "),a("li",[t._v("DevOps环境自动构建出 docker 镜像,并将 docker 镜像推送到仓库;\n"),a("ul",[a("li",[t._v("如果您的 devops 环境只在生成新的 branch 或者 tag 时,生成镜像的新 version,那么原镜像标签的实际镜像已发生改变。")])])]),t._v(" "),a("li",[t._v("从 Kubernetes 中删除该镜像的 容器组")]),t._v(" "),a("li",[t._v("Kubernetes 创建新的 容器组,并且该容器组重新从镜像仓库拉取最新的镜像")])]),t._v(" "),a("p",[t._v("在 Kuboard 中,"),a("em",[a("strong",[t._v("批量删除容器组")])]),t._v(" 的操作步骤为:")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("在名称空间页面点击 "),a("em",[a("strong",[t._v("容器组列表")])])]),t._v(" "),a("ul",[a("li",[a("p",[t._v("选择要筛选的应用分层,并点击刷新,")])]),t._v(" "),a("li",[a("p",[t._v("选择要删除的容器组")])])]),t._v(" "),a("p",[t._v("如下图所示:")])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(257),alt:"image-20190720233322837"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("删除")])]),t._v(" 按钮")])]),t._v(" "),a("p",[a("img",{attrs:{src:s(258),alt:"image-20190720233348284"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("确定")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(259),alt:"image-20190720233412812"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("应用")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(260),alt:"image-20190720233436465"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("点击 "),a("em",[a("strong",[t._v("完成")])])]),t._v(" "),a("p",[t._v("并等待,直到 kubernetes 完成对容器组的调整操作")]),t._v(" "),a("blockquote",[a("p",[t._v("Kuboard 会自动监听 kubernetes 执行此调整操作时的变化,您无需刷新页面,只要等待结果即可。")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(261),alt:"image-20190720233512996"}})]),t._v(" "),a("h2",{attrs:{id:"批量调整镜像版本"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#批量调整镜像版本","aria-hidden":"true"}},[t._v("#")]),t._v(" 批量调整镜像版本")]),t._v(" "),a("p",[t._v("批量调整镜像版本适用于如下场景:")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("需要更新容器所使用的镜像的版本号")]),t._v(" "),a("p",[t._v("通常是经过测试的版本,且 DevOps 环境在构建镜像时,为其生成了新的版本号")])])]),t._v(" "),a("p",[t._v("批量调整镜像版本的操作如下:")]),t._v(" "),a("ul",[a("li",[t._v("在名称空间页面点击 "),a("em",[a("strong",[t._v("调整镜像版本")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(262),alt:"image-20190721000526434"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("在要调整的镜像上点击 "),a("em",[a("strong",[t._v("修改")])])]),t._v(" "),a("p",[t._v("并填写新的镜像版本号,如下图所示:")])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(263),alt:"image-20190721000759925"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("执行变更")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(264),alt:"image-20190721000822458"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("应用")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(265),alt:"image-20190721000847954"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("点击 "),a("em",[a("strong",[t._v("完成")])])]),t._v(" "),a("p",[t._v("此时会进入容器组列表界面,请等待 Kubernetes 完成对容器组的调整(无需刷新页面)")])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(266),alt:"image-20190721000919933"}})]),t._v(" "),a("h2",{attrs:{id:"批量调整工作负载的副本数"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#批量调整工作负载的副本数","aria-hidden":"true"}},[t._v("#")]),t._v(" 批量调整工作负载的副本数")]),t._v(" "),a("p",[a("em",[a("strong",[t._v("调整容器镜像版本")])]),t._v(" 的功能界面中,也可以用来调整工作负载的副本数,如下图所示:")]),t._v(" "),a("p",[a("img",{attrs:{src:s(267),alt:"image-20190721100715898"}})])])},[],!1,null,null,null);e.default=v.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{256:function(t,e,s){t.exports=s.p+"assets/img/image-20190720232405147.8fc011f9.png"},257:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233322837.998be85a.png"},258:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233348284.2360801d.png"},259:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233412812.4f5ce20f.png"},260:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233436465.6d8cf61e.png"},261:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233512996.d7ba2b19.png"},262:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000526434.cfdf2d30.png"},263:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000759925.bb32a332.png"},264:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000822458.5797bca7.png"},265:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000847954.6f05e4b8.png"},266:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000919933.3a1d313e.png"},267:function(t,e,s){t.exports=s.p+"assets/img/image-20190721100715898.f0faa9aa.png"},340:function(t,e,s){"use strict";s.r(e);var a=s(2),v=Object(a.a)({},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"日常调整"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日常调整","aria-hidden":"true"}},[t._v("#")]),t._v(" 日常调整")]),t._v(" "),a("h2",{attrs:{id:"前提"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[t._v("#")]),t._v(" 前提")]),t._v(" "),a("p",[t._v("必须具备如下条件:")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("Kubernetes 集群")])]),t._v(" "),a("li",[a("p",[t._v("已在集群中安装 Kuboard")])])]),t._v(" "),a("p",[t._v("假设您一进入 "),a("em",[a("strong",[t._v("example")])]),t._v(" 名称空间页面,如下图所示:")]),t._v(" "),a("p",[a("img",{attrs:{src:s(256),alt:"image-20190720232405147"}})]),t._v(" "),a("h2",{attrs:{id:"批量删除容器组"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#批量删除容器组","aria-hidden":"true"}},[t._v("#")]),t._v(" 批量删除容器组")]),t._v(" "),a("p",[t._v("批量删除容器组特别适用于 "),a("strong",[t._v("开发测试环境的版本更新")]),t._v(" 场景,描述如下:")]),t._v(" "),a("ul",[a("li",[t._v("开发/测试环境中,开发人员提交代码")]),t._v(" "),a("li",[t._v("DevOps环境自动构建出 docker 镜像,并将 docker 镜像推送到仓库;\n"),a("ul",[a("li",[t._v("如果您的 devops 环境只在生成新的 branch 或者 tag 时,生成镜像的新 version,那么原镜像标签的实际镜像已发生改变。")])])]),t._v(" "),a("li",[t._v("从 Kubernetes 中删除该镜像的 容器组")]),t._v(" "),a("li",[t._v("Kubernetes 创建新的 容器组,并且该容器组重新从镜像仓库拉取最新的镜像")])]),t._v(" "),a("p",[t._v("在 Kuboard 中,"),a("em",[a("strong",[t._v("批量删除容器组")])]),t._v(" 的操作步骤为:")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("在名称空间页面点击 "),a("em",[a("strong",[t._v("容器组列表")])])]),t._v(" "),a("ul",[a("li",[a("p",[t._v("选择要筛选的应用分层,并点击刷新,")])]),t._v(" "),a("li",[a("p",[t._v("选择要删除的容器组")])])]),t._v(" "),a("p",[t._v("如下图所示:")])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(257),alt:"image-20190720233322837"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("删除")])]),t._v(" 按钮")])]),t._v(" "),a("p",[a("img",{attrs:{src:s(258),alt:"image-20190720233348284"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("确定")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(259),alt:"image-20190720233412812"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("应用")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(260),alt:"image-20190720233436465"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("点击 "),a("em",[a("strong",[t._v("完成")])])]),t._v(" "),a("p",[t._v("并等待,直到 kubernetes 完成对容器组的调整操作")]),t._v(" "),a("blockquote",[a("p",[t._v("Kuboard 会自动监听 kubernetes 执行此调整操作时的变化,您无需刷新页面,只要等待结果即可。")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(261),alt:"image-20190720233512996"}})]),t._v(" "),a("h2",{attrs:{id:"批量调整镜像版本"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#批量调整镜像版本","aria-hidden":"true"}},[t._v("#")]),t._v(" 批量调整镜像版本")]),t._v(" "),a("p",[t._v("批量调整镜像版本适用于如下场景:")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("需要更新容器所使用的镜像的版本号")]),t._v(" "),a("p",[t._v("通常是经过测试的版本,且 DevOps 环境在构建镜像时,为其生成了新的版本号")])])]),t._v(" "),a("p",[t._v("批量调整镜像版本的操作如下:")]),t._v(" "),a("ul",[a("li",[t._v("在名称空间页面点击 "),a("em",[a("strong",[t._v("调整镜像版本")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(262),alt:"image-20190721000526434"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("在要调整的镜像上点击 "),a("em",[a("strong",[t._v("修改")])])]),t._v(" "),a("p",[t._v("并填写新的镜像版本号,如下图所示:")])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(263),alt:"image-20190721000759925"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("执行变更")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(264),alt:"image-20190721000822458"}})]),t._v(" "),a("ul",[a("li",[t._v("点击 "),a("em",[a("strong",[t._v("应用")])])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(265),alt:"image-20190721000847954"}})]),t._v(" "),a("ul",[a("li",[a("p",[t._v("点击 "),a("em",[a("strong",[t._v("完成")])])]),t._v(" "),a("p",[t._v("此时会进入容器组列表界面,请等待 Kubernetes 完成对容器组的调整(无需刷新页面)")])])]),t._v(" "),a("p",[a("img",{attrs:{src:s(266),alt:"image-20190721000919933"}})]),t._v(" "),a("h2",{attrs:{id:"批量调整工作负载的副本数"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#批量调整工作负载的副本数","aria-hidden":"true"}},[t._v("#")]),t._v(" 批量调整工作负载的副本数")]),t._v(" "),a("p",[a("em",[a("strong",[t._v("调整容器镜像版本")])]),t._v(" 的功能界面中,也可以用来调整工作负载的副本数,如下图所示:")]),t._v(" "),a("p",[a("img",{attrs:{src:s(267),alt:"image-20190721100715898"}})])])},[],!1,null,null,null);e.default=v.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/8.cb1d9f62.js b/docs/assets/js/8.2e057e96.js similarity index 85% rename from docs/assets/js/8.cb1d9f62.js rename to docs/assets/js/8.2e057e96.js index 53f6531..0f31aec 100644 --- a/docs/assets/js/8.cb1d9f62.js +++ b/docs/assets/js/8.2e057e96.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{225:function(t,_,v){t.exports=v.p+"assets/img/image-20190723115852719.f1658660.png"},226:function(t,_,v){t.exports=v.p+"assets/img/image-20190723115912645.393d67ff.png"},227:function(t,_,v){t.exports=v.p+"assets/img/image-20190723115940862.dfeacc57.png"},228:function(t,_,v){t.exports=v.p+"assets/img/image-20190723120011972.0f0914c5.png"},229:function(t,_,v){t.exports=v.p+"assets/img/image-20190723120050894.9b1d6350.png"},230:function(t,_,v){t.exports=v.p+"assets/img/image-20190723120104474.617a620a.png"},231:function(t,_,v){t.exports=v.p+"assets/img/image-20190723120125425.a46d7874.png"},365:function(t,_,v){"use strict";v.r(_);var e=v(2),s=Object(e.a)({},function(){var t=this,_=t.$createElement,e=t._self._c||_;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"部署-busybox"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#部署-busybox","aria-hidden":"true"}},[t._v("#")]),t._v(" 部署 busybox")]),t._v(" "),e("h2",{attrs:{id:"前提"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[t._v("#")]),t._v(" 前提")]),t._v(" "),e("p",[t._v("必须具备如下条件:")]),t._v(" "),e("ul",[e("li",[t._v("Kubernetes 集群")]),t._v(" "),e("li",[t._v("已在集群中安装 Kuboard")])]),t._v(" "),e("p",[t._v("假设您已经进入了 Kuboard 名称空间界面,如下图所示。可参考 "),e("router-link",{attrs:{to:"/guide/cluster/namespace.html#创建名称空间"}},[t._v("创建名称空间")])],1),t._v(" "),e("p",[e("img",{attrs:{src:v(98),alt:"image-20190723115721514"}})]),t._v(" "),e("h2",{attrs:{id:"部署-busybox-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#部署-busybox-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 部署 busybox")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://hub.docker.com/_/busybox",target:"_blank",rel:"noopener noreferrer"}},[t._v("查看 busybox 介绍"),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("Busybox 是一个非常小巧(不到5M)的容器,此处用它来展示如何将一个 docker image 通过 Kuboard 部署到 kubernetes 集群中。")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击 "),e("em",[e("strong",[t._v("创建工作负载按钮")])])]),t._v(" "),e("p",[t._v("填写表单如下:")])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("字段名称")]),t._v(" "),e("th",[t._v("填写内容")]),t._v(" "),e("th",[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("服务类型")]),t._v(" "),e("td",[t._v("Deployment")]),t._v(" "),e("td",[t._v("Kubernetes 的 Deployment 类型")])]),t._v(" "),e("tr",[e("td",[t._v("服务分层")]),t._v(" "),e("td",[t._v("中间件")]),t._v(" "),e("td",[t._v("生成的Kuberenetes对象以 cloud- 作为前缀,"),e("br"),t._v("并显示在中间件分层中")])]),t._v(" "),e("tr",[e("td",[t._v("服务名称")]),t._v(" "),e("td",[t._v("busybox")]),t._v(" "),e("td",[t._v("显示在 Kuboard 中的名称")])]),t._v(" "),e("tr",[e("td",[t._v("副本数量")]),t._v(" "),e("td",[t._v("1")]),t._v(" "),e("td",[t._v("replicas")])]),t._v(" "),e("tr",[e("td",[t._v("容器名称")]),t._v(" "),e("td",[t._v("busybox")]),t._v(" "),e("td")]),t._v(" "),e("tr",[e("td",[t._v("镜像")]),t._v(" "),e("td",[t._v("busybox:1.29")]),t._v(" "),e("td",[t._v("hub.docker.com 中的 busybox 镜像")])]),t._v(" "),e("tr",[e("td",[t._v("Command")]),t._v(" "),e("td",[t._v("sleep")]),t._v(" "),e("td")]),t._v(" "),e("tr",[e("td",[t._v("Command")]),t._v(" "),e("td",[t._v("3600")]),t._v(" "),e("td")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(225),alt:"image-20190723115852719"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("完成表单填写后,点击***保存***")]),t._v(" "),e("p",[t._v("Kuboard 将对表单参数进行校验,通过后,方可执行对集群的变更操作。")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(226),alt:"image-20190723115912645"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击***应用***")]),t._v(" "),e("p",[t._v("Kuboard 执行对集群的变更操作,变更的过程中,产生的事件以通知消息的形式显示出来。")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(227),alt:"image-20190723115940862"}})]),t._v(" "),e("h2",{attrs:{id:"验证工作负载"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#验证工作负载","aria-hidden":"true"}},[t._v("#")]),t._v(" 验证工作负载")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击***完成***")]),t._v(" "),e("p",[t._v("点击完成后,可查看工作负载的信息。该界面分成四个区域:")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("页头区")]),t._v(" "),e("p",[t._v("页头区包含对该工作负载(本案例中为 Deployment)的操作按钮。可执行的操作有:"),e("em",[e("strong",[t._v("编辑")])]),t._v(" / "),e("em",[e("strong",[t._v("伸缩")])]),t._v(" / "),e("em",[e("strong",[t._v("刷新")])]),t._v(" / "),e("em",[e("strong",[t._v("删除")])])])]),t._v(" "),e("li",[e("p",[t._v("工作负载基本信息")]),t._v(" "),e("p",[t._v("基本信息区显示了工作负载的 "),e("em",[e("strong",[t._v("基本信息")])]),t._v(" 、"),e("em",[e("strong",[t._v("运行时信息")])]),t._v("、"),e("em",[e("strong",[t._v("访问方式")])]),t._v("(Service)、"),e("em",[e("strong",[t._v("互联网入口")])]),t._v("(Ingress)")])]),t._v(" "),e("li",[e("p",[t._v("容器组列表")]),t._v(" "),e("p",[t._v("容器组列表区显示了该当前对应的所有容器组(Pod),容器组列表区监听集群的动态变化,当您执行伸缩操作、或者删除容器组操作时,无需刷新,就可以查看到最新的容器组信息。")])]),t._v(" "),e("li",[e("p",[t._v("容器组详情")]),t._v(" "),e("p",[t._v("容器组详情区显示了当前选中容器组的信息,其中包括:")]),t._v(" "),e("ul",[e("li",[t._v("容器组相关事件")]),t._v(" "),e("li",[t._v("容器组基本信息,及删除容器组的操作按钮。(此区域还包括容器组相关的监控操作,监控模块在后续的章节中介绍)")]),t._v(" "),e("li",[t._v("容器基本信息,及查看容器日志、打开容器终端的按钮。(此区域还包括容器相关的监控操作,监控模块在后续的章节中介绍)")])])])])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(228),alt:"image-20190723120011972"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击***终端***")]),t._v(" "),e("p",[t._v("此时打开了该容器的控制台,Kuboard 默认使用 /bin/bash 终端程序,而 busybox 镜像中并不包含 /bin/bash,因此您会看到一个如下图所示的错误提示:")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(229),alt:"image-20190723120050894"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击***切换到 /bin/sh***")]),t._v(" "),e("p",[t._v("点击屏幕左上角的 "),e("em",[e("strong",[t._v("切换到 /bin/sh")])])])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(230),alt:"image-20190723120104474"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("输入 "),e("em",[t._v("export")]),t._v(" 并回车")]),t._v(" "),e("p",[t._v("输入 "),e("em",[t._v("export")]),t._v(" 并回车后,可查看该容器当前的环境变量。您也可以在终端中执行任何容器内部的命令。在您完成容器的部署之后,终端界面是非常有效的问题诊断工具之一。")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(231),alt:"image-20190723120125425"}})])])},[],!1,null,null,null);_.default=s.exports},98:function(t,_,v){t.exports=v.p+"assets/img/image-20190723115721514.bf981ef3.png"}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{249:function(t,_,v){t.exports=v.p+"assets/img/image-20190723115852719.f1658660.png"},250:function(t,_,v){t.exports=v.p+"assets/img/image-20190723115912645.393d67ff.png"},251:function(t,_,v){t.exports=v.p+"assets/img/image-20190723115940862.dfeacc57.png"},252:function(t,_,v){t.exports=v.p+"assets/img/image-20190723120011972.0f0914c5.png"},253:function(t,_,v){t.exports=v.p+"assets/img/image-20190723120050894.9b1d6350.png"},254:function(t,_,v){t.exports=v.p+"assets/img/image-20190723120104474.617a620a.png"},255:function(t,_,v){t.exports=v.p+"assets/img/image-20190723120125425.a46d7874.png"},359:function(t,_,v){"use strict";v.r(_);var e=v(2),s=Object(e.a)({},function(){var t=this,_=t.$createElement,e=t._self._c||_;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"部署-busybox"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#部署-busybox","aria-hidden":"true"}},[t._v("#")]),t._v(" 部署 busybox")]),t._v(" "),e("h2",{attrs:{id:"前提"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#前提","aria-hidden":"true"}},[t._v("#")]),t._v(" 前提")]),t._v(" "),e("p",[t._v("必须具备如下条件:")]),t._v(" "),e("ul",[e("li",[t._v("Kubernetes 集群")]),t._v(" "),e("li",[t._v("已在集群中安装 Kuboard")])]),t._v(" "),e("p",[t._v("假设您已经进入了 Kuboard 名称空间界面,如下图所示。可参考 "),e("router-link",{attrs:{to:"/guide/cluster/namespace.html#创建名称空间"}},[t._v("创建名称空间")])],1),t._v(" "),e("p",[e("img",{attrs:{src:v(99),alt:"image-20190723115721514"}})]),t._v(" "),e("h2",{attrs:{id:"部署-busybox-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#部署-busybox-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 部署 busybox")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://hub.docker.com/_/busybox",target:"_blank",rel:"noopener noreferrer"}},[t._v("查看 busybox 介绍"),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("Busybox 是一个非常小巧(不到5M)的容器,此处用它来展示如何将一个 docker image 通过 Kuboard 部署到 kubernetes 集群中。")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击 "),e("em",[e("strong",[t._v("创建工作负载按钮")])])]),t._v(" "),e("p",[t._v("填写表单如下:")])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("字段名称")]),t._v(" "),e("th",[t._v("填写内容")]),t._v(" "),e("th",[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("服务类型")]),t._v(" "),e("td",[t._v("Deployment")]),t._v(" "),e("td",[t._v("Kubernetes 的 Deployment 类型")])]),t._v(" "),e("tr",[e("td",[t._v("服务分层")]),t._v(" "),e("td",[t._v("中间件")]),t._v(" "),e("td",[t._v("生成的Kuberenetes对象以 cloud- 作为前缀,"),e("br"),t._v("并显示在中间件分层中")])]),t._v(" "),e("tr",[e("td",[t._v("服务名称")]),t._v(" "),e("td",[t._v("busybox")]),t._v(" "),e("td",[t._v("显示在 Kuboard 中的名称")])]),t._v(" "),e("tr",[e("td",[t._v("副本数量")]),t._v(" "),e("td",[t._v("1")]),t._v(" "),e("td",[t._v("replicas")])]),t._v(" "),e("tr",[e("td",[t._v("容器名称")]),t._v(" "),e("td",[t._v("busybox")]),t._v(" "),e("td")]),t._v(" "),e("tr",[e("td",[t._v("镜像")]),t._v(" "),e("td",[t._v("busybox:1.29")]),t._v(" "),e("td",[t._v("hub.docker.com 中的 busybox 镜像")])]),t._v(" "),e("tr",[e("td",[t._v("Command")]),t._v(" "),e("td",[t._v("sleep")]),t._v(" "),e("td")]),t._v(" "),e("tr",[e("td",[t._v("Command")]),t._v(" "),e("td",[t._v("3600")]),t._v(" "),e("td")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(249),alt:"image-20190723115852719"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("完成表单填写后,点击***保存***")]),t._v(" "),e("p",[t._v("Kuboard 将对表单参数进行校验,通过后,方可执行对集群的变更操作。")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(250),alt:"image-20190723115912645"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击***应用***")]),t._v(" "),e("p",[t._v("Kuboard 执行对集群的变更操作,变更的过程中,产生的事件以通知消息的形式显示出来。")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(251),alt:"image-20190723115940862"}})]),t._v(" "),e("h2",{attrs:{id:"验证工作负载"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#验证工作负载","aria-hidden":"true"}},[t._v("#")]),t._v(" 验证工作负载")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击***完成***")]),t._v(" "),e("p",[t._v("点击完成后,可查看工作负载的信息。该界面分成四个区域:")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("页头区")]),t._v(" "),e("p",[t._v("页头区包含对该工作负载(本案例中为 Deployment)的操作按钮。可执行的操作有:"),e("em",[e("strong",[t._v("编辑")])]),t._v(" / "),e("em",[e("strong",[t._v("伸缩")])]),t._v(" / "),e("em",[e("strong",[t._v("刷新")])]),t._v(" / "),e("em",[e("strong",[t._v("删除")])])])]),t._v(" "),e("li",[e("p",[t._v("工作负载基本信息")]),t._v(" "),e("p",[t._v("基本信息区显示了工作负载的 "),e("em",[e("strong",[t._v("基本信息")])]),t._v(" 、"),e("em",[e("strong",[t._v("运行时信息")])]),t._v("、"),e("em",[e("strong",[t._v("访问方式")])]),t._v("(Service)、"),e("em",[e("strong",[t._v("互联网入口")])]),t._v("(Ingress)")])]),t._v(" "),e("li",[e("p",[t._v("容器组列表")]),t._v(" "),e("p",[t._v("容器组列表区显示了该当前对应的所有容器组(Pod),容器组列表区监听集群的动态变化,当您执行伸缩操作、或者删除容器组操作时,无需刷新,就可以查看到最新的容器组信息。")])]),t._v(" "),e("li",[e("p",[t._v("容器组详情")]),t._v(" "),e("p",[t._v("容器组详情区显示了当前选中容器组的信息,其中包括:")]),t._v(" "),e("ul",[e("li",[t._v("容器组相关事件")]),t._v(" "),e("li",[t._v("容器组基本信息,及删除容器组的操作按钮。(此区域还包括容器组相关的监控操作,监控模块在后续的章节中介绍)")]),t._v(" "),e("li",[t._v("容器基本信息,及查看容器日志、打开容器终端的按钮。(此区域还包括容器相关的监控操作,监控模块在后续的章节中介绍)")])])])])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(252),alt:"image-20190723120011972"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击***终端***")]),t._v(" "),e("p",[t._v("此时打开了该容器的控制台,Kuboard 默认使用 /bin/bash 终端程序,而 busybox 镜像中并不包含 /bin/bash,因此您会看到一个如下图所示的错误提示:")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(253),alt:"image-20190723120050894"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("点击***切换到 /bin/sh***")]),t._v(" "),e("p",[t._v("点击屏幕左上角的 "),e("em",[e("strong",[t._v("切换到 /bin/sh")])])])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(254),alt:"image-20190723120104474"}})]),t._v(" "),e("ul",[e("li",[e("p",[t._v("输入 "),e("em",[t._v("export")]),t._v(" 并回车")]),t._v(" "),e("p",[t._v("输入 "),e("em",[t._v("export")]),t._v(" 并回车后,可查看该容器当前的环境变量。您也可以在终端中执行任何容器内部的命令。在您完成容器的部署之后,终端界面是非常有效的问题诊断工具之一。")])])]),t._v(" "),e("p",[e("img",{attrs:{src:v(255),alt:"image-20190723120125425"}})])])},[],!1,null,null,null);_.default=s.exports},99:function(t,_,v){t.exports=v.p+"assets/img/image-20190723115721514.bf981ef3.png"}}]); \ No newline at end of file diff --git a/docs/assets/js/9.32f7bb20.js b/docs/assets/js/9.45522864.js similarity index 99% rename from docs/assets/js/9.32f7bb20.js rename to docs/assets/js/9.45522864.js index 87d0586..c65c624 100644 --- a/docs/assets/js/9.32f7bb20.js +++ b/docs/assets/js/9.45522864.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{286:function(t,e,a){t.exports=a.p+"assets/img/image-20190722223454676.b545b43f.png"},287:function(t,e,a){t.exports=a.p+"assets/img/image-20190722223551308.ed106a2a.png"},288:function(t,e,a){t.exports=a.p+"assets/img/image-20190722223605920.3e762b29.png"},289:function(t,e,a){t.exports=a.p+"assets/img/image-20190722231246540.ebf13194.png"},290:function(t,e,a){t.exports=a.p+"assets/img/image-20190722224029397.abc44209.png"},291:function(t,e,a){t.exports=a.p+"assets/img/image-20190722225347491.984fabae.png"},292:function(t,e,a){t.exports=a.p+"assets/img/image-20190722225454029.73400267.png"},293:function(t,e,a){t.exports=a.p+"assets/img/image-20190722230511430.ed459354.png"},350:function(t,e,a){"use strict";a.r(e);var r=a(2),s=Object(r.a)({},function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"工作负载"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#工作负载","aria-hidden":"true"}},[t._v("#")]),t._v(" 工作负载")]),t._v(" "),r("h2",{attrs:{id:"创建-查看-编辑工作负载"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#创建-查看-编辑工作负载","aria-hidden":"true"}},[t._v("#")]),t._v(" 创建/查看/编辑工作负载")]),t._v(" "),r("p",[t._v("请参考 "),r("a",{attrs:{href:"/guide/example/busybox"}},[t._v("创建 busybox")])]),t._v(" "),r("h2",{attrs:{id:"伸缩"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#伸缩","aria-hidden":"true"}},[t._v("#")]),t._v(" 伸缩")]),t._v(" "),r("p",[t._v("伸缩操作,通过调整工作负载的 replicas 大小,来控制该工作负载运行容器组的数量。")]),t._v(" "),r("ul",[r("li",[t._v("假设您已进入工作负载查看界面,如下图所示:")])]),t._v(" "),r("p",[r("img",{attrs:{src:a(286),alt:"image-20190722223454676"}})]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("伸缩")])]),t._v(" 按钮")]),t._v(" "),r("p",[t._v("填写表单")]),t._v(" "),r("p",[t._v("副本数: 目标容器组数量")])])]),t._v(" "),r("p",[r("img",{attrs:{src:a(287),alt:"image-20190722223551308"}})]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("确定")])]),t._v(" 按钮")]),t._v(" "),r("p",[t._v("等待,知道伸缩操作执行完毕。")])])]),t._v(" "),r("p",[r("img",{attrs:{src:a(288),alt:"image-20190722223605920"}})]),t._v(" "),r("h2",{attrs:{id:"删除容器组"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#删除容器组","aria-hidden":"true"}},[t._v("#")]),t._v(" 删除容器组")]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("删除容器组")])]),t._v(" 按钮")]),t._v(" "),r("p",[t._v("可删除该容器组。")]),t._v(" "),r("ul",[r("li",[r("p",[t._v("容器组被删除之后,Kubernetes Workload Controller 将要重新创建一个容器组,用于替代被删除的容器组;被删除容器组原有的状态将丢失,新容器组重新从 镜像中加载启动;")])]),t._v(" "),r("li",[r("p",[t._v("Kuboard 的工作负载编辑器,默认将容器组的 imagePullPolicy 设置为 Alwarys,因此,每次在容器组启动的时候,Kubenetes 都会尝试从镜像仓库中抓取最新镜像;")])])])])]),t._v(" "),r("p",[r("img",{attrs:{src:a(289),alt:"image-20190722231246540"}})]),t._v(" "),r("h2",{attrs:{id:"诊断问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#诊断问题","aria-hidden":"true"}},[t._v("#")]),t._v(" 诊断问题")]),t._v(" "),r("p",[t._v("在诊断工作负载的问题时,Kuboard主要提供三种手段:")]),t._v(" "),r("h3",{attrs:{id:"事件:-kubernetes-部署相关问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#事件:-kubernetes-部署相关问题","aria-hidden":"true"}},[t._v("#")]),t._v(" 事件: Kubernetes 部署相关问题")]),t._v(" "),r("p",[t._v("如下图所示,图中提示")]),t._v(" "),r("blockquote",[r("p",[t._v("错误内容:Error: ErrImagePull 该容器组抓取镜像失败")]),t._v(" "),r("p",[t._v("失败原因:pull access denied for busy-box, repository does not exist or may require 'docker login'")])]),t._v(" "),r("p",[t._v("对于这样的错误,需要技术人员检查:")]),t._v(" "),r("ul",[r("li",[t._v("容器所在节点与镜像仓库之间的网络连通性")]),t._v(" "),r("li",[t._v("容器镜像拼写是否正确")]),t._v(" "),r("li",[t._v("如果为私有仓库,是否在工作负载编辑器中正确配置了 docker 仓库用户名密码")])]),t._v(" "),r("p",[t._v("!> Kuboard 监听了 Kubernetes 集群的事件变化,您无需刷新页面,即可在工作负载编辑器的容器组界面区域看到该容器相关的最新事件。")]),t._v(" "),r("p",[t._v("通过 Kubernetes 事件所指示出来的问题,通常是集群本身配置的问题,或者是创建工作负载时的参数填写问题,解决这样的问题需要的是 Kubernetes 集群相关的知识和背景,"),r("strong",[t._v("通常运维人员可以独立解决此类问题")]),t._v("。")]),t._v(" "),r("p",[r("img",{attrs:{src:a(290),alt:"image-20190722224029397"}})]),t._v(" "),r("h3",{attrs:{id:"日志:-容器运行时产生的错误"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#日志:-容器运行时产生的错误","aria-hidden":"true"}},[t._v("#")]),t._v(" 日志: 容器运行时产生的错误")]),t._v(" "),r("p",[t._v("如下图所示,假设您已进入工作负载查看界面:")]),t._v(" "),r("p",[r("img",{attrs:{src:a(291),alt:"image-20190722225347491"}})]),t._v(" "),r("ul",[r("li",[t._v("点击其中的 "),r("em",[r("strong",[t._v("日志")])]),t._v(" 按钮")])]),t._v(" "),r("p",[t._v("可查看该容器的运行时日志,如下图所示:")]),t._v(" "),r("p",[r("img",{attrs:{src:a(292),alt:"image-20190722225454029"}})]),t._v(" "),r("p",[r("strong",[t._v("容器运行时问题定位及解决")])]),t._v(" "),r("p",[t._v("日志所指示出来的错误,可能有两类原因:")]),t._v(" "),r("ul",[r("li",[t._v("将其容器部署到 Kubernetes 时,参数配置填写错误")]),t._v(" "),r("li",[t._v("容器内应用程序自身的 BUG")])]),t._v(" "),r("p",[t._v("无论是上述何种原因,运维人员如果请开发人员介入,一起排查这里问题,效果会好很多。")]),t._v(" "),r("h3",{attrs:{id:"终端:-通过交互式命令,在容器内诊断问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#终端:-通过交互式命令,在容器内诊断问题","aria-hidden":"true"}},[t._v("#")]),t._v(" 终端: 通过交互式命令,在容器内诊断问题")]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("终端")])]),t._v(" 按钮")]),t._v(" "),r("p",[t._v("可进入该容器的交互式命令界面")])])]),t._v(" "),r("p",[r("img",{attrs:{src:a(293),alt:"image-20190722230511430"}})]),t._v(" "),r("p",[r("strong",[t._v("适用场景")])]),t._v(" "),r("p",[t._v("在交互式终端里,"),r("strong",[t._v("运维人员")]),t._v("可以:")]),t._v(" "),r("ul",[r("li",[t._v("通过 ping / curl 等命令,测试网络连通性,测试 Kubernetes 的服务 DNS 解析是否正确")]),t._v(" "),r("li",[t._v("通过 export 命令检查该容器的环境变量的设置是否正确")])]),t._v(" "),r("p",[r("strong",[t._v("开发人员")]),t._v(" 可以:")]),t._v(" "),r("ul",[r("li",[t._v("通过 ls / cat / vi 等命令,查看该容器是否包含了最新的代码变更")]),t._v(" "),r("li",[t._v("通过 vi 等命令,临时对容器中的配置文件进行修改,并在验证这种修改有效之后,才将其正式更新到代码库")])])])},[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{286:function(t,e,a){t.exports=a.p+"assets/img/image-20190722223454676.b545b43f.png"},287:function(t,e,a){t.exports=a.p+"assets/img/image-20190722223551308.ed106a2a.png"},288:function(t,e,a){t.exports=a.p+"assets/img/image-20190722223605920.3e762b29.png"},289:function(t,e,a){t.exports=a.p+"assets/img/image-20190722231246540.ebf13194.png"},290:function(t,e,a){t.exports=a.p+"assets/img/image-20190722224029397.abc44209.png"},291:function(t,e,a){t.exports=a.p+"assets/img/image-20190722225347491.984fabae.png"},292:function(t,e,a){t.exports=a.p+"assets/img/image-20190722225454029.73400267.png"},293:function(t,e,a){t.exports=a.p+"assets/img/image-20190722230511430.ed459354.png"},336:function(t,e,a){"use strict";a.r(e);var r=a(2),s=Object(r.a)({},function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"工作负载"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#工作负载","aria-hidden":"true"}},[t._v("#")]),t._v(" 工作负载")]),t._v(" "),r("h2",{attrs:{id:"创建-查看-编辑工作负载"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#创建-查看-编辑工作负载","aria-hidden":"true"}},[t._v("#")]),t._v(" 创建/查看/编辑工作负载")]),t._v(" "),r("p",[t._v("请参考 "),r("a",{attrs:{href:"/guide/example/busybox"}},[t._v("创建 busybox")])]),t._v(" "),r("h2",{attrs:{id:"伸缩"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#伸缩","aria-hidden":"true"}},[t._v("#")]),t._v(" 伸缩")]),t._v(" "),r("p",[t._v("伸缩操作,通过调整工作负载的 replicas 大小,来控制该工作负载运行容器组的数量。")]),t._v(" "),r("ul",[r("li",[t._v("假设您已进入工作负载查看界面,如下图所示:")])]),t._v(" "),r("p",[r("img",{attrs:{src:a(286),alt:"image-20190722223454676"}})]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("伸缩")])]),t._v(" 按钮")]),t._v(" "),r("p",[t._v("填写表单")]),t._v(" "),r("p",[t._v("副本数: 目标容器组数量")])])]),t._v(" "),r("p",[r("img",{attrs:{src:a(287),alt:"image-20190722223551308"}})]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("确定")])]),t._v(" 按钮")]),t._v(" "),r("p",[t._v("等待,知道伸缩操作执行完毕。")])])]),t._v(" "),r("p",[r("img",{attrs:{src:a(288),alt:"image-20190722223605920"}})]),t._v(" "),r("h2",{attrs:{id:"删除容器组"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#删除容器组","aria-hidden":"true"}},[t._v("#")]),t._v(" 删除容器组")]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("删除容器组")])]),t._v(" 按钮")]),t._v(" "),r("p",[t._v("可删除该容器组。")]),t._v(" "),r("ul",[r("li",[r("p",[t._v("容器组被删除之后,Kubernetes Workload Controller 将要重新创建一个容器组,用于替代被删除的容器组;被删除容器组原有的状态将丢失,新容器组重新从 镜像中加载启动;")])]),t._v(" "),r("li",[r("p",[t._v("Kuboard 的工作负载编辑器,默认将容器组的 imagePullPolicy 设置为 Alwarys,因此,每次在容器组启动的时候,Kubenetes 都会尝试从镜像仓库中抓取最新镜像;")])])])])]),t._v(" "),r("p",[r("img",{attrs:{src:a(289),alt:"image-20190722231246540"}})]),t._v(" "),r("h2",{attrs:{id:"诊断问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#诊断问题","aria-hidden":"true"}},[t._v("#")]),t._v(" 诊断问题")]),t._v(" "),r("p",[t._v("在诊断工作负载的问题时,Kuboard主要提供三种手段:")]),t._v(" "),r("h3",{attrs:{id:"事件:-kubernetes-部署相关问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#事件:-kubernetes-部署相关问题","aria-hidden":"true"}},[t._v("#")]),t._v(" 事件: Kubernetes 部署相关问题")]),t._v(" "),r("p",[t._v("如下图所示,图中提示")]),t._v(" "),r("blockquote",[r("p",[t._v("错误内容:Error: ErrImagePull 该容器组抓取镜像失败")]),t._v(" "),r("p",[t._v("失败原因:pull access denied for busy-box, repository does not exist or may require 'docker login'")])]),t._v(" "),r("p",[t._v("对于这样的错误,需要技术人员检查:")]),t._v(" "),r("ul",[r("li",[t._v("容器所在节点与镜像仓库之间的网络连通性")]),t._v(" "),r("li",[t._v("容器镜像拼写是否正确")]),t._v(" "),r("li",[t._v("如果为私有仓库,是否在工作负载编辑器中正确配置了 docker 仓库用户名密码")])]),t._v(" "),r("p",[t._v("!> Kuboard 监听了 Kubernetes 集群的事件变化,您无需刷新页面,即可在工作负载编辑器的容器组界面区域看到该容器相关的最新事件。")]),t._v(" "),r("p",[t._v("通过 Kubernetes 事件所指示出来的问题,通常是集群本身配置的问题,或者是创建工作负载时的参数填写问题,解决这样的问题需要的是 Kubernetes 集群相关的知识和背景,"),r("strong",[t._v("通常运维人员可以独立解决此类问题")]),t._v("。")]),t._v(" "),r("p",[r("img",{attrs:{src:a(290),alt:"image-20190722224029397"}})]),t._v(" "),r("h3",{attrs:{id:"日志:-容器运行时产生的错误"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#日志:-容器运行时产生的错误","aria-hidden":"true"}},[t._v("#")]),t._v(" 日志: 容器运行时产生的错误")]),t._v(" "),r("p",[t._v("如下图所示,假设您已进入工作负载查看界面:")]),t._v(" "),r("p",[r("img",{attrs:{src:a(291),alt:"image-20190722225347491"}})]),t._v(" "),r("ul",[r("li",[t._v("点击其中的 "),r("em",[r("strong",[t._v("日志")])]),t._v(" 按钮")])]),t._v(" "),r("p",[t._v("可查看该容器的运行时日志,如下图所示:")]),t._v(" "),r("p",[r("img",{attrs:{src:a(292),alt:"image-20190722225454029"}})]),t._v(" "),r("p",[r("strong",[t._v("容器运行时问题定位及解决")])]),t._v(" "),r("p",[t._v("日志所指示出来的错误,可能有两类原因:")]),t._v(" "),r("ul",[r("li",[t._v("将其容器部署到 Kubernetes 时,参数配置填写错误")]),t._v(" "),r("li",[t._v("容器内应用程序自身的 BUG")])]),t._v(" "),r("p",[t._v("无论是上述何种原因,运维人员如果请开发人员介入,一起排查这里问题,效果会好很多。")]),t._v(" "),r("h3",{attrs:{id:"终端:-通过交互式命令,在容器内诊断问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#终端:-通过交互式命令,在容器内诊断问题","aria-hidden":"true"}},[t._v("#")]),t._v(" 终端: 通过交互式命令,在容器内诊断问题")]),t._v(" "),r("ul",[r("li",[r("p",[t._v("点击 "),r("em",[r("strong",[t._v("终端")])]),t._v(" 按钮")]),t._v(" "),r("p",[t._v("可进入该容器的交互式命令界面")])])]),t._v(" "),r("p",[r("img",{attrs:{src:a(293),alt:"image-20190722230511430"}})]),t._v(" "),r("p",[r("strong",[t._v("适用场景")])]),t._v(" "),r("p",[t._v("在交互式终端里,"),r("strong",[t._v("运维人员")]),t._v("可以:")]),t._v(" "),r("ul",[r("li",[t._v("通过 ping / curl 等命令,测试网络连通性,测试 Kubernetes 的服务 DNS 解析是否正确")]),t._v(" "),r("li",[t._v("通过 export 命令检查该容器的环境变量的设置是否正确")])]),t._v(" "),r("p",[r("strong",[t._v("开发人员")]),t._v(" 可以:")]),t._v(" "),r("ul",[r("li",[t._v("通过 ls / cat / vi 等命令,查看该容器是否包含了最新的代码变更")]),t._v(" "),r("li",[t._v("通过 vi 等命令,临时对容器中的配置文件进行修改,并在验证这种修改有效之后,才将其正式更新到代码库")])])])},[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/app.7f14774e.js b/docs/assets/js/app.d7069e96.js similarity index 87% rename from docs/assets/js/app.7f14774e.js rename to docs/assets/js/app.d7069e96.js index 518c767..d5ae069 100644 --- a/docs/assets/js/app.7f14774e.js +++ b/docs/assets/js/app.d7069e96.js @@ -1,4 +1,4 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,s=e[0],l=e[1],u=e[2],f=0,p=[];fn.e(28).then(n.bind(null,335)),Layout:()=>Promise.all([n.e(0),n.e(2)]).then(n.bind(null,333))},i={"v-cbd95058":()=>n.e(29).then(n.bind(null,348)),"v-77cc1ec7":()=>n.e(20).then(n.bind(null,347)),"v-796bf18c":()=>n.e(30).then(n.bind(null,345)),"v-46ec0327":()=>n.e(10).then(n.bind(null,344)),"v-986dbade":()=>n.e(18).then(n.bind(null,343)),"v-0a714732":()=>n.e(5).then(n.bind(null,342)),"v-8d4dfbb6":()=>n.e(21).then(n.bind(null,346)),"v-8658c2f2":()=>n.e(8).then(n.bind(null,365)),"v-76564011":()=>n.e(31).then(n.bind(null,366)),"v-7434c187":()=>n.e(3).then(n.bind(null,359)),"v-0996c938":()=>n.e(32).then(n.bind(null,352)),"v-4db1779e":()=>n.e(33).then(n.bind(null,340)),"v-c0fa0cf2":()=>n.e(6).then(n.bind(null,339)),"v-6c5acde7":()=>n.e(12).then(n.bind(null,338)),"v-1263fa20":()=>n.e(34).then(n.bind(null,351)),"v-9d44dcf2":()=>n.e(11).then(n.bind(null,337)),"v-240eddf2":()=>n.e(13).then(n.bind(null,367)),"v-7d2f6cc7":()=>n.e(14).then(n.bind(null,349)),"v-5db85fb7":()=>n.e(9).then(n.bind(null,350)),"v-5be22288":()=>n.e(26).then(n.bind(null,336)),"v-61ad5b01":()=>n.e(35).then(n.bind(null,353)),"v-4b91c5e7":()=>n.e(25).then(n.bind(null,354)),"v-c621d7f2":()=>n.e(36).then(n.bind(null,355)),"v-cfc76602":()=>n.e(16).then(n.bind(null,356)),"v-7249b1a4":()=>n.e(22).then(n.bind(null,357)),"v-5566a571":()=>n.e(17).then(n.bind(null,358)),"v-76626758":()=>n.e(27).then(n.bind(null,341)),"v-554543f9":()=>n.e(4).then(n.bind(null,361)),"v-292f2847":()=>n.e(15).then(n.bind(null,362)),"v-3732859b":()=>n.e(19).then(n.bind(null,364)),"v-0393ebb2":()=>n.e(7).then(n.bind(null,363))};function a(t){const e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}n.d(e,"d",function(){return y}),n.d(e,"c",function(){return b}),n.d(e,"b",function(){return _}),n.d(e,"e",function(){return w}),n.d(e,"a",function(){return x}),n.d(e,"f",function(){return k}),n.d(e,"g",function(){return $}),n.d(e,"h",function(){return O});const s=/-(\w)/g,l=a(t=>t.replace(s,(t,e)=>e?e.toUpperCase():"")),u=/\B([A-Z])/g,c=a(t=>t.replace(u,"-$1").toLowerCase()),f=a(t=>t.charAt(0).toUpperCase()+t.slice(1));function p(t,e){if(!e)return;if(t(e))return t(e);return e.includes("-")?t(f(l(e))):t(f(e))||t(c(e))}const d=Object.assign({},o,i),h=t=>d[t],v=t=>i[t],m=t=>o[t],g=t=>r.a.component(t);function y(t){return p(v,t)}function b(t){return p(m,t)}function _(t){return p(h,t)}function w(t){return p(g,t)}function x(...t){return Promise.all(t.filter(t=>t).map(async t=>{if(!w(t)&&_(t)){const e=await _(t)();r.a.component(t,e.default)}}))}function k(t,e,n){switch(e){case"components":t[e]||(t[e]={}),Object.assign(t[e],n);break;case"mixins":t[e]||(t[e]=[]),t[e].push(...n);break;default:throw new Error("Unknown option name.")}}function $(t,e){const{$localePath:n}=t;return"object"==typeof e&&e[n]?e[n]:e}function O(t,e){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[t]=e)}},function(t,e,n){"use strict"; +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,s=e[0],l=e[1],u=e[2],f=0,p=[];fn.e(28).then(n.bind(null,335)),Layout:()=>Promise.all([n.e(0),n.e(2)]).then(n.bind(null,333))},i={"v-cbd95058":()=>n.e(29).then(n.bind(null,348)),"v-796bf18c":()=>n.e(30).then(n.bind(null,347)),"v-77cc1ec7":()=>n.e(20).then(n.bind(null,345)),"v-46ec0327":()=>n.e(10).then(n.bind(null,344)),"v-0a714732":()=>n.e(5).then(n.bind(null,343)),"v-986dbade":()=>n.e(18).then(n.bind(null,342)),"v-8d4dfbb6":()=>n.e(21).then(n.bind(null,346)),"v-76564011":()=>n.e(31).then(n.bind(null,365)),"v-7434c187":()=>n.e(3).then(n.bind(null,366)),"v-8658c2f2":()=>n.e(8).then(n.bind(null,359)),"v-4db1779e":()=>n.e(33).then(n.bind(null,352)),"v-c0fa0cf2":()=>n.e(6).then(n.bind(null,340)),"v-6c5acde7":()=>n.e(12).then(n.bind(null,339)),"v-1263fa20":()=>n.e(34).then(n.bind(null,338)),"v-0996c938":()=>n.e(32).then(n.bind(null,351)),"v-9d44dcf2":()=>n.e(11).then(n.bind(null,337)),"v-240eddf2":()=>n.e(13).then(n.bind(null,367)),"v-7d2f6cc7":()=>n.e(14).then(n.bind(null,349)),"v-5be22288":()=>n.e(26).then(n.bind(null,350)),"v-5db85fb7":()=>n.e(9).then(n.bind(null,336)),"v-61ad5b01":()=>n.e(35).then(n.bind(null,353)),"v-4b91c5e7":()=>n.e(25).then(n.bind(null,354)),"v-c621d7f2":()=>n.e(36).then(n.bind(null,355)),"v-cfc76602":()=>n.e(16).then(n.bind(null,356)),"v-7249b1a4":()=>n.e(22).then(n.bind(null,357)),"v-5566a571":()=>n.e(17).then(n.bind(null,358)),"v-76626758":()=>n.e(27).then(n.bind(null,341)),"v-554543f9":()=>n.e(4).then(n.bind(null,361)),"v-292f2847":()=>n.e(15).then(n.bind(null,362)),"v-3732859b":()=>n.e(19).then(n.bind(null,364)),"v-0393ebb2":()=>n.e(7).then(n.bind(null,363))};function a(t){const e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}n.d(e,"d",function(){return y}),n.d(e,"c",function(){return b}),n.d(e,"b",function(){return _}),n.d(e,"e",function(){return w}),n.d(e,"a",function(){return x}),n.d(e,"f",function(){return k}),n.d(e,"g",function(){return $}),n.d(e,"h",function(){return O});const s=/-(\w)/g,l=a(t=>t.replace(s,(t,e)=>e?e.toUpperCase():"")),u=/\B([A-Z])/g,c=a(t=>t.replace(u,"-$1").toLowerCase()),f=a(t=>t.charAt(0).toUpperCase()+t.slice(1));function p(t,e){if(!e)return;if(t(e))return t(e);return e.includes("-")?t(f(l(e))):t(f(e))||t(c(e))}const d=Object.assign({},o,i),h=t=>d[t],v=t=>i[t],m=t=>o[t],g=t=>r.a.component(t);function y(t){return p(v,t)}function b(t){return p(m,t)}function _(t){return p(h,t)}function w(t){return p(g,t)}function x(...t){return Promise.all(t.filter(t=>t).map(async t=>{if(!w(t)&&_(t)){const e=await _(t)();r.a.component(t,e.default)}}))}function k(t,e,n){switch(e){case"components":t[e]||(t[e]={}),Object.assign(t[e],n);break;case"mixins":t[e]||(t[e]=[]),t[e].push(...n);break;default:throw new Error("Unknown option name.")}}function $(t,e){const{$localePath:n}=t;return"object"==typeof e&&e[n]?e[n]:e}function O(t,e){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[t]=e)}},function(t,e,n){"use strict"; /*! * Vue.js v2.6.10 * (c) 2014-2019 Evan You @@ -8,4 +8,4 @@ * vue-router v3.0.7 * (c) 2019 Evan You * @license MIT - */function o(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function i(t,e){for(var n in e)t[n]=e[n];return t}var a={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,o=e.parent,a=e.data;a.routerView=!0;for(var s=o.$createElement,l=n.name,u=o.$route,c=o._routerViewCache||(o._routerViewCache={}),f=0,p=!1;o&&o._routerRoot!==o;){var d=o.$vnode&&o.$vnode.data;d&&(d.routerView&&f++,d.keepAlive&&o._inactive&&(p=!0)),o=o.$parent}if(a.routerViewDepth=f,p)return s(c[l],a,r);var h=u.matched[f];if(!h)return c[l]=null,s();var v=c[l]=h.components[l];a.registerRouteInstance=function(t,e){var n=h.instances[l];(e&&n!==t||!e&&n===t)&&(h.instances[l]=e)},(a.hook||(a.hook={})).prepatch=function(t,e){h.instances[l]=e.componentInstance},a.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==h.instances[l]&&(h.instances[l]=t.componentInstance)};var m=a.props=function(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0;default:0}}(u,h.props&&h.props[l]);if(m){m=a.props=i({},m);var g=a.attrs=a.attrs||{};for(var y in m)v.props&&y in v.props||(g[y]=m[y],delete m[y])}return s(v,a,r)}};var s=/[!'()*]/g,l=function(t){return"%"+t.charCodeAt(0).toString(16)},u=/%2C/g,c=function(t){return encodeURIComponent(t).replace(s,l).replace(u,",")},f=decodeURIComponent;function p(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var n=t.replace(/\+/g," ").split("="),r=f(n.shift()),o=n.length>0?f(n.join("=")):null;void 0===e[r]?e[r]=o:Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]}),e):e}function d(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return"";if(null===n)return c(e);if(Array.isArray(n)){var r=[];return n.forEach(function(t){void 0!==t&&(null===t?r.push(c(e)):r.push(c(e)+"="+c(t)))}),r.join("&")}return c(e)+"="+c(n)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}var h=/\/?$/;function v(t,e,n,r){var o=r&&r.options.stringifyQuery,i=e.query||{};try{i=m(i)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:b(e,o),matched:t?y(t):[]};return n&&(a.redirectedFrom=b(n,o)),Object.freeze(a)}function m(t){if(Array.isArray(t))return t.map(m);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=m(t[n]);return e}return t}var g=v(null,{path:"/"});function y(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function b(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var o=t.hash;return void 0===o&&(o=""),(n||"/")+(e||d)(r)+o}function _(t,e){return e===g?t===e:!!e&&(t.path&&e.path?t.path.replace(h,"")===e.path.replace(h,"")&&t.hash===e.hash&&w(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&w(t.query,e.query)&&w(t.params,e.params)))}function w(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){var r=t[n],o=e[n];return"object"==typeof r&&"object"==typeof o?w(r,o):String(r)===String(o)})}var x,k=[String,Object],$=[String,Array],O={name:"RouterLink",props:{to:{type:k,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:$,default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),a=o.location,s=o.route,l=o.href,u={},c=n.options.linkActiveClass,f=n.options.linkExactActiveClass,p=null==c?"router-link-active":c,d=null==f?"router-link-exact-active":f,m=null==this.activeClass?p:this.activeClass,g=null==this.exactActiveClass?d:this.exactActiveClass,y=a.path?v(null,a,null,n):s;u[g]=_(r,y),u[m]=this.exact?u[g]:function(t,e){return 0===t.path.replace(h,"/").indexOf(e.path.replace(h,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(r,y);var b=function(t){C(t)&&(e.replace?n.replace(a):n.push(a))},w={click:C};Array.isArray(this.event)?this.event.forEach(function(t){w[t]=b}):w[this.event]=b;var x={class:u};if("a"===this.tag)x.on=w,x.attrs={href:l};else{var k=function t(e){if(e)for(var n,r=0;r=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}(o.path||""),u=e&&e.path||"/",c=l.path?E(l.path,u,n||o.append):u,f=function(t,e,n){void 0===e&&(e={});var r,o=n||p;try{r=o(t||"")}catch(t){r={}}for(var i in e)r[i]=e[i];return r}(l.query,o.query,r&&r.options.parseQuery),d=o.hash||l.hash;return d&&"#"!==d.charAt(0)&&(d="#"+d),{_normalized:!0,path:c,query:f,hash:d}}function J(t,e){var n=G(t),r=n.pathList,o=n.pathMap,i=n.nameMap;function a(t,n,a){var s=Y(t,n,!1,e),u=s.name;if(u){var c=i[u];if(!c)return l(null,s);var f=c.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if("object"!=typeof s.params&&(s.params={}),n&&"object"==typeof n.params)for(var p in n.params)!(p in s.params)&&f.indexOf(p)>-1&&(s.params[p]=n.params[p]);return s.path=W(c.path,s.params),l(c,s,a)}if(s.path){s.params={};for(var d=0;d=t.length?n():t[o]?e(t[o],function(){r(o+1)}):r(o+1)};r(0)}function mt(t){return function(e,n,r){var i=!1,a=0,s=null;gt(t,function(t,e,n,l){if("function"==typeof t&&void 0===t.cid){i=!0,a++;var u,c=_t(function(e){var o;((o=e).__esModule||bt&&"Module"===o[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:x.extend(e),n.components[l]=e,--a<=0&&r()}),f=_t(function(t){var e="Failed to resolve async component "+l+": "+t;s||(s=o(t)?t:new Error(e),r(s))});try{u=t(c,f)}catch(t){f(t)}if(u)if("function"==typeof u.then)u.then(c,f);else{var p=u.component;p&&"function"==typeof p.then&&p.then(c,f)}}}),i||r()}}function gt(t,e){return yt(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function yt(t){return Array.prototype.concat.apply([],t)}var bt="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function _t(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var wt=function(t,e){this.router=t,this.base=function(t){if(!t)if(A){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=g,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function xt(t,e,n,r){var o=gt(t,function(t,r,o,i){var a=function(t,e){"function"!=typeof t&&(t=x.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map(function(t){return n(t,r,o,i)}):n(a,r,o,i)});return yt(r?o.reverse():o)}function kt(t,e){if(e)return function(){return t.apply(e,arguments)}}wt.prototype.listen=function(t){this.cb=t},wt.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},wt.prototype.onError=function(t){this.errorCbs.push(t)},wt.prototype.transitionTo=function(t,e,n){var r=this,o=this.router.match(t,this.current);this.confirmTransition(o,function(){r.updateRoute(o),e&&e(o),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(o)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},wt.prototype.confirmTransition=function(t,e,n){var r=this,i=this.current,a=function(t){o(t)&&(r.errorCbs.length?r.errorCbs.forEach(function(e){e(t)}):console.error(t)),n&&n(t)};if(_(t,i)&&t.matched.length===i.matched.length)return this.ensureURL(),a();var s=function(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n-1?decodeURI(t.slice(0,r))+t.slice(r):decodeURI(t)}else n>-1&&(t=decodeURI(t.slice(0,n))+t.slice(n));return t}function jt(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function St(t){lt?dt(jt(t)):window.location.hash=t}function Pt(t){lt?ht(jt(t)):window.location.replace(jt(t))}var Tt=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(wt),Mt=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=J(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!lt&&!1!==t.fallback,this.fallback&&(e="hash"),A||(e="abstract"),this.mode=e,e){case"history":this.history=new $t(this,t.base);break;case"hash":this.history=new Ct(this,t.base,this.fallback);break;case"abstract":this.history=new Tt(this,t.base);break;default:0}},Lt={currentRoute:{configurable:!0}};function It(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}Mt.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Lt.currentRoute.get=function(){return this.history&&this.history.current},Mt.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null)}),!this.app){this.app=t;var n=this.history;if(n instanceof $t)n.transitionTo(n.getCurrentLocation());else if(n instanceof Ct){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},Mt.prototype.beforeEach=function(t){return It(this.beforeHooks,t)},Mt.prototype.beforeResolve=function(t){return It(this.resolveHooks,t)},Mt.prototype.afterEach=function(t){return It(this.afterHooks,t)},Mt.prototype.onReady=function(t,e){this.history.onReady(t,e)},Mt.prototype.onError=function(t){this.history.onError(t)},Mt.prototype.push=function(t,e,n){this.history.push(t,e,n)},Mt.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},Mt.prototype.go=function(t){this.history.go(t)},Mt.prototype.back=function(){this.go(-1)},Mt.prototype.forward=function(){this.go(1)},Mt.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},Mt.prototype.resolve=function(t,e,n){var r=Y(t,e=e||this.history.current,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(t,e,n){var r="hash"===n?"#"+e:e;return t?j(t+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},Mt.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Mt.prototype,Lt),Mt.install=function t(e){if(!t.installed||x!==e){t.installed=!0,x=e;var n=function(t){return void 0!==t},r=function(t,e){var r=t.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",a),e.component("RouterLink",O);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Mt.version="3.0.7",A&&window.Vue&&window.Vue.use(Mt);var Rt=Mt;var Nt=n(0),Ut={created(){this.$ssrContext&&(this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.description=this.$page.description||this.$description)},mounted(){this.currentMetaTags=new Set,this.updateMeta()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const t=this.$page.frontmatter.meta||[],e=t.slice(0);0===t.filter(t=>"description"===t.name).length&&e.push({name:"description",content:this.$description});const n=document.querySelectorAll('meta[name="description"]');n.length&&n.forEach(t=>this.currentMetaTags.add(t)),this.currentMetaTags=new Set(Dt(e,this.currentMetaTags))}},watch:{$page(){this.updateMeta()}},beforeDestroy(){Dt(null,this.currentMetaTags)}};function Dt(t,e){if(e&&[...e].forEach(t=>{document.head.removeChild(t)}),t)return t.map(t=>{const e=document.createElement("meta");return Object.keys(t).forEach(n=>{e.setAttribute(n,t[n])}),document.head.appendChild(e),e})}var Ft=n(31),Bt=[Ut,{mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(Ft)()(function(){this.setActiveHash()},300),setActiveHash(){const t=[].slice.call(document.querySelectorAll(".sidebar-link")),e=[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>t.some(t=>t.hash===e.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let t=0;t=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}}],zt={methods:{getLayout:function(){if(this.$page.path){var t=this.$page.frontmatter.layout;return t&&(this.$vuepress.getLayoutAsyncComponent(t)||this.$vuepress.getVueComponent(t))?t:"Layout"}return"NotFound"}},computed:{layout:function(){var t=this.getLayout();return Object(Nt.h)("layout",t),r.a.component(t)}}},Vt=n(2),Kt=Object(Vt.a)(zt,function(){var t=this.$createElement;return(this._self._c||t)(this.layout,{tag:"component"})},[],!1,null,null,null).exports;Object(Nt.f)(Kt,"mixins",Bt);const Ht=[{name:"v-cbd95058",path:"/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-cbd95058").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-77cc1ec7",path:"/guide/cluster/computing.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-77cc1ec7").then(n)}},{name:"v-796bf18c",path:"/guide/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-796bf18c").then(n)}},{path:"/guide/index.html",redirect:"/guide/"},{name:"v-46ec0327",path:"/guide/cluster/namespace.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-46ec0327").then(n)}},{name:"v-986dbade",path:"/guide/diagonize/events.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-986dbade").then(n)}},{name:"v-0a714732",path:"/guide/cluster/storage.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-0a714732").then(n)}},{name:"v-8d4dfbb6",path:"/guide/diagonize/logs.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-8d4dfbb6").then(n)}},{name:"v-8658c2f2",path:"/guide/example/busybox.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-8658c2f2").then(n)}},{name:"v-76564011",path:"/guide/diagonize/port-forward.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-76564011").then(n)}},{name:"v-7434c187",path:"/guide/example/monitor.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-7434c187").then(n)}},{name:"v-0996c938",path:"/guide/monitor/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-0996c938").then(n)}},{path:"/guide/monitor/index.html",redirect:"/guide/monitor/"},{name:"v-4db1779e",path:"/guide/monitor/apis.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-4db1779e").then(n)}},{name:"v-c0fa0cf2",path:"/guide/namespace/adjustion.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-c0fa0cf2").then(n)}},{name:"v-6c5acde7",path:"/guide/namespace/configMap.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-6c5acde7").then(n)}},{name:"v-1263fa20",path:"/guide/namespace/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-1263fa20").then(n)}},{path:"/guide/namespace/index.html",redirect:"/guide/namespace/"},{name:"v-9d44dcf2",path:"/guide/namespace/multi-env.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-9d44dcf2").then(n)}},{name:"v-240eddf2",path:"/guide/namespace/pvc.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-240eddf2").then(n)}},{name:"v-7d2f6cc7",path:"/guide/namespace/secrets.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-7d2f6cc7").then(n)}},{name:"v-5db85fb7",path:"/guide/namespace/workload.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-5db85fb7").then(n)}},{name:"v-5be22288",path:"/install/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-5be22288").then(n)}},{path:"/install/index.html",redirect:"/install/"},{name:"v-61ad5b01",path:"/install/install-common-ingress.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-61ad5b01").then(n)}},{name:"v-4b91c5e7",path:"/install/install-common-vm.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-4b91c5e7").then(n)}},{name:"v-c621d7f2",path:"/install/install-dashboard.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-c621d7f2").then(n)}},{name:"v-cfc76602",path:"/install/install-kind.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-cfc76602").then(n)}},{name:"v-7249b1a4",path:"/overview/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-7249b1a4").then(n)}},{path:"/overview/index.html",redirect:"/overview/"},{name:"v-5566a571",path:"/overview/why-kuboard.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-5566a571").then(n)}},{name:"v-76626758",path:"/support/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-76626758").then(n)}},{path:"/support/index.html",redirect:"/support/"},{name:"v-554543f9",path:"/guide/example/import.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-554543f9").then(n)}},{name:"v-292f2847",path:"/install/install-k8s.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-292f2847").then(n)}},{name:"v-3732859b",path:"/install/install-kubernetes.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-3732859b").then(n)}},{name:"v-0393ebb2",path:"/overview/concepts.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-0393ebb2").then(n)}},{path:"*",component:Kt}],qt={title:"Kuboard",description:"A cool Kubernetes Dashboard",base:"/",pages:[{title:"Home",frontmatter:{home:!0,heroImage:"/overview.png",actionText:"Get Started →",actionLink:"/overview/",features:[{title:"降低 Kubernetes 门槛",details:"创建工作负载,导出/导入配置,批量调整镜像版本,问题诊断"},{title:"直观显示微服务架构",details:"展现层/网关层/服务层/持久层/中间件层/监控层"},{title:"上下文关联监控",details:"资源层监控/中间件层监控/链路层监控"}],footer:"Copyright © 2019-present HuanQing Shao"},regularPath:"/",relativePath:"README.md",key:"v-cbd95058",path:"/",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"计算资源管理",frontmatter:{},regularPath:"/guide/cluster/computing.html",relativePath:"guide/cluster/computing.md",key:"v-77cc1ec7",path:"/guide/cluster/computing.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"添加节点",slug:"添加节点"},{level:2,title:"查看节点",slug:"查看节点"},{level:2,title:"移除节点",slug:"移除节点"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"使用手册",frontmatter:{},regularPath:"/guide/",relativePath:"guide/README.md",key:"v-796bf18c",path:"/guide/",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"名称空间管理",frontmatter:{},regularPath:"/guide/cluster/namespace.html",relativePath:"guide/cluster/namespace.md",key:"v-46ec0327",path:"/guide/cluster/namespace.html",headers:[{level:2,title:"创建名称空间",slug:"创建名称空间"},{level:3,title:"前提",slug:"前提"},{level:3,title:"准备",slug:"准备"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"集群事件",frontmatter:{},regularPath:"/guide/diagonize/events.html",relativePath:"guide/diagonize/events.md",key:"v-986dbade",path:"/guide/diagonize/events.html",headers:[{level:2,title:"错误事件提示",slug:"错误事件提示"},{level:2,title:"全局事件",slug:"全局事件"},{level:3,title:"查看全局事件",slug:"查看全局事件"},{level:3,title:"删除事件",slug:"删除事件"},{level:2,title:"微服务上下文相关的事件",slug:"微服务上下文相关的事件"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"存储空间管理",frontmatter:{},regularPath:"/guide/cluster/storage.html",relativePath:"guide/cluster/storage.md",key:"v-0a714732",path:"/guide/cluster/storage.html",headers:[{level:2,title:"创建存储类",slug:"创建存储类"},{level:3,title:"在阿里云创建 NAS 服务",slug:"在阿里云创建-nas-服务"},{level:3,title:"在 Kuboard 创建存储类",slug:"在-kuboard-创建存储类"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"日志及终端",frontmatter:{},regularPath:"/guide/diagonize/logs.html",relativePath:"guide/diagonize/logs.md",key:"v-8d4dfbb6",path:"/guide/diagonize/logs.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"部署 busybox",frontmatter:{},regularPath:"/guide/example/busybox.html",relativePath:"guide/example/busybox.md",key:"v-8658c2f2",path:"/guide/example/busybox.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"部署 busybox",slug:"部署-busybox-2"},{level:2,title:"验证工作负载",slug:"验证工作负载"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"端口转发",frontmatter:{},regularPath:"/guide/diagonize/port-forward.html",relativePath:"guide/diagonize/port-forward.md",key:"v-76564011",path:"/guide/diagonize/port-forward.html",headers:[{level:2,title:"Feature planned",slug:"feature-planned"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"监控 example (alpha)",frontmatter:{},regularPath:"/guide/example/monitor.html",relativePath:"guide/example/monitor.md",key:"v-7434c187",path:"/guide/example/monitor.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"安装监控套件",slug:"安装监控套件"},{level:3,title:"安装全局监控套件",slug:"安装全局监控套件"},{level:3,title:"安装名称空间监控套件",slug:"安装名称空间监控套件"},{level:3,title:"查看监控套件的工作负载",slug:"查看监控套件的工作负载"},{level:2,title:"重启 example 容器组",slug:"重启-example-容器组"},{level:2,title:"查看监控信息",slug:"查看监控信息"},{level:3,title:"查看资源层监控信息",slug:"查看资源层监控信息"},{level:3,title:"查看中间件层监控信息",slug:"查看中间件层监控信息"},{level:3,title:"查看链路追踪监控信息",slug:"查看链路追踪监控信息"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"监控套件",frontmatter:{},regularPath:"/guide/monitor/",relativePath:"guide/monitor/README.md",key:"v-0996c938",path:"/guide/monitor/",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"自定义监控套件",frontmatter:{},regularPath:"/guide/monitor/apis.html",relativePath:"guide/monitor/apis.md",key:"v-4db1779e",path:"/guide/monitor/apis.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"日常调整",frontmatter:{},regularPath:"/guide/namespace/adjustion.html",relativePath:"guide/namespace/adjustion.md",key:"v-c0fa0cf2",path:"/guide/namespace/adjustion.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"批量删除容器组",slug:"批量删除容器组"},{level:2,title:"批量调整镜像版本",slug:"批量调整镜像版本"},{level:2,title:"批量调整工作负载的副本数",slug:"批量调整工作负载的副本数"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"配置",frontmatter:{},regularPath:"/guide/namespace/configMap.html",relativePath:"guide/namespace/configMap.md",key:"v-6c5acde7",path:"/guide/namespace/configMap.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"应用管理",frontmatter:{},regularPath:"/guide/namespace/",relativePath:"guide/namespace/index.md",key:"v-1263fa20",path:"/guide/namespace/",headers:[{level:2,title:"创建工作负载",slug:"创建工作负载"},{level:2,title:"删除工作负载",slug:"删除工作负载"},{level:2,title:"伸缩",slug:"伸缩"},{level:2,title:"升级工作负载版本",slug:"升级工作负载版本"},{level:2,title:"环境迁移",slug:"环境迁移"},{level:3,title:"导出",slug:"导出"},{level:3,title:"导入",slug:"导入"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"多环境",frontmatter:{},regularPath:"/guide/namespace/multi-env.html",relativePath:"guide/namespace/multi-env.md",key:"v-9d44dcf2",path:"/guide/namespace/multi-env.html",headers:[{level:2,title:"导出配置",slug:"导出配置"},{level:3,title:"前提",slug:"前提"},{level:3,title:"操作步骤",slug:"操作步骤"},{level:2,title:"导入配置",slug:"导入配置"},{level:3,title:"前提",slug:"前提-2"},{level:3,title:"操作步骤",slug:"操作步骤-2"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"存储卷声明",frontmatter:{},regularPath:"/guide/namespace/pvc.html",relativePath:"guide/namespace/pvc.md",key:"v-240eddf2",path:"/guide/namespace/pvc.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"Secrets",frontmatter:{},regularPath:"/guide/namespace/secrets.html",relativePath:"guide/namespace/secrets.md",key:"v-7d2f6cc7",path:"/guide/namespace/secrets.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"工作负载",frontmatter:{},regularPath:"/guide/namespace/workload.html",relativePath:"guide/namespace/workload.md",key:"v-5db85fb7",path:"/guide/namespace/workload.html",headers:[{level:2,title:"创建/查看/编辑工作负载",slug:"创建-查看-编辑工作负载"},{level:2,title:"伸缩",slug:"伸缩"},{level:2,title:"删除容器组",slug:"删除容器组"},{level:2,title:"诊断问题",slug:"诊断问题"},{level:3,title:"事件: Kubernetes 部署相关问题",slug:"事件:-kubernetes-部署相关问题"},{level:3,title:"日志: 容器运行时产生的错误",slug:"日志:-容器运行时产生的错误"},{level:3,title:"终端: 通过交互式命令,在容器内诊断问题",slug:"终端:-通过交互式命令,在容器内诊断问题"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"概述",frontmatter:{},regularPath:"/install/",relativePath:"install/README.md",key:"v-5be22288",path:"/install/",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"安装 Ingress Controller",frontmatter:{},regularPath:"/install/install-common-ingress.html",relativePath:"install/install-common-ingress.md",key:"v-61ad5b01",path:"/install/install-common-ingress.html",headers:[{level:2,title:"安装 Ingress Controller",slug:"安装-ingress-controller"},{level:3,title:"在 apple-master-a-1 上执行",slug:"在-apple-master-a-1-上执行"},{level:3,title:"在IaaS云控制台完成如下配置(公网ELB)",slug:"在iaas云控制台完成如下配置(公网elb)"},{level:3,title:"配置域名解析",slug:"配置域名解析"},{level:3,title:"验证配置",slug:"验证配置"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"制作标准机镜像",frontmatter:{},regularPath:"/install/install-common-vm.html",relativePath:"install/install-common-vm.md",key:"v-4b91c5e7",path:"/install/install-common-vm.html",headers:[{level:2,title:"制作标准机镜像",slug:"制作标准机镜像"},{level:3,title:"安装docker",slug:"安装docker"},{level:3,title:"安装 nfs-utils",slug:"安装-nfs-utils"},{level:3,title:"K8S基本配置",slug:"k8s基本配置"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"安装 kuboard",frontmatter:{},regularPath:"/install/install-dashboard.html",relativePath:"install/install-dashboard.md",key:"v-c621d7f2",path:"/install/install-dashboard.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"兼容性",slug:"兼容性"},{level:2,title:"安装",slug:"安装"},{level:2,title:"获取 token",slug:"获取-token"},{level:3,title:"获取管理员用户 token",slug:"获取管理员用户-token"},{level:3,title:"获取只读用户的Token",slug:"获取只读用户的token"},{level:2,title:"访问 Kuboard",slug:"访问-kuboard"},{level:3,title:"通过域名访问",slug:"通过域名访问"},{level:3,title:"通过 NodePort 访问",slug:"通过-nodeport-访问"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"在单机使用 kind 安装 Kubernetes",frontmatter:{},regularPath:"/install/install-kind.html",relativePath:"install/install-kind.md",key:"v-cfc76602",path:"/install/install-kind.html",headers:[{level:2,title:"环境简介",slug:"环境简介"},{level:3,title:"kind 简介与安装",slug:"kind-简介与安装"},{level:3,title:"docker 环境",slug:"docker-环境"},{level:3,title:"kubectl 安装",slug:"kubectl-安装"},{level:2,title:"k8s 集群搭建",slug:"k8s-集群搭建"},{level:3,title:"准备 kind 搭建集群配置文件 kind-config.yaml",slug:"准备-kind-搭建集群配置文件-kind-config-yaml"},{level:3,title:"使用 kind 搭建集群",slug:"使用-kind-搭建集群"},{level:3,title:"创建成功",slug:"创建成功"},{level:2,title:"kuboard 安装",slug:"kuboard-安装"},{level:3,title:"获取并修改 yaml 文件",slug:"获取并修改-yaml-文件"},{level:3,title:"执行安装",slug:"执行安装"},{level:3,title:"查看启动状态",slug:"查看启动状态"},{level:3,title:"访问 kuboard 页面",slug:"访问-kuboard-页面"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"Kuboard",frontmatter:{},regularPath:"/overview/",relativePath:"overview/README.md",key:"v-7249b1a4",path:"/overview/",headers:[{level:2,title:"Kuboard",slug:"kuboard"},{level:2,title:"Demo",slug:"demo"},{level:2,title:"Getting Started",slug:"getting-started"},{level:2,title:"在线提问",slug:"在线提问"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"为什么选择 Kuboard",frontmatter:{},regularPath:"/overview/why-kuboard.html",relativePath:"overview/why-kuboard.md",key:"v-5566a571",path:"/overview/why-kuboard.html",headers:[{level:2,title:"为什么选择 Kuboard",slug:"为什么选择-kuboard"},{level:2,title:"Kubernetes 入门学习者",slug:"kubernetes-入门学习者"},{level:3,title:"集群概览",slug:"集群概览"},{level:3,title:"名称空间",slug:"名称空间"},{level:3,title:"无需手写 Yaml",slug:"无需手写-yaml"},{level:2,title:"Kubernetes 日常运维人员",slug:"kubernetes-日常运维人员"},{level:3,title:"纯图形界面运维 Kubernetes",slug:"纯图形界面运维-kubernetes"},{level:3,title:"多环境复制",slug:"多环境复制"},{level:3,title:"应用升级",slug:"应用升级"},{level:2,title:"0 侵入性",slug:"_0-侵入性"},{level:2,title:"更多资料",slug:"更多资料"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"提交问题",frontmatter:{},regularPath:"/support/",relativePath:"support/README.md",key:"v-76626758",path:"/support/",headers:[{level:2,title:"提交问题",slug:"提交问题"},{level:2,title:"在线提问",slug:"在线提问"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"导入 example 微服务",frontmatter:{},regularPath:"/guide/example/import.html",relativePath:"guide/example/import.md",key:"v-554543f9",path:"/guide/example/import.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"创建存储资源",slug:"创建存储资源"},{level:2,title:"创建名称空间",slug:"创建名称空间"},{level:2,title:"导入 example",slug:"导入-example"},{level:2,title:"验证 web-example",slug:"验证-web-example"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"安装 Kubernetes 用于测试",frontmatter:{},regularPath:"/install/install-k8s.html",relativePath:"install/install-k8s.md",key:"v-292f2847",path:"/install/install-k8s.html",headers:[{level:2,title:"制作标准机镜像",slug:"制作标准机镜像"},{level:3,title:"安装docker",slug:"安装docker"},{level:3,title:"安装 nfs-utils",slug:"安装-nfs-utils"},{level:3,title:"K8S基本配置",slug:"k8s基本配置"},{level:2,title:"初始化 master 节点",slug:"初始化-master-节点"},{level:3,title:"在 demo-master-a-1 机器上执行",slug:"在-demo-master-a-1-机器上执行"},{level:3,title:"检查 apiserver初始化结果",slug:"检查-apiserver初始化结果"},{level:2,title:"初始化 worker节点",slug:"初始化-worker节点"},{level:3,title:"获得 join命令参数",slug:"获得-join命令参数"},{level:3,title:"初始化worker",slug:"初始化worker"},{level:3,title:"检查 apiserver初始化结果",slug:"检查-apiserver初始化结果-2"},{level:2,title:"移除 worker 节点",slug:"移除-worker-节点"},{level:2,title:"安装 Ingress Controller",slug:"安装-ingress-controller"},{level:3,title:"在 demo-master-a-1 上执行",slug:"在-demo-master-a-1-上执行"},{level:3,title:"配置域名解析",slug:"配置域名解析"},{level:3,title:"验证配置",slug:"验证配置"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"安装 Kubernetes",frontmatter:{},regularPath:"/install/install-kubernetes.html",relativePath:"install/install-kubernetes.md",key:"v-3732859b",path:"/install/install-kubernetes.html",headers:[{level:2,title:"制作标准机镜像",slug:"制作标准机镜像"},{level:3,title:"安装docker",slug:"安装docker"},{level:3,title:"安装 nfs-utils",slug:"安装-nfs-utils"},{level:3,title:"K8S基本配置",slug:"k8s基本配置"},{level:2,title:"初始化API Server",slug:"初始化api-server"},{level:3,title:"创建 ApiServer 的 ELB(私网)",slug:"创建-apiserver-的-elb(私网)"},{level:3,title:"初始化第一个master节点",slug:"初始化第一个master节点"},{level:3,title:"初始化第二、三个master节点",slug:"初始化第二、三个master节点"},{level:3,title:"检查 apiserver初始化结果",slug:"检查-apiserver初始化结果"},{level:2,title:"初始化 worker节点",slug:"初始化-worker节点"},{level:3,title:"获得 join命令参数",slug:"获得-join命令参数"},{level:3,title:"初始化worker",slug:"初始化worker"},{level:3,title:"检查 apiserver初始化结果",slug:"检查-apiserver初始化结果-2"},{level:2,title:"移除 worker 节点",slug:"移除-worker-节点"},{level:2,title:"安装 Ingress Controller",slug:"安装-ingress-controller"},{level:3,title:"在 apple-master-a-1 上执行",slug:"在-apple-master-a-1-上执行"},{level:3,title:"在IaaS云控制台完成如下配置(公网ELB)",slug:"在iaas云控制台完成如下配置(公网elb)"},{level:3,title:"配置域名解析",slug:"配置域名解析"},{level:3,title:"验证配置",slug:"验证配置"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"Kubernetes 入门",frontmatter:{},regularPath:"/overview/concepts.html",relativePath:"overview/concepts.md",key:"v-0393ebb2",path:"/overview/concepts.html",headers:[{level:2,title:"Kubernetes 学习门槛在哪儿",slug:"kubernetes-学习门槛在哪儿"},{level:2,title:"降低 Kubernetes 学习门槛",slug:"降低-kubernetes-学习门槛"},{level:2,title:"工作负载编辑器设计",slug:"工作负载编辑器设计"},{level:2,title:"工作负载编辑器介绍",slug:"工作负载编辑器介绍"},{level:3,title:"1. 基本信息",slug:"_1-基本信息"},{level:3,title:"2. 数据卷",slug:"_2-数据卷"},{level:3,title:"3. 身份信息",slug:"_3-身份信息"},{level:3,title:"4. 容器",slug:"_4-容器"},{level:3,title:"5. 访问方式",slug:"_5-访问方式"},{level:3,title:"6. 互联网入口",slug:"_6-互联网入口"}],lastUpdated:"7/25/2019, 6:22:52 AM"}],themeConfig:{nav:[{text:"简介",link:"/overview/"},{text:"安装",link:"/install/"},{text:"使用",link:"/guide/"},{text:"支持",link:"/support/"}],displayAllHeaders:!1,sidebarDepth:2,serviceWorker:{updatePopup:!0},sidebar:{"/overview/":[["","简介"],["why-kuboard","为什么选择 Kuboard"],["concepts","如何降低K8S学习门槛"]],"/install/":["","install-k8s","install-kubernetes","install-dashboard"],"/guide/":[{title:"概述",collapsable:!1,children:[["","概述"]]},{title:"Example",collapsable:!1,children:["example/busybox","example/import","example/monitor"]},{title:"集群管理",collapsable:!1,children:["cluster/computing","cluster/storage","cluster/namespace"]},{title:"应用管理",collapsable:!1,children:["namespace/workload","namespace/secrets","namespace/configMap","namespace/pvc","namespace/adjustion","namespace/multi-env"]},{title:"问题诊断",collapsable:!1,children:["diagonize/events","diagonize/logs","diagonize/port-forward"]},{title:"监控套件 (alpha)",collapsable:!1,children:["monitor/","monitor/apis"]}],"/support/":[""]}}};n(44);r.a.component("Badge",()=>Promise.all([n.e(0),n.e(24)]).then(n.bind(null,360)));n(45);var Wt=n(32),Gt=n.n(Wt),Xt={props:{threshold:{type:Number,default:300}},data:function(){return{scrollTop:null}},mounted:function(){var t=this;this.scrollTop=this.getScrollTop(),window.addEventListener("scroll",Gt()(function(){t.scrollTop=t.getScrollTop()},100))},methods:{getScrollTop:function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},scrollToTop:function(){window.scrollTo({top:0,behavior:"smooth"}),this.scrollTop=0}},computed:{show:function(){return this.scrollTop>this.threshold}}},Yt=(n(54),Object(Vt.a)(Xt,function(){var t=this.$createElement,e=this._self._c||t;return e("transition",{attrs:{name:"fade"}},[this.show?e("svg",{staticClass:"go-to-top",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49.484 28.284"},on:{click:this.scrollToTop}},[e("g",{attrs:{transform:"translate(-229 -126.358)"}},[e("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(229 151.107) rotate(-45)"}}),this._v(" "),e("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(274.949 154.642) rotate(-135)"}})])]):this._e()])},[],!1,null,"67a9666a",null).exports),Jt=function(){return Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))};function Qt(t,e){void 0===e&&(e={});var n=e.registrationOptions;void 0===n&&(n={}),delete e.registrationOptions;var r=function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];e&&e[t]&&e[t].apply(e,n)};"serviceWorker"in navigator&&window.addEventListener("load",function(){Jt()?(!function(t,e,n){fetch(t).then(function(r){404===r.status?(e("error",new Error("Service worker not found at "+t)),te()):-1===r.headers.get("content-type").indexOf("javascript")?(e("error",new Error("Expected "+t+" to have javascript content-type, but received "+r.headers.get("content-type"))),te()):Zt(t,e,n)}).catch(function(t){navigator.onLine?e("error",t):e("offline")})}(t,r,n),navigator.serviceWorker.ready.then(function(t){r("ready",t)})):Zt(t,r,n)})}function Zt(t,e,n){navigator.serviceWorker.register(t,n).then(function(t){e("registered",t),t.waiting?e("updated",t):t.onupdatefound=function(){e("updatefound",t);var n=t.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?e("updated",t):e("cached",t))}}}).catch(function(t){e("error",t)})}function te(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(t){t.unregister()})}class ee{constructor(t){Object.defineProperty(this,"registration",{value:t,configurable:!0,writable:!0})}update(){return this.registration.update()}skipWaiting(){const t=this.registration.waiting;return t?(console.log("[vuepress:sw] Doing worker.skipWaiting()."),new Promise((e,n)=>{const r=new MessageChannel;r.port1.onmessage=t=>{console.log("[vuepress:sw] Done worker.skipWaiting()."),t.data.error?n(t.data.error):e(t.data)},t.postMessage({type:"skip-waiting"},[r.port2])})):Promise.resolve()}}var ne=n(5);r.a.component("SWUpdatePopup",()=>Promise.all([n.e(0),n.e(23)]).then(n.bind(null,334)));var re=[{},({Vue:t})=>{t.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},({router:t})=>{"undefined"!=typeof window&&(function(t,e,n,r,o,i,a){t.GoogleAnalyticsObject=o,t.ga=t.ga||function(){(t.ga.q=t.ga.q||[]).push(arguments)},t.ga.l=1*new Date,i=e.createElement(n),a=e.getElementsByTagName(n)[0],i.async=1,i.src="https://www.google-analytics.com/analytics.js",a.parentNode.insertBefore(i,a)}(window,document,"script",0,"ga"),ga("create","UA-144196556-1","auto"),ga("set","anonymizeIp",!0),ga("send","pageview"),t.afterEach(function(t){ga("set","page",t.fullPath),ga("send","pageview")}))},({Vue:t})=>{t.component("BackToTop",Yt)},({router:t,isServer:e})=>{t.onReady(()=>{e||Qt("/service-worker.js",{registrationOptions:{},ready(){console.log("[vuepress:sw] Service worker is active."),ne.a.$emit("sw-ready")},cached(t){console.log("[vuepress:sw] Content has been cached for offline use."),ne.a.$emit("sw-cached",new ee(t))},updated(t){console.log("[vuepress:sw] Content updated."),ne.a.$emit("sw-updated",new ee(t))},offline(){console.log("[vuepress:sw] No internet connection found. App is running in offline mode."),ne.a.$emit("sw-offline")},error(t){console.error("[vuepress:sw] Error during service worker registration:",t),ne.a.$emit("sw-error",t),ga("send","exception",{exDescription:t.message,exFatal:!1})}})})}],oe=["BackToTop","SWUpdatePopup"];class ie{constructor(){this.store=new r.a({data:{state:{}}})}$get(t){return this.store.state[t]}$set(t,e){r.a.set(this.store.state,t,e)}$emit(...t){this.store.$emit(...t)}$on(...t){this.store.$on(...t)}}class ae extends ie{}Object.assign(ae.prototype,{getPageAsyncComponent:Nt.d,getLayoutAsyncComponent:Nt.c,getAsyncComponent:Nt.b,getVueComponent:Nt.e});var se={install(t){const e=new ae;t.$vuepress=e,t.prototype.$vuepress=e}};function le(t,e){return t.options.routes.filter(t=>t.path.toLowerCase()===e.toLowerCase()).length>0}var ue={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(t){const e=this.pageKey||this.$parent.$page.key;return Object(Nt.h)("pageKey",e),r.a.component(e)||r.a.component(e,Object(Nt.d)(e)),t(e||"")}},ce={functional:!0,props:{slotKey:String,required:!0},render:(t,{props:e,slots:n})=>t("div",{class:[`content__${e.slotKey}`]},n()[e.slotKey])},fe=(n(55),Object(Vt.a)({},function(t,e){var n=e._c;return n("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[n("path",{attrs:{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"}}),e._v(" "),n("polygon",{attrs:{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"}})])},[],!0,null,null,null).exports),pe={functional:!0,render(t,{parent:e,children:n}){if(e._isMounted)return n;e.$once("hook:mounted",()=>{e.$forceUpdate()})}};r.a.config.productionTip=!1,r.a.use(Rt),r.a.use(se),r.a.mixin(function(t,e,n=r.a){!function(t){t.locales&&Object.keys(t.locales).forEach(e=>{t.locales[e].path=e}),Object.freeze(t)}(e),n.$vuepress.$set("siteData",e);const o=new(t(n.$vuepress.$get("siteData"))),i=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(o)),a={};return Object.keys(i).reduce((t,e)=>(e.startsWith("$")&&(t[e]=i[e].get),t),a),{computed:a}}(t=>(class{setPage(t){this.__page=t}get $site(){return t}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:t={}}=this.$site;let e,n;for(const r in t)"/"===r?n=t[r]:0===this.$page.path.indexOf(r)&&(e=t[r]);return e||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $title(){const t=this.$page,{metaTitle:e}=this.$page.frontmatter;if("string"==typeof e)return e;const n=this.$siteTitle,r=t.frontmatter.home?null:t.frontmatter.title||t.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const t=function(t){if(t){const e=t.filter(t=>"description"===t.name)[0];if(e)return e.content}}(this.$page.frontmatter.meta);return t||this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||""}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(t,e){for(let n=0;nn||(t.hash?!r.a.$vuepress.$get("disableScrollBehavior")&&{selector:t.hash}:{x:0,y:0})});!function(t){t.beforeEach((e,n,r)=>{if(le(t,e.path))r();else if(/(\/|\.html)$/.test(e.path))if(/\/$/.test(e.path)){const n=e.path.replace(/\/$/,"")+".html";le(t,n)?r(n):r()}else r();else{const n=e.path+"/",o=e.path+".html";le(t,o)?r(o):le(t,n)?r(n):r()}})}(n);const o={};try{re.forEach(e=>{"function"==typeof e&&e({Vue:r.a,options:o,router:n,siteData:qt,isServer:t})})}catch(t){console.error(t)}return{app:new r.a(Object.assign(o,{router:n,render:t=>t("div",{attrs:{id:"app"}},[t("router-view",{ref:"layout"}),t("div",{class:"global-ui"},oe.map(e=>t(e)))])})),router:n}}(!1);window.__VUEPRESS__={version:"1.0.2",hash:"45f17f6"},he.onReady(()=>{de.$mount("#app")})}]); \ No newline at end of file + */function o(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function i(t,e){for(var n in e)t[n]=e[n];return t}var a={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,o=e.parent,a=e.data;a.routerView=!0;for(var s=o.$createElement,l=n.name,u=o.$route,c=o._routerViewCache||(o._routerViewCache={}),f=0,p=!1;o&&o._routerRoot!==o;){var d=o.$vnode&&o.$vnode.data;d&&(d.routerView&&f++,d.keepAlive&&o._inactive&&(p=!0)),o=o.$parent}if(a.routerViewDepth=f,p)return s(c[l],a,r);var h=u.matched[f];if(!h)return c[l]=null,s();var v=c[l]=h.components[l];a.registerRouteInstance=function(t,e){var n=h.instances[l];(e&&n!==t||!e&&n===t)&&(h.instances[l]=e)},(a.hook||(a.hook={})).prepatch=function(t,e){h.instances[l]=e.componentInstance},a.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==h.instances[l]&&(h.instances[l]=t.componentInstance)};var m=a.props=function(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0;default:0}}(u,h.props&&h.props[l]);if(m){m=a.props=i({},m);var g=a.attrs=a.attrs||{};for(var y in m)v.props&&y in v.props||(g[y]=m[y],delete m[y])}return s(v,a,r)}};var s=/[!'()*]/g,l=function(t){return"%"+t.charCodeAt(0).toString(16)},u=/%2C/g,c=function(t){return encodeURIComponent(t).replace(s,l).replace(u,",")},f=decodeURIComponent;function p(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var n=t.replace(/\+/g," ").split("="),r=f(n.shift()),o=n.length>0?f(n.join("=")):null;void 0===e[r]?e[r]=o:Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]}),e):e}function d(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return"";if(null===n)return c(e);if(Array.isArray(n)){var r=[];return n.forEach(function(t){void 0!==t&&(null===t?r.push(c(e)):r.push(c(e)+"="+c(t)))}),r.join("&")}return c(e)+"="+c(n)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}var h=/\/?$/;function v(t,e,n,r){var o=r&&r.options.stringifyQuery,i=e.query||{};try{i=m(i)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:b(e,o),matched:t?y(t):[]};return n&&(a.redirectedFrom=b(n,o)),Object.freeze(a)}function m(t){if(Array.isArray(t))return t.map(m);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=m(t[n]);return e}return t}var g=v(null,{path:"/"});function y(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function b(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var o=t.hash;return void 0===o&&(o=""),(n||"/")+(e||d)(r)+o}function _(t,e){return e===g?t===e:!!e&&(t.path&&e.path?t.path.replace(h,"")===e.path.replace(h,"")&&t.hash===e.hash&&w(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&w(t.query,e.query)&&w(t.params,e.params)))}function w(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){var r=t[n],o=e[n];return"object"==typeof r&&"object"==typeof o?w(r,o):String(r)===String(o)})}var x,k=[String,Object],$=[String,Array],O={name:"RouterLink",props:{to:{type:k,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:$,default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),a=o.location,s=o.route,l=o.href,u={},c=n.options.linkActiveClass,f=n.options.linkExactActiveClass,p=null==c?"router-link-active":c,d=null==f?"router-link-exact-active":f,m=null==this.activeClass?p:this.activeClass,g=null==this.exactActiveClass?d:this.exactActiveClass,y=a.path?v(null,a,null,n):s;u[g]=_(r,y),u[m]=this.exact?u[g]:function(t,e){return 0===t.path.replace(h,"/").indexOf(e.path.replace(h,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(r,y);var b=function(t){C(t)&&(e.replace?n.replace(a):n.push(a))},w={click:C};Array.isArray(this.event)?this.event.forEach(function(t){w[t]=b}):w[this.event]=b;var x={class:u};if("a"===this.tag)x.on=w,x.attrs={href:l};else{var k=function t(e){if(e)for(var n,r=0;r=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}(o.path||""),u=e&&e.path||"/",c=l.path?E(l.path,u,n||o.append):u,f=function(t,e,n){void 0===e&&(e={});var r,o=n||p;try{r=o(t||"")}catch(t){r={}}for(var i in e)r[i]=e[i];return r}(l.query,o.query,r&&r.options.parseQuery),d=o.hash||l.hash;return d&&"#"!==d.charAt(0)&&(d="#"+d),{_normalized:!0,path:c,query:f,hash:d}}function J(t,e){var n=G(t),r=n.pathList,o=n.pathMap,i=n.nameMap;function a(t,n,a){var s=Y(t,n,!1,e),u=s.name;if(u){var c=i[u];if(!c)return l(null,s);var f=c.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if("object"!=typeof s.params&&(s.params={}),n&&"object"==typeof n.params)for(var p in n.params)!(p in s.params)&&f.indexOf(p)>-1&&(s.params[p]=n.params[p]);return s.path=W(c.path,s.params),l(c,s,a)}if(s.path){s.params={};for(var d=0;d=t.length?n():t[o]?e(t[o],function(){r(o+1)}):r(o+1)};r(0)}function mt(t){return function(e,n,r){var i=!1,a=0,s=null;gt(t,function(t,e,n,l){if("function"==typeof t&&void 0===t.cid){i=!0,a++;var u,c=_t(function(e){var o;((o=e).__esModule||bt&&"Module"===o[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:x.extend(e),n.components[l]=e,--a<=0&&r()}),f=_t(function(t){var e="Failed to resolve async component "+l+": "+t;s||(s=o(t)?t:new Error(e),r(s))});try{u=t(c,f)}catch(t){f(t)}if(u)if("function"==typeof u.then)u.then(c,f);else{var p=u.component;p&&"function"==typeof p.then&&p.then(c,f)}}}),i||r()}}function gt(t,e){return yt(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function yt(t){return Array.prototype.concat.apply([],t)}var bt="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function _t(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var wt=function(t,e){this.router=t,this.base=function(t){if(!t)if(A){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=g,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function xt(t,e,n,r){var o=gt(t,function(t,r,o,i){var a=function(t,e){"function"!=typeof t&&(t=x.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map(function(t){return n(t,r,o,i)}):n(a,r,o,i)});return yt(r?o.reverse():o)}function kt(t,e){if(e)return function(){return t.apply(e,arguments)}}wt.prototype.listen=function(t){this.cb=t},wt.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},wt.prototype.onError=function(t){this.errorCbs.push(t)},wt.prototype.transitionTo=function(t,e,n){var r=this,o=this.router.match(t,this.current);this.confirmTransition(o,function(){r.updateRoute(o),e&&e(o),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(o)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},wt.prototype.confirmTransition=function(t,e,n){var r=this,i=this.current,a=function(t){o(t)&&(r.errorCbs.length?r.errorCbs.forEach(function(e){e(t)}):console.error(t)),n&&n(t)};if(_(t,i)&&t.matched.length===i.matched.length)return this.ensureURL(),a();var s=function(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n-1?decodeURI(t.slice(0,r))+t.slice(r):decodeURI(t)}else n>-1&&(t=decodeURI(t.slice(0,n))+t.slice(n));return t}function jt(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function St(t){lt?dt(jt(t)):window.location.hash=t}function Pt(t){lt?ht(jt(t)):window.location.replace(jt(t))}var Tt=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(wt),Mt=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=J(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!lt&&!1!==t.fallback,this.fallback&&(e="hash"),A||(e="abstract"),this.mode=e,e){case"history":this.history=new $t(this,t.base);break;case"hash":this.history=new Ct(this,t.base,this.fallback);break;case"abstract":this.history=new Tt(this,t.base);break;default:0}},Lt={currentRoute:{configurable:!0}};function It(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}Mt.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Lt.currentRoute.get=function(){return this.history&&this.history.current},Mt.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null)}),!this.app){this.app=t;var n=this.history;if(n instanceof $t)n.transitionTo(n.getCurrentLocation());else if(n instanceof Ct){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},Mt.prototype.beforeEach=function(t){return It(this.beforeHooks,t)},Mt.prototype.beforeResolve=function(t){return It(this.resolveHooks,t)},Mt.prototype.afterEach=function(t){return It(this.afterHooks,t)},Mt.prototype.onReady=function(t,e){this.history.onReady(t,e)},Mt.prototype.onError=function(t){this.history.onError(t)},Mt.prototype.push=function(t,e,n){this.history.push(t,e,n)},Mt.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},Mt.prototype.go=function(t){this.history.go(t)},Mt.prototype.back=function(){this.go(-1)},Mt.prototype.forward=function(){this.go(1)},Mt.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},Mt.prototype.resolve=function(t,e,n){var r=Y(t,e=e||this.history.current,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(t,e,n){var r="hash"===n?"#"+e:e;return t?j(t+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},Mt.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Mt.prototype,Lt),Mt.install=function t(e){if(!t.installed||x!==e){t.installed=!0,x=e;var n=function(t){return void 0!==t},r=function(t,e){var r=t.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",a),e.component("RouterLink",O);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Mt.version="3.0.7",A&&window.Vue&&window.Vue.use(Mt);var Rt=Mt;var Nt=n(0),Ut={created(){this.$ssrContext&&(this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.description=this.$page.description||this.$description)},mounted(){this.currentMetaTags=new Set,this.updateMeta()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const t=this.$page.frontmatter.meta||[],e=t.slice(0);0===t.filter(t=>"description"===t.name).length&&e.push({name:"description",content:this.$description});const n=document.querySelectorAll('meta[name="description"]');n.length&&n.forEach(t=>this.currentMetaTags.add(t)),this.currentMetaTags=new Set(Dt(e,this.currentMetaTags))}},watch:{$page(){this.updateMeta()}},beforeDestroy(){Dt(null,this.currentMetaTags)}};function Dt(t,e){if(e&&[...e].forEach(t=>{document.head.removeChild(t)}),t)return t.map(t=>{const e=document.createElement("meta");return Object.keys(t).forEach(n=>{e.setAttribute(n,t[n])}),document.head.appendChild(e),e})}var Ft=n(31),Bt=[Ut,{mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(Ft)()(function(){this.setActiveHash()},300),setActiveHash(){const t=[].slice.call(document.querySelectorAll(".sidebar-link")),e=[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>t.some(t=>t.hash===e.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let t=0;t=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}}],zt={methods:{getLayout:function(){if(this.$page.path){var t=this.$page.frontmatter.layout;return t&&(this.$vuepress.getLayoutAsyncComponent(t)||this.$vuepress.getVueComponent(t))?t:"Layout"}return"NotFound"}},computed:{layout:function(){var t=this.getLayout();return Object(Nt.h)("layout",t),r.a.component(t)}}},Vt=n(2),Kt=Object(Vt.a)(zt,function(){var t=this.$createElement;return(this._self._c||t)(this.layout,{tag:"component"})},[],!1,null,null,null).exports;Object(Nt.f)(Kt,"mixins",Bt);const Ht=[{name:"v-cbd95058",path:"/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-cbd95058").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-796bf18c",path:"/guide/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-796bf18c").then(n)}},{path:"/guide/index.html",redirect:"/guide/"},{name:"v-77cc1ec7",path:"/guide/cluster/computing.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-77cc1ec7").then(n)}},{name:"v-46ec0327",path:"/guide/cluster/namespace.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-46ec0327").then(n)}},{name:"v-0a714732",path:"/guide/cluster/storage.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-0a714732").then(n)}},{name:"v-986dbade",path:"/guide/diagonize/events.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-986dbade").then(n)}},{name:"v-8d4dfbb6",path:"/guide/diagonize/logs.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-8d4dfbb6").then(n)}},{name:"v-76564011",path:"/guide/diagonize/port-forward.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-76564011").then(n)}},{name:"v-7434c187",path:"/guide/example/monitor.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-7434c187").then(n)}},{name:"v-8658c2f2",path:"/guide/example/busybox.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-8658c2f2").then(n)}},{name:"v-4db1779e",path:"/guide/monitor/apis.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-4db1779e").then(n)}},{name:"v-c0fa0cf2",path:"/guide/namespace/adjustion.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-c0fa0cf2").then(n)}},{name:"v-6c5acde7",path:"/guide/namespace/configMap.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-6c5acde7").then(n)}},{name:"v-1263fa20",path:"/guide/namespace/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-1263fa20").then(n)}},{path:"/guide/namespace/index.html",redirect:"/guide/namespace/"},{name:"v-0996c938",path:"/guide/monitor/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-0996c938").then(n)}},{path:"/guide/monitor/index.html",redirect:"/guide/monitor/"},{name:"v-9d44dcf2",path:"/guide/namespace/multi-env.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-9d44dcf2").then(n)}},{name:"v-240eddf2",path:"/guide/namespace/pvc.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-240eddf2").then(n)}},{name:"v-7d2f6cc7",path:"/guide/namespace/secrets.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-7d2f6cc7").then(n)}},{name:"v-5be22288",path:"/install/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-5be22288").then(n)}},{path:"/install/index.html",redirect:"/install/"},{name:"v-5db85fb7",path:"/guide/namespace/workload.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-5db85fb7").then(n)}},{name:"v-61ad5b01",path:"/install/install-common-ingress.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-61ad5b01").then(n)}},{name:"v-4b91c5e7",path:"/install/install-common-vm.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-4b91c5e7").then(n)}},{name:"v-c621d7f2",path:"/install/install-dashboard.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-c621d7f2").then(n)}},{name:"v-cfc76602",path:"/install/install-kind.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-cfc76602").then(n)}},{name:"v-7249b1a4",path:"/overview/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-7249b1a4").then(n)}},{path:"/overview/index.html",redirect:"/overview/"},{name:"v-5566a571",path:"/overview/why-kuboard.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-5566a571").then(n)}},{name:"v-76626758",path:"/support/",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-76626758").then(n)}},{path:"/support/index.html",redirect:"/support/"},{name:"v-554543f9",path:"/guide/example/import.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-554543f9").then(n)}},{name:"v-292f2847",path:"/install/install-k8s.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-292f2847").then(n)}},{name:"v-3732859b",path:"/install/install-kubernetes.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-3732859b").then(n)}},{name:"v-0393ebb2",path:"/overview/concepts.html",component:Kt,beforeEnter:(t,e,n)=>{Object(Nt.a)("Layout","v-0393ebb2").then(n)}},{path:"*",component:Kt}],qt={title:"Kuboard",description:"A cool Kubernetes Dashboard",base:"/",pages:[{title:"Home",frontmatter:{home:!0,heroImage:"/overview.png",actionText:"Get Started →",actionLink:"/overview/",features:[{title:"降低 Kubernetes 门槛",details:"创建工作负载,导出/导入配置,批量调整镜像版本,问题诊断"},{title:"直观显示微服务架构",details:"展现层/网关层/服务层/持久层/中间件层/监控层"},{title:"上下文关联监控",details:"资源层监控/中间件层监控/链路层监控"}],footer:"Copyright © 2019-present HuanQing Shao"},regularPath:"/",relativePath:"README.md",key:"v-cbd95058",path:"/",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"使用手册",frontmatter:{},regularPath:"/guide/",relativePath:"guide/README.md",key:"v-796bf18c",path:"/guide/",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"计算资源管理",frontmatter:{},regularPath:"/guide/cluster/computing.html",relativePath:"guide/cluster/computing.md",key:"v-77cc1ec7",path:"/guide/cluster/computing.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"添加节点",slug:"添加节点"},{level:2,title:"查看节点",slug:"查看节点"},{level:2,title:"移除节点",slug:"移除节点"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"名称空间管理",frontmatter:{},regularPath:"/guide/cluster/namespace.html",relativePath:"guide/cluster/namespace.md",key:"v-46ec0327",path:"/guide/cluster/namespace.html",headers:[{level:2,title:"创建名称空间",slug:"创建名称空间"},{level:3,title:"前提",slug:"前提"},{level:3,title:"准备",slug:"准备"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"存储空间管理",frontmatter:{},regularPath:"/guide/cluster/storage.html",relativePath:"guide/cluster/storage.md",key:"v-0a714732",path:"/guide/cluster/storage.html",headers:[{level:2,title:"创建存储类",slug:"创建存储类"},{level:3,title:"在阿里云创建 NAS 服务",slug:"在阿里云创建-nas-服务"},{level:3,title:"在 Kuboard 创建存储类",slug:"在-kuboard-创建存储类"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"集群事件",frontmatter:{},regularPath:"/guide/diagonize/events.html",relativePath:"guide/diagonize/events.md",key:"v-986dbade",path:"/guide/diagonize/events.html",headers:[{level:2,title:"错误事件提示",slug:"错误事件提示"},{level:2,title:"全局事件",slug:"全局事件"},{level:3,title:"查看全局事件",slug:"查看全局事件"},{level:3,title:"删除事件",slug:"删除事件"},{level:2,title:"微服务上下文相关的事件",slug:"微服务上下文相关的事件"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"日志及终端",frontmatter:{},regularPath:"/guide/diagonize/logs.html",relativePath:"guide/diagonize/logs.md",key:"v-8d4dfbb6",path:"/guide/diagonize/logs.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"端口转发",frontmatter:{},regularPath:"/guide/diagonize/port-forward.html",relativePath:"guide/diagonize/port-forward.md",key:"v-76564011",path:"/guide/diagonize/port-forward.html",headers:[{level:2,title:"Feature planned",slug:"feature-planned"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"监控 example (alpha)",frontmatter:{},regularPath:"/guide/example/monitor.html",relativePath:"guide/example/monitor.md",key:"v-7434c187",path:"/guide/example/monitor.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"安装监控套件",slug:"安装监控套件"},{level:3,title:"安装全局监控套件",slug:"安装全局监控套件"},{level:3,title:"安装名称空间监控套件",slug:"安装名称空间监控套件"},{level:3,title:"查看监控套件的工作负载",slug:"查看监控套件的工作负载"},{level:2,title:"重启 example 容器组",slug:"重启-example-容器组"},{level:2,title:"查看监控信息",slug:"查看监控信息"},{level:3,title:"查看资源层监控信息",slug:"查看资源层监控信息"},{level:3,title:"查看中间件层监控信息",slug:"查看中间件层监控信息"},{level:3,title:"查看链路追踪监控信息",slug:"查看链路追踪监控信息"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"部署 busybox",frontmatter:{},regularPath:"/guide/example/busybox.html",relativePath:"guide/example/busybox.md",key:"v-8658c2f2",path:"/guide/example/busybox.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"部署 busybox",slug:"部署-busybox-2"},{level:2,title:"验证工作负载",slug:"验证工作负载"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"自定义监控套件",frontmatter:{},regularPath:"/guide/monitor/apis.html",relativePath:"guide/monitor/apis.md",key:"v-4db1779e",path:"/guide/monitor/apis.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"日常调整",frontmatter:{},regularPath:"/guide/namespace/adjustion.html",relativePath:"guide/namespace/adjustion.md",key:"v-c0fa0cf2",path:"/guide/namespace/adjustion.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"批量删除容器组",slug:"批量删除容器组"},{level:2,title:"批量调整镜像版本",slug:"批量调整镜像版本"},{level:2,title:"批量调整工作负载的副本数",slug:"批量调整工作负载的副本数"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"配置",frontmatter:{},regularPath:"/guide/namespace/configMap.html",relativePath:"guide/namespace/configMap.md",key:"v-6c5acde7",path:"/guide/namespace/configMap.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"应用管理",frontmatter:{},regularPath:"/guide/namespace/",relativePath:"guide/namespace/index.md",key:"v-1263fa20",path:"/guide/namespace/",headers:[{level:2,title:"创建工作负载",slug:"创建工作负载"},{level:2,title:"删除工作负载",slug:"删除工作负载"},{level:2,title:"伸缩",slug:"伸缩"},{level:2,title:"升级工作负载版本",slug:"升级工作负载版本"},{level:2,title:"环境迁移",slug:"环境迁移"},{level:3,title:"导出",slug:"导出"},{level:3,title:"导入",slug:"导入"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"监控套件",frontmatter:{},regularPath:"/guide/monitor/",relativePath:"guide/monitor/README.md",key:"v-0996c938",path:"/guide/monitor/",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"多环境",frontmatter:{},regularPath:"/guide/namespace/multi-env.html",relativePath:"guide/namespace/multi-env.md",key:"v-9d44dcf2",path:"/guide/namespace/multi-env.html",headers:[{level:2,title:"导出配置",slug:"导出配置"},{level:3,title:"前提",slug:"前提"},{level:3,title:"操作步骤",slug:"操作步骤"},{level:2,title:"导入配置",slug:"导入配置"},{level:3,title:"前提",slug:"前提-2"},{level:3,title:"操作步骤",slug:"操作步骤-2"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"存储卷声明",frontmatter:{},regularPath:"/guide/namespace/pvc.html",relativePath:"guide/namespace/pvc.md",key:"v-240eddf2",path:"/guide/namespace/pvc.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"Secrets",frontmatter:{},regularPath:"/guide/namespace/secrets.html",relativePath:"guide/namespace/secrets.md",key:"v-7d2f6cc7",path:"/guide/namespace/secrets.html",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"概述",frontmatter:{},regularPath:"/install/",relativePath:"install/README.md",key:"v-5be22288",path:"/install/",lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"工作负载",frontmatter:{},regularPath:"/guide/namespace/workload.html",relativePath:"guide/namespace/workload.md",key:"v-5db85fb7",path:"/guide/namespace/workload.html",headers:[{level:2,title:"创建/查看/编辑工作负载",slug:"创建-查看-编辑工作负载"},{level:2,title:"伸缩",slug:"伸缩"},{level:2,title:"删除容器组",slug:"删除容器组"},{level:2,title:"诊断问题",slug:"诊断问题"},{level:3,title:"事件: Kubernetes 部署相关问题",slug:"事件:-kubernetes-部署相关问题"},{level:3,title:"日志: 容器运行时产生的错误",slug:"日志:-容器运行时产生的错误"},{level:3,title:"终端: 通过交互式命令,在容器内诊断问题",slug:"终端:-通过交互式命令,在容器内诊断问题"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"安装 Ingress Controller",frontmatter:{},regularPath:"/install/install-common-ingress.html",relativePath:"install/install-common-ingress.md",key:"v-61ad5b01",path:"/install/install-common-ingress.html",headers:[{level:2,title:"安装 Ingress Controller",slug:"安装-ingress-controller"},{level:3,title:"在 apple-master-a-1 上执行",slug:"在-apple-master-a-1-上执行"},{level:3,title:"在IaaS云控制台完成如下配置(公网ELB)",slug:"在iaas云控制台完成如下配置(公网elb)"},{level:3,title:"配置域名解析",slug:"配置域名解析"},{level:3,title:"验证配置",slug:"验证配置"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"制作标准机镜像",frontmatter:{},regularPath:"/install/install-common-vm.html",relativePath:"install/install-common-vm.md",key:"v-4b91c5e7",path:"/install/install-common-vm.html",headers:[{level:2,title:"制作标准机镜像",slug:"制作标准机镜像"},{level:3,title:"安装docker",slug:"安装docker"},{level:3,title:"安装 nfs-utils",slug:"安装-nfs-utils"},{level:3,title:"K8S基本配置",slug:"k8s基本配置"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"安装 kuboard",frontmatter:{},regularPath:"/install/install-dashboard.html",relativePath:"install/install-dashboard.md",key:"v-c621d7f2",path:"/install/install-dashboard.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"兼容性",slug:"兼容性"},{level:2,title:"安装",slug:"安装"},{level:2,title:"获取 token",slug:"获取-token"},{level:3,title:"获取管理员用户 token",slug:"获取管理员用户-token"},{level:3,title:"获取只读用户的Token",slug:"获取只读用户的token"},{level:2,title:"访问 Kuboard",slug:"访问-kuboard"},{level:3,title:"通过域名访问",slug:"通过域名访问"},{level:3,title:"通过 NodePort 访问",slug:"通过-nodeport-访问"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"在单机使用 kind 安装 Kubernetes",frontmatter:{},regularPath:"/install/install-kind.html",relativePath:"install/install-kind.md",key:"v-cfc76602",path:"/install/install-kind.html",headers:[{level:2,title:"环境简介",slug:"环境简介"},{level:3,title:"kind 简介与安装",slug:"kind-简介与安装"},{level:3,title:"docker 环境",slug:"docker-环境"},{level:3,title:"kubectl 安装",slug:"kubectl-安装"},{level:2,title:"k8s 集群搭建",slug:"k8s-集群搭建"},{level:3,title:"准备 kind 搭建集群配置文件 kind-config.yaml",slug:"准备-kind-搭建集群配置文件-kind-config-yaml"},{level:3,title:"使用 kind 搭建集群",slug:"使用-kind-搭建集群"},{level:3,title:"创建成功",slug:"创建成功"},{level:2,title:"kuboard 安装",slug:"kuboard-安装"},{level:3,title:"获取并修改 yaml 文件",slug:"获取并修改-yaml-文件"},{level:3,title:"执行安装",slug:"执行安装"},{level:3,title:"查看启动状态",slug:"查看启动状态"},{level:3,title:"访问 kuboard 页面",slug:"访问-kuboard-页面"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"Kuboard",frontmatter:{},regularPath:"/overview/",relativePath:"overview/README.md",key:"v-7249b1a4",path:"/overview/",headers:[{level:2,title:"Kuboard",slug:"kuboard"},{level:2,title:"Demo",slug:"demo"},{level:2,title:"Getting Started",slug:"getting-started"},{level:2,title:"在线提问",slug:"在线提问"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"为什么选择 Kuboard",frontmatter:{},regularPath:"/overview/why-kuboard.html",relativePath:"overview/why-kuboard.md",key:"v-5566a571",path:"/overview/why-kuboard.html",headers:[{level:2,title:"为什么选择 Kuboard",slug:"为什么选择-kuboard"},{level:2,title:"Kubernetes 入门学习者",slug:"kubernetes-入门学习者"},{level:3,title:"集群概览",slug:"集群概览"},{level:3,title:"名称空间",slug:"名称空间"},{level:3,title:"无需手写 Yaml",slug:"无需手写-yaml"},{level:2,title:"Kubernetes 日常运维人员",slug:"kubernetes-日常运维人员"},{level:3,title:"纯图形界面运维 Kubernetes",slug:"纯图形界面运维-kubernetes"},{level:3,title:"多环境复制",slug:"多环境复制"},{level:3,title:"应用升级",slug:"应用升级"},{level:2,title:"0 侵入性",slug:"_0-侵入性"},{level:2,title:"更多资料",slug:"更多资料"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"提交问题",frontmatter:{},regularPath:"/support/",relativePath:"support/README.md",key:"v-76626758",path:"/support/",headers:[{level:2,title:"提交问题",slug:"提交问题"},{level:2,title:"在线提问",slug:"在线提问"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"导入 example 微服务",frontmatter:{},regularPath:"/guide/example/import.html",relativePath:"guide/example/import.md",key:"v-554543f9",path:"/guide/example/import.html",headers:[{level:2,title:"前提",slug:"前提"},{level:2,title:"创建存储资源",slug:"创建存储资源"},{level:2,title:"创建名称空间",slug:"创建名称空间"},{level:2,title:"导入 example",slug:"导入-example"},{level:2,title:"验证 web-example",slug:"验证-web-example"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"安装 Kubernetes 用于测试",frontmatter:{},regularPath:"/install/install-k8s.html",relativePath:"install/install-k8s.md",key:"v-292f2847",path:"/install/install-k8s.html",headers:[{level:2,title:"制作标准机镜像",slug:"制作标准机镜像"},{level:3,title:"安装docker",slug:"安装docker"},{level:3,title:"安装 nfs-utils",slug:"安装-nfs-utils"},{level:3,title:"K8S基本配置",slug:"k8s基本配置"},{level:2,title:"初始化 master 节点",slug:"初始化-master-节点"},{level:3,title:"在 demo-master-a-1 机器上执行",slug:"在-demo-master-a-1-机器上执行"},{level:3,title:"检查 apiserver初始化结果",slug:"检查-apiserver初始化结果"},{level:2,title:"初始化 worker节点",slug:"初始化-worker节点"},{level:3,title:"获得 join命令参数",slug:"获得-join命令参数"},{level:3,title:"初始化worker",slug:"初始化worker"},{level:3,title:"检查 apiserver初始化结果",slug:"检查-apiserver初始化结果-2"},{level:2,title:"移除 worker 节点",slug:"移除-worker-节点"},{level:2,title:"安装 Ingress Controller",slug:"安装-ingress-controller"},{level:3,title:"在 demo-master-a-1 上执行",slug:"在-demo-master-a-1-上执行"},{level:3,title:"配置域名解析",slug:"配置域名解析"},{level:3,title:"验证配置",slug:"验证配置"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"安装 Kubernetes",frontmatter:{},regularPath:"/install/install-kubernetes.html",relativePath:"install/install-kubernetes.md",key:"v-3732859b",path:"/install/install-kubernetes.html",headers:[{level:2,title:"制作标准机镜像",slug:"制作标准机镜像"},{level:3,title:"安装docker",slug:"安装docker"},{level:3,title:"安装 nfs-utils",slug:"安装-nfs-utils"},{level:3,title:"K8S基本配置",slug:"k8s基本配置"},{level:2,title:"初始化API Server",slug:"初始化api-server"},{level:3,title:"创建 ApiServer 的 ELB(私网)",slug:"创建-apiserver-的-elb(私网)"},{level:3,title:"初始化第一个master节点",slug:"初始化第一个master节点"},{level:3,title:"初始化第二、三个master节点",slug:"初始化第二、三个master节点"},{level:3,title:"检查 apiserver初始化结果",slug:"检查-apiserver初始化结果"},{level:2,title:"初始化 worker节点",slug:"初始化-worker节点"},{level:3,title:"获得 join命令参数",slug:"获得-join命令参数"},{level:3,title:"初始化worker",slug:"初始化worker"},{level:3,title:"检查 apiserver初始化结果",slug:"检查-apiserver初始化结果-2"},{level:2,title:"移除 worker 节点",slug:"移除-worker-节点"},{level:2,title:"安装 Ingress Controller",slug:"安装-ingress-controller"},{level:3,title:"在 apple-master-a-1 上执行",slug:"在-apple-master-a-1-上执行"},{level:3,title:"在IaaS云控制台完成如下配置(公网ELB)",slug:"在iaas云控制台完成如下配置(公网elb)"},{level:3,title:"配置域名解析",slug:"配置域名解析"},{level:3,title:"验证配置",slug:"验证配置"}],lastUpdated:"7/25/2019, 6:22:52 AM"},{title:"Kubernetes 入门",frontmatter:{},regularPath:"/overview/concepts.html",relativePath:"overview/concepts.md",key:"v-0393ebb2",path:"/overview/concepts.html",headers:[{level:2,title:"Kubernetes 学习门槛在哪儿",slug:"kubernetes-学习门槛在哪儿"},{level:2,title:"降低 Kubernetes 学习门槛",slug:"降低-kubernetes-学习门槛"},{level:2,title:"工作负载编辑器设计",slug:"工作负载编辑器设计"},{level:2,title:"工作负载编辑器介绍",slug:"工作负载编辑器介绍"},{level:3,title:"1. 基本信息",slug:"_1-基本信息"},{level:3,title:"2. 数据卷",slug:"_2-数据卷"},{level:3,title:"3. 身份信息",slug:"_3-身份信息"},{level:3,title:"4. 容器",slug:"_4-容器"},{level:3,title:"5. 访问方式",slug:"_5-访问方式"},{level:3,title:"6. 互联网入口",slug:"_6-互联网入口"}],lastUpdated:"7/25/2019, 6:22:52 AM"}],themeConfig:{nav:[{text:"简介",link:"/overview/"},{text:"安装",link:"/install/"},{text:"使用",link:"/guide/"},{text:"支持",link:"/support/"}],displayAllHeaders:!1,sidebarDepth:2,serviceWorker:{updatePopup:!0},sidebar:{"/overview/":[["","简介"],["why-kuboard","为什么选择 Kuboard"],["concepts","如何降低K8S学习门槛"]],"/install/":["","install-k8s","install-kubernetes","install-dashboard"],"/guide/":[{title:"概述",collapsable:!1,children:[["","概述"]]},{title:"Example",collapsable:!1,children:["example/busybox","example/import","example/monitor"]},{title:"集群管理",collapsable:!1,children:["cluster/computing","cluster/storage","cluster/namespace"]},{title:"应用管理",collapsable:!1,children:["namespace/workload","namespace/secrets","namespace/configMap","namespace/pvc","namespace/adjustion","namespace/multi-env"]},{title:"问题诊断",collapsable:!1,children:["diagonize/events","diagonize/logs","diagonize/port-forward"]},{title:"监控套件 (alpha)",collapsable:!1,children:["monitor/","monitor/apis"]}],"/support/":[""]}}};n(44);r.a.component("Badge",()=>Promise.all([n.e(0),n.e(24)]).then(n.bind(null,360)));n(45);var Wt=n(32),Gt=n.n(Wt),Xt={props:{threshold:{type:Number,default:300}},data:function(){return{scrollTop:null}},mounted:function(){var t=this;this.scrollTop=this.getScrollTop(),window.addEventListener("scroll",Gt()(function(){t.scrollTop=t.getScrollTop()},100))},methods:{getScrollTop:function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},scrollToTop:function(){window.scrollTo({top:0,behavior:"smooth"}),this.scrollTop=0}},computed:{show:function(){return this.scrollTop>this.threshold}}},Yt=(n(54),Object(Vt.a)(Xt,function(){var t=this.$createElement,e=this._self._c||t;return e("transition",{attrs:{name:"fade"}},[this.show?e("svg",{staticClass:"go-to-top",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49.484 28.284"},on:{click:this.scrollToTop}},[e("g",{attrs:{transform:"translate(-229 -126.358)"}},[e("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(229 151.107) rotate(-45)"}}),this._v(" "),e("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(274.949 154.642) rotate(-135)"}})])]):this._e()])},[],!1,null,"67a9666a",null).exports);n(5);r.a.component("SWUpdatePopup",()=>Promise.all([n.e(0),n.e(23)]).then(n.bind(null,334)));var Jt=[{},({Vue:t})=>{t.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},({router:t})=>{"undefined"!=typeof window&&(function(t,e,n,r,o,i,a){t.GoogleAnalyticsObject=o,t.ga=t.ga||function(){(t.ga.q=t.ga.q||[]).push(arguments)},t.ga.l=1*new Date,i=e.createElement(n),a=e.getElementsByTagName(n)[0],i.async=1,i.src="https://www.google-analytics.com/analytics.js",a.parentNode.insertBefore(i,a)}(window,document,"script",0,"ga"),ga("create","UA-144196556-1","auto"),ga("set","anonymizeIp",!0),ga("send","pageview"),t.afterEach(function(t){ga("set","page",t.fullPath),ga("send","pageview")}))},({Vue:t})=>{t.component("BackToTop",Yt)},({router:t,isServer:e})=>{t.onReady(()=>{})}],Qt=["BackToTop","SWUpdatePopup"];class Zt{constructor(){this.store=new r.a({data:{state:{}}})}$get(t){return this.store.state[t]}$set(t,e){r.a.set(this.store.state,t,e)}$emit(...t){this.store.$emit(...t)}$on(...t){this.store.$on(...t)}}class te extends Zt{}Object.assign(te.prototype,{getPageAsyncComponent:Nt.d,getLayoutAsyncComponent:Nt.c,getAsyncComponent:Nt.b,getVueComponent:Nt.e});var ee={install(t){const e=new te;t.$vuepress=e,t.prototype.$vuepress=e}};function ne(t,e){return t.options.routes.filter(t=>t.path.toLowerCase()===e.toLowerCase()).length>0}var re={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(t){const e=this.pageKey||this.$parent.$page.key;return Object(Nt.h)("pageKey",e),r.a.component(e)||r.a.component(e,Object(Nt.d)(e)),t(e||"")}},oe={functional:!0,props:{slotKey:String,required:!0},render:(t,{props:e,slots:n})=>t("div",{class:[`content__${e.slotKey}`]},n()[e.slotKey])},ie=(n(55),Object(Vt.a)({},function(t,e){var n=e._c;return n("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[n("path",{attrs:{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"}}),e._v(" "),n("polygon",{attrs:{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"}})])},[],!0,null,null,null).exports),ae={functional:!0,render(t,{parent:e,children:n}){if(e._isMounted)return n;e.$once("hook:mounted",()=>{e.$forceUpdate()})}};r.a.config.productionTip=!1,r.a.use(Rt),r.a.use(ee),r.a.mixin(function(t,e,n=r.a){!function(t){t.locales&&Object.keys(t.locales).forEach(e=>{t.locales[e].path=e}),Object.freeze(t)}(e),n.$vuepress.$set("siteData",e);const o=new(t(n.$vuepress.$get("siteData"))),i=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(o)),a={};return Object.keys(i).reduce((t,e)=>(e.startsWith("$")&&(t[e]=i[e].get),t),a),{computed:a}}(t=>(class{setPage(t){this.__page=t}get $site(){return t}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:t={}}=this.$site;let e,n;for(const r in t)"/"===r?n=t[r]:0===this.$page.path.indexOf(r)&&(e=t[r]);return e||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $title(){const t=this.$page,{metaTitle:e}=this.$page.frontmatter;if("string"==typeof e)return e;const n=this.$siteTitle,r=t.frontmatter.home?null:t.frontmatter.title||t.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const t=function(t){if(t){const e=t.filter(t=>"description"===t.name)[0];if(e)return e.content}}(this.$page.frontmatter.meta);return t||this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||""}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(t,e){for(let n=0;nn||(t.hash?!r.a.$vuepress.$get("disableScrollBehavior")&&{selector:t.hash}:{x:0,y:0})});!function(t){t.beforeEach((e,n,r)=>{if(ne(t,e.path))r();else if(/(\/|\.html)$/.test(e.path))if(/\/$/.test(e.path)){const n=e.path.replace(/\/$/,"")+".html";ne(t,n)?r(n):r()}else r();else{const n=e.path+"/",o=e.path+".html";ne(t,o)?r(o):ne(t,n)?r(n):r()}})}(n);const o={};try{Jt.forEach(e=>{"function"==typeof e&&e({Vue:r.a,options:o,router:n,siteData:qt,isServer:t})})}catch(t){console.error(t)}return{app:new r.a(Object.assign(o,{router:n,render:t=>t("div",{attrs:{id:"app"}},[t("router-view",{ref:"layout"}),t("div",{class:"global-ui"},Qt.map(e=>t(e)))])})),router:n}}(!1);window.__VUEPRESS__={version:"1.0.2",hash:"4878ac1"},le.onReady(()=>{se.$mount("#app")})}]); \ No newline at end of file diff --git a/docs/guide/cluster/computing.html b/docs/guide/cluster/computing.html index c197291..fee0aed 100644 --- a/docs/guide/cluster/computing.html +++ b/docs/guide/cluster/computing.html @@ -7,7 +7,7 @@ - + @@ -21,6 +21,6 @@ →

- + diff --git a/docs/guide/cluster/namespace.html b/docs/guide/cluster/namespace.html index 01aa63b..36b4628 100644 --- a/docs/guide/cluster/namespace.html +++ b/docs/guide/cluster/namespace.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/guide/cluster/storage.html b/docs/guide/cluster/storage.html index 8bdcb51..6643c29 100644 --- a/docs/guide/cluster/storage.html +++ b/docs/guide/cluster/storage.html @@ -7,7 +7,7 @@ - + @@ -22,6 +22,6 @@ sudo mount -t nfs -o vers=4,minorversion=0,noresvport - + diff --git a/docs/guide/diagonize/events.html b/docs/guide/diagonize/events.html index 1639235..88a3734 100644 --- a/docs/guide/diagonize/events.html +++ b/docs/guide/diagonize/events.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/guide/diagonize/logs.html b/docs/guide/diagonize/logs.html index 544c751..9cea23f 100644 --- a/docs/guide/diagonize/logs.html +++ b/docs/guide/diagonize/logs.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/guide/diagonize/port-forward.html b/docs/guide/diagonize/port-forward.html index ff0b55d..a496cdf 100644 --- a/docs/guide/diagonize/port-forward.html +++ b/docs/guide/diagonize/port-forward.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/guide/example/busybox.html b/docs/guide/example/busybox.html index e165179..ff77861 100644 --- a/docs/guide/example/busybox.html +++ b/docs/guide/example/busybox.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/guide/example/import.html b/docs/guide/example/import.html index e43760f..ef906f1 100644 --- a/docs/guide/example/import.html +++ b/docs/guide/example/import.html @@ -7,7 +7,7 @@ - + @@ -53,6 +53,6 @@ com.netflix.discovery.shared.transport.TransportException: Cannot execute reques →

- + diff --git a/docs/guide/example/monitor.html b/docs/guide/example/monitor.html index b4e4823..c6149bb 100644 --- a/docs/guide/example/monitor.html +++ b/docs/guide/example/monitor.html @@ -7,7 +7,7 @@ - + @@ -21,6 +21,6 @@ →

- + diff --git a/docs/guide/index.html b/docs/guide/index.html index 553550c..c29a74c 100644 --- a/docs/guide/index.html +++ b/docs/guide/index.html @@ -7,7 +7,7 @@ - + @@ -16,6 +16,6 @@ →

- + diff --git a/docs/guide/monitor/apis.html b/docs/guide/monitor/apis.html index 107fc60..b1cc62e 100644 --- a/docs/guide/monitor/apis.html +++ b/docs/guide/monitor/apis.html @@ -7,7 +7,7 @@ - + @@ -16,6 +16,6 @@

- + diff --git a/docs/guide/monitor/index.html b/docs/guide/monitor/index.html index 2a22fe9..7e6f97e 100644 --- a/docs/guide/monitor/index.html +++ b/docs/guide/monitor/index.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/guide/namespace/adjustion.html b/docs/guide/namespace/adjustion.html index 5173079..78c9298 100644 --- a/docs/guide/namespace/adjustion.html +++ b/docs/guide/namespace/adjustion.html @@ -7,7 +7,7 @@ - + @@ -21,6 +21,6 @@ →

- + diff --git a/docs/guide/namespace/configMap.html b/docs/guide/namespace/configMap.html index e31ee08..7d951dc 100644 --- a/docs/guide/namespace/configMap.html +++ b/docs/guide/namespace/configMap.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/guide/namespace/index.html b/docs/guide/namespace/index.html index aa3c353..164c17c 100644 --- a/docs/guide/namespace/index.html +++ b/docs/guide/namespace/index.html @@ -7,11 +7,11 @@ - +

应用管理

创建工作负载

删除工作负载

伸缩

升级工作负载版本

环境迁移

导出

导入

Last Updated: 7/25/2019, 6:22:52 AM
- + diff --git a/docs/guide/namespace/multi-env.html b/docs/guide/namespace/multi-env.html index da449b4..4817493 100644 --- a/docs/guide/namespace/multi-env.html +++ b/docs/guide/namespace/multi-env.html @@ -7,7 +7,7 @@ - + @@ -42,6 +42,6 @@ →

- + diff --git a/docs/guide/namespace/pvc.html b/docs/guide/namespace/pvc.html index 3b13c4f..629fbf3 100644 --- a/docs/guide/namespace/pvc.html +++ b/docs/guide/namespace/pvc.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/guide/namespace/secrets.html b/docs/guide/namespace/secrets.html index 71a595a..bcb0eb0 100644 --- a/docs/guide/namespace/secrets.html +++ b/docs/guide/namespace/secrets.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/guide/namespace/workload.html b/docs/guide/namespace/workload.html index b5a5bed..03f14b5 100644 --- a/docs/guide/namespace/workload.html +++ b/docs/guide/namespace/workload.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@ →

- + diff --git a/docs/index.html b/docs/index.html index fc24eb4..42874f6 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,7 +7,7 @@ - + @@ -16,6 +16,6 @@

Get Started →

降低 Kubernetes 门槛

创建工作负载,导出/导入配置,批量调整镜像版本,问题诊断

直观显示微服务架构

展现层/网关层/服务层/持久层/中间件层/监控层

上下文关联监控

资源层监控/中间件层监控/链路层监控

- + diff --git a/docs/install/index.html b/docs/install/index.html index 1881b3f..fbea244 100644 --- a/docs/install/index.html +++ b/docs/install/index.html @@ -7,7 +7,7 @@ - + @@ -16,6 +16,6 @@ →

- + diff --git a/docs/install/install-common-ingress.html b/docs/install/install-common-ingress.html index 991db0e..22982d9 100644 --- a/docs/install/install-common-ingress.html +++ b/docs/install/install-common-ingress.html @@ -7,13 +7,13 @@ - +

安装 Ingress Controller

ingress官方文档:https://kubernetes.io/docs/concepts/services-networking/ingress/

Ingress Controllers官网介绍:https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/

本文中使用如下部署方式:https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#using-a-self-provisioned-edge

kubernetes支持多种Ingress Controllers,本文推荐使用

https://github.com/nginxinc/kubernetes-ingress

在 apple-master-a-1 上执行

su - gitlab-runner
 kubectl apply -f https://raw.githubusercontent.com/eip-work/eip-monitor-repository/master/dashboard/nginx-ingress.yaml
 

在IaaS云控制台完成如下配置(公网ELB

创建负载均衡 ELB:

​ 监听器 1:80 / TCP, SOURCE_ADDRESS 会话保持

​ 服务器资源池 1: apple-worker-x-x 的所有节点的 80端口

​ 监听器 2:443 / TCP, SOURCE_ADDRESS 会话保持

​ 服务器资源池 2: apple-worker-x-x 的所有节点的443端口

假设刚创建的负载均衡 ELB 的 IP 地址为: z.z.z.z

配置域名解析

将域名 *.apple.yourdomain.com 解析到地址负载均衡服务器 的 IP 地址 z.z.z.z

验证配置

在浏览器访问 a.apple.yourdomain.com,将得到 404 NotFound 错误页面

Last Updated: 7/25/2019, 6:22:52 AM
- + diff --git a/docs/install/install-common-vm.html b/docs/install/install-common-vm.html index 2ca2c43..c7069bc 100644 --- a/docs/install/install-common-vm.html +++ b/docs/install/install-common-vm.html @@ -7,7 +7,7 @@ - + @@ -70,6 +70,6 @@ docker tag da86e6ba6ca1 k8s.gcr.io/pause:3.1 docker tag eb516548c180 k8s.gcr.io/coredns:1.3.1 docker tag 2c4adeb21b4f k8s.gcr.io/etcd:3.3.10

制作镜像

请参考阿里云基于ECS 制作虚拟机镜像 的文档

Last Updated: 7/25/2019, 6:22:52 AM
- + diff --git a/docs/install/install-dashboard.html b/docs/install/install-dashboard.html index bc53522..f11e54e 100644 --- a/docs/install/install-dashboard.html +++ b/docs/install/install-dashboard.html @@ -7,7 +7,7 @@ - + @@ -34,6 +34,6 @@ token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2Nv

- + diff --git a/docs/install/install-k8s.html b/docs/install/install-k8s.html index 71807ce..60ed0fe 100644 --- a/docs/install/install-k8s.html +++ b/docs/install/install-k8s.html @@ -7,7 +7,7 @@ - + @@ -101,6 +101,6 @@ kubeadm join apiserver.demo:6443 --token mpf →

- + diff --git a/docs/install/install-kind.html b/docs/install/install-kind.html index 5aa0423..c46a872 100644 --- a/docs/install/install-kind.html +++ b/docs/install/install-kind.html @@ -7,7 +7,7 @@ - + @@ -37,6 +37,6 @@ sudo mv ./kubectl /usr/local/bin/kubectl

等待 kuboard 启动成功

访问 kuboard 页面

待启动成功后,需要做 80 端口转发,通过浏览器访问 kuboard

kubectl port-forward service/kuboard 9080:80 -n kube-system
 

获取登录 token

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}')   
 

1563698644736

浏览器中访问 http://localhost:9080

1563698714557

将获取的 token 复制到浏览器中,访问成功

1563698865448

Last Updated: 7/25/2019, 6:22:52 AM
- + diff --git a/docs/install/install-kubernetes.html b/docs/install/install-kubernetes.html index 109e7e6..9c95901 100644 --- a/docs/install/install-kubernetes.html +++ b/docs/install/install-kubernetes.html @@ -7,7 +7,7 @@ - + @@ -119,6 +119,6 @@ kubectl apply -f https://raw.githubusercontent.com/eip-work/eip-monitor-reposito →

- + diff --git a/docs/overview/concepts.html b/docs/overview/concepts.html index d54b80a..a00170e 100644 --- a/docs/overview/concepts.html +++ b/docs/overview/concepts.html @@ -7,7 +7,7 @@ - + @@ -20,6 +20,6 @@

- + diff --git a/docs/overview/index.html b/docs/overview/index.html index 7249f33..4bb97b7 100644 --- a/docs/overview/index.html +++ b/docs/overview/index.html @@ -7,7 +7,7 @@ - + @@ -17,6 +17,6 @@ →

- + diff --git a/docs/overview/why-kuboard.html b/docs/overview/why-kuboard.html index 3cee5dd..211fb9f 100644 --- a/docs/overview/why-kuboard.html +++ b/docs/overview/why-kuboard.html @@ -7,7 +7,7 @@ - + @@ -26,6 +26,6 @@ →

- + diff --git a/docs/service-worker.js b/docs/service-worker.js deleted file mode 100644 index 3c40b71..0000000 --- a/docs/service-worker.js +++ /dev/null @@ -1,876 +0,0 @@ -/** - * Welcome to your Workbox-powered service worker! - * - * You'll need to register this file in your web app and you should - * disable HTTP caching for this file too. - * See https://goo.gl/nhQhGp - * - * The rest of the code is auto-generated. Please don't update this file - * directly; instead, make changes to your Workbox build configuration - * and re-run your build process. - * See https://goo.gl/2aRDsh - */ - -importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js"); - -/** - * The workboxSW.precacheAndRoute() method efficiently caches and responds to - * requests for URLs in the manifest. - * See https://goo.gl/S9QRab - */ -self.__precacheManifest = [ - { - "url": "404.html", - "revision": "c820adae3f5324037f10dddbeb45a6cc" - }, - { - "url": "assets/css/0.styles.9eed2d52.css", - "revision": "bfde98cb7c2b739ff45ffcb2645919d9" - }, - { - "url": "assets/img/1563696697515.94512132.png", - "revision": "94512132f7117c5d39f63bdda9074ba5" - }, - { - "url": "assets/img/1563697667480.8c846298.png", - "revision": "8c8462986155344da18155e2f0b29a42" - }, - { - "url": "assets/img/1563698644736.d67b2e09.png", - "revision": "d67b2e09a640ccda97d9828b3bca141d" - }, - { - "url": "assets/img/1563698714557.fa1eeb1c.png", - "revision": "fa1eeb1ca6dc9507981f03ac735afb17" - }, - { - "url": "assets/img/1563698865448.2cbaf53a.png", - "revision": "2cbaf53a19fefa266696a1de2ebb1093" - }, - { - "url": "assets/img/image-20190713075717350.df5244cd.png", - "revision": "df5244cd9bc209c2375e7d76f72aa415" - }, - { - "url": "assets/img/image-20190715085036593.ab4a32ff.png", - "revision": "ab4a32ff7cd3319add9c4c4bb73ba268" - }, - { - "url": "assets/img/image-20190715101542756.5934c00e.png", - "revision": "5934c00e1921c46ed00c188b9cc45628" - }, - { - "url": "assets/img/image-20190715193838012.eca23618.png", - "revision": "eca23618c58ca9b047ebe9baf2507435" - }, - { - "url": "assets/img/image-20190716234146419.bd87cdff.png", - "revision": "bd87cdff9ea68f25516cf24b92a3f212" - }, - { - "url": "assets/img/image-20190717113807552.b3fe5f7d.png", - "revision": "b3fe5f7d75101bc3235c4eb02839fa90" - }, - { - "url": "assets/img/image-20190717114304953.854b47d8.png", - "revision": "854b47d89893dcfb12fbcf81fdd3187e" - }, - { - "url": "assets/img/image-20190717114354610.6d522c25.png", - "revision": "6d522c25fb9c816d970edc5c771e1498" - }, - { - "url": "assets/img/image-20190717115020848.eec5a17e.png", - "revision": "eec5a17e8dd8f3646ea72966c9a8bc8b" - }, - { - "url": "assets/img/image-20190717115403374.48894c27.png", - "revision": "48894c277005d3636d35f32e9bfa1164" - }, - { - "url": "assets/img/image-20190717115457614.c7f0d044.png", - "revision": "c7f0d0444a39a3dee02bc3bfee744b80" - }, - { - "url": "assets/img/image-20190717115829821.63b81f36.png", - "revision": "63b81f367ef0890a6bacb8872d3eb076" - }, - { - "url": "assets/img/image-20190717193548703.5167e3b9.png", - "revision": "5167e3b983ff4b5436af1a19ff8bf966" - }, - { - "url": "assets/img/image-20190718104156232.8f0c70ed.png", - "revision": "8f0c70ed3bfc49a82ace99b3fadc55e4" - }, - { - "url": "assets/img/image-20190718104729472.ef92267c.png", - "revision": "ef92267c125b427ff018fb9011ea90ee" - }, - { - "url": "assets/img/image-20190718105420599.71e5df51.png", - "revision": "71e5df511d41037c07206bdd6513441f" - }, - { - "url": "assets/img/image-20190718105641651.16549369.png", - "revision": "16549369ef87e153dc1ff1c955207105" - }, - { - "url": "assets/img/image-20190718120957255.0e01130f.png", - "revision": "0e01130f955b9a5f69cbb031f3a66834" - }, - { - "url": "assets/img/image-20190718121133160.0d0a8e13.png", - "revision": "0d0a8e13ebef1b2a28d66266a2578d7a" - }, - { - "url": "assets/img/image-20190718175957160.f5abe01a.png", - "revision": "f5abe01a3afcc7b98bc9171c481d5714" - }, - { - "url": "assets/img/image-20190720224950653.857d1b1e.png", - "revision": "857d1b1ea22aa0766bb85fdb07fe3934" - }, - { - "url": "assets/img/image-20190720225123111.c2b02f0c.png", - "revision": "c2b02f0ca2f2246e3b225ea46b77b3e3" - }, - { - "url": "assets/img/image-20190720225222622.2081299f.png", - "revision": "2081299f87d2794fe2b12ebd57df1331" - }, - { - "url": "assets/img/image-20190720232405147.8fc011f9.png", - "revision": "8fc011f9f7a3d6c8d4a7a4ca35412012" - }, - { - "url": "assets/img/image-20190720233322837.998be85a.png", - "revision": "998be85a4c7bd8549e0d20e2d0937bfc" - }, - { - "url": "assets/img/image-20190720233348284.2360801d.png", - "revision": "2360801dbee684cb842e934a09f67668" - }, - { - "url": "assets/img/image-20190720233412812.4f5ce20f.png", - "revision": "4f5ce20f3ad5757eb34124ded10c3424" - }, - { - "url": "assets/img/image-20190720233436465.6d8cf61e.png", - "revision": "6d8cf61eba02af12374682983e586bdb" - }, - { - "url": "assets/img/image-20190720233512996.d7ba2b19.png", - "revision": "d7ba2b1995f12d96bfc3a7e6bc3a7f6f" - }, - { - "url": "assets/img/image-20190721000526434.cfdf2d30.png", - "revision": "cfdf2d302e2d5d6338b3b06db29a492b" - }, - { - "url": "assets/img/image-20190721000759925.bb32a332.png", - "revision": "bb32a332afd4291429dfef62f3d9cc68" - }, - { - "url": "assets/img/image-20190721000822458.5797bca7.png", - "revision": "5797bca765ccde5999839eee9c6ab4c2" - }, - { - "url": "assets/img/image-20190721000847954.6f05e4b8.png", - "revision": "6f05e4b8adcd66af2832eeb039aaabb4" - }, - { - "url": "assets/img/image-20190721000919933.3a1d313e.png", - "revision": "3a1d313ec72c2c9052b2a1f669678bad" - }, - { - "url": "assets/img/image-20190721085144545.25f25dda.png", - "revision": "25f25dda1a8a10fcebe7e77d68d3343b" - }, - { - "url": "assets/img/image-20190721090118542.46c31055.png", - "revision": "46c310553bc595d6a07615405614f07a" - }, - { - "url": "assets/img/image-20190721090753742.28d009f3.png", - "revision": "28d009f3c195f41ecaa586ab01ed04bb" - }, - { - "url": "assets/img/image-20190721090840925.a5231632.png", - "revision": "a52316328e10aab8f9402f3b3887a259" - }, - { - "url": "assets/img/image-20190721090935511.80fb3864.png", - "revision": "80fb386499fe923abe92279b4abf826a" - }, - { - "url": "assets/img/image-20190721091005130.330e9f1d.png", - "revision": "330e9f1dde724eecb065c18f6827b751" - }, - { - "url": "assets/img/image-20190721100715898.f0faa9aa.png", - "revision": "f0faa9aa53b550cdef6097c9d460e204" - }, - { - "url": "assets/img/image-20190721101812895.8f059471.png", - "revision": "8f059471e8ebabea94bc2820960440ef" - }, - { - "url": "assets/img/image-20190721101954560.176c574c.png", - "revision": "176c574c21e1331eb63e6a5b845d814f" - }, - { - "url": "assets/img/image-20190721103324863.72744076.png", - "revision": "7274407665952eb8de2585a3c020a246" - }, - { - "url": "assets/img/image-20190721104153954.74fb88ec.png", - "revision": "74fb88ec86035bed84c0dbbb9250cef6" - }, - { - "url": "assets/img/image-20190721104348908.ce6e526d.png", - "revision": "ce6e526df4e844246d4b9a0dfb1eb016" - }, - { - "url": "assets/img/image-20190721104415732.07ea4278.png", - "revision": "07ea42782ec4620c1ebe778f5efe2d9a" - }, - { - "url": "assets/img/image-20190721104522870.6c74e0bb.png", - "revision": "6c74e0bb12f2427b71301922a6793594" - }, - { - "url": "assets/img/image-20190721110355464.25f25dda.png", - "revision": "25f25dda1a8a10fcebe7e77d68d3343b" - }, - { - "url": "assets/img/image-20190721110543437.8cbe188d.png", - "revision": "8cbe188dc03bf51d0508f1f95f64c9c8" - }, - { - "url": "assets/img/image-20190721111011798.b9cc73b4.png", - "revision": "b9cc73b4e87aa8dbf7e29f4b7172acd9" - }, - { - "url": "assets/img/image-20190721111540512.b0a58451.png", - "revision": "b0a58451256c13bf167c08a094690671" - }, - { - "url": "assets/img/image-20190721111642221.f9c06dc3.png", - "revision": "f9c06dc3d9bd3f89f58a4dcc16185733" - }, - { - "url": "assets/img/image-20190721112353077.b907aa89.png", - "revision": "b907aa89af9ac5f148bf68a758bd604d" - }, - { - "url": "assets/img/image-20190721112624128.7aa6b8f1.png", - "revision": "7aa6b8f102f54877d5e15ee34951d9a1" - }, - { - "url": "assets/img/image-20190721113050608.97e0f110.png", - "revision": "97e0f1109bdd74f368a6ea8e4765c5d3" - }, - { - "url": "assets/img/image-20190721113155991.f3ecd62f.png", - "revision": "f3ecd62fe5db3d7b69b618092c17cd6f" - }, - { - "url": "assets/img/image-20190721113708689.f9b42a11.png", - "revision": "f9b42a11af27821e581fd8ca51214d7c" - }, - { - "url": "assets/img/image-20190721113810235.59d55672.png", - "revision": "59d55672d286c81aef67f59b1ee20ed5" - }, - { - "url": "assets/img/image-20190721114112644.526de44c.png", - "revision": "526de44c172ef5635d6808f194f8f801" - }, - { - "url": "assets/img/image-20190721114211751.e1a07115.png", - "revision": "e1a07115de2d7e579bfe035c20a87996" - }, - { - "url": "assets/img/image-20190721154650916.3f63fdcb.jpg", - "revision": "3f63fdcbf80a60009298f198f8cfafe7" - }, - { - "url": "assets/img/image-20190722162249531.e826dfb9.png", - "revision": "e826dfb90ea5cf78a66a1c3ac92f3163" - }, - { - "url": "assets/img/image-20190722165648180.fe018998.png", - "revision": "fe018998da6d444b8287e23365dbda68" - }, - { - "url": "assets/img/image-20190722172356943.9a901574.png", - "revision": "9a901574479d7de7c0884d2b4ff39366" - }, - { - "url": "assets/img/image-20190722182005060.8e560b34.png", - "revision": "8e560b342340477bbb1c40fa7220e569" - }, - { - "url": "assets/img/image-20190722183329825.63739750.png", - "revision": "63739750bf62d29f20cab8340adb8a4e" - }, - { - "url": "assets/img/image-20190722183750444.973f7dfa.png", - "revision": "973f7dfa0c48a589e17764e46073b0a9" - }, - { - "url": "assets/img/image-20190722184943431.f2f72e7c.png", - "revision": "f2f72e7c4e3e904629da11b31da948bc" - }, - { - "url": "assets/img/image-20190722185113938.4d31e54b.png", - "revision": "4d31e54b96ba6aa212132397e239abf6" - }, - { - "url": "assets/img/image-20190722223454676.b545b43f.png", - "revision": "b545b43f4d9c3e01afa1f74a5dd0a569" - }, - { - "url": "assets/img/image-20190722223551308.ed106a2a.png", - "revision": "ed106a2a13bd498893302986806604cc" - }, - { - "url": "assets/img/image-20190722223605920.3e762b29.png", - "revision": "3e762b299df19c0ab0c08c26375e5f75" - }, - { - "url": "assets/img/image-20190722224029397.abc44209.png", - "revision": "abc44209be56e844f69a3bbec264a062" - }, - { - "url": "assets/img/image-20190722225347491.984fabae.png", - "revision": "984fabae630267153b9bb34a1f42bd83" - }, - { - "url": "assets/img/image-20190722225454029.73400267.png", - "revision": "73400267df18daebcbb21ea587c91faf" - }, - { - "url": "assets/img/image-20190722230511430.ed459354.png", - "revision": "ed45935404dbf85ee17548cb72483ede" - }, - { - "url": "assets/img/image-20190722231246540.ebf13194.png", - "revision": "ebf13194841b21645cefeb4b00ef0cc3" - }, - { - "url": "assets/img/image-20190723104717575.0f52fe3c.png", - "revision": "0f52fe3c408b5c4cffb4500532c278b9" - }, - { - "url": "assets/img/image-20190723105039358.91eef75a.png", - "revision": "91eef75ac5a748ca544594203c29260f" - }, - { - "url": "assets/img/image-20190723105606081.bc471512.png", - "revision": "bc47151253d71fe6621045fc4db056a0" - }, - { - "url": "assets/img/image-20190723105644937.968b1660.png", - "revision": "968b16602e5676ecff406f2d260d06cc" - }, - { - "url": "assets/img/image-20190723105722999.5b6c9bae.png", - "revision": "5b6c9baeff505e7cd90c206dfaf4a4aa" - }, - { - "url": "assets/img/image-20190723105748435.1cb3ad0d.png", - "revision": "1cb3ad0d74b55caa9fe5cc246a7baa22" - }, - { - "url": "assets/img/image-20190723105809872.61add376.png", - "revision": "61add376fa20ab718cec610bbca32e68" - }, - { - "url": "assets/img/image-20190723105830318.43414c56.png", - "revision": "43414c56dd19a887bf68257946412daa" - }, - { - "url": "assets/img/image-20190723112105018.a27c638f.png", - "revision": "a27c638fde7e8bee0b359163f3199edf" - }, - { - "url": "assets/img/image-20190723112143032.7a5220bd.png", - "revision": "7a5220bd6267ca9f76e1e8261afead7b" - }, - { - "url": "assets/img/image-20190723112204681.8279ca8f.png", - "revision": "8279ca8f85ac865a547c60246ae341e2" - }, - { - "url": "assets/img/image-20190723113250521.3b80f3d2.png", - "revision": "3b80f3d2c42edf568038d894777d15fc" - }, - { - "url": "assets/img/image-20190723113312360.a3a51c0c.png", - "revision": "a3a51c0c6bde1f7f896ed62d2559f767" - }, - { - "url": "assets/img/image-20190723115721514.bf981ef3.png", - "revision": "bf981ef303bb497ec0713a3b6f4d4191" - }, - { - "url": "assets/img/image-20190723115852719.f1658660.png", - "revision": "f16586603a4684c1ee4369bcddcf6ff4" - }, - { - "url": "assets/img/image-20190723115912645.393d67ff.png", - "revision": "393d67ff71aaa4d90fb569471d6d02ed" - }, - { - "url": "assets/img/image-20190723115940862.dfeacc57.png", - "revision": "dfeacc57ee6808a8aec4deaa77467149" - }, - { - "url": "assets/img/image-20190723120011972.0f0914c5.png", - "revision": "0f0914c5b7a4750cd25da14f79f1bd02" - }, - { - "url": "assets/img/image-20190723120050894.9b1d6350.png", - "revision": "9b1d63503fc69bd6076dc0b05301bdcb" - }, - { - "url": "assets/img/image-20190723120104474.617a620a.png", - "revision": "617a620ab15115ac3f7e722361ddd638" - }, - { - "url": "assets/img/image-20190723120125425.a46d7874.png", - "revision": "a46d78748ebf1b4b9854400e31306563" - }, - { - "url": "assets/img/image-20190723120730196.9793d8ec.png", - "revision": "9793d8ec85f11cb73e5ae48b24941768" - }, - { - "url": "assets/img/image-20190723120753533.081b6d6b.png", - "revision": "081b6d6b34f8423dee3e5ad2f4027eb1" - }, - { - "url": "assets/img/image-20190723120832778.e154bccd.png", - "revision": "e154bccd8612733323386b05e18303e5" - }, - { - "url": "assets/img/image-20190723120912377.e1404406.png", - "revision": "e14044060005fb7e34df906a305ac3db" - }, - { - "url": "assets/img/image-20190723120926747.c9754776.png", - "revision": "c9754776b96661049bdb48558e5d8923" - }, - { - "url": "assets/img/image-20190723120956821.69bcdbbe.png", - "revision": "69bcdbbe4f90cfe9e6ce8dbd0eb625ae" - }, - { - "url": "assets/img/image-20190723121019167.81af1060.png", - "revision": "81af1060299aa18a417abb37e1a8984a" - }, - { - "url": "assets/img/image-20190723121035917.8a2b1320.png", - "revision": "8a2b1320c9972382f9e9cbdc4c843ab4" - }, - { - "url": "assets/img/image-20190723121055648.2c6ba8d1.png", - "revision": "2c6ba8d1d5b673c5b1ccd772872c9ea3" - }, - { - "url": "assets/img/image-20190723121117514.ef774d3a.png", - "revision": "ef774d3a9d0cf7aa1443d337102b9db7" - }, - { - "url": "assets/img/image-20190723121132991.69146097.png", - "revision": "69146097b3e02fa86709d0716fcc5676" - }, - { - "url": "assets/img/image-20190723121412027.6888452e.png", - "revision": "6888452e80ba6e972b676d804ed3581f" - }, - { - "url": "assets/img/image-20190723121433809.7a1b4b00.png", - "revision": "7a1b4b00eda9dd5de97773be0a5cbb34" - }, - { - "url": "assets/img/image-20190723150525017.378015c8.png", - "revision": "378015c8ee50aa49e8a2791d0255f89c" - }, - { - "url": "assets/img/image-20190723150616633.17a9797e.png", - "revision": "17a9797e9914e9ab3554caff6079ed2b" - }, - { - "url": "assets/img/image-20190723150853277.c168bc57.png", - "revision": "c168bc57e1fa47fc3a9b163312aa6da5" - }, - { - "url": "assets/img/image-20190723151045112.5329884a.png", - "revision": "5329884a5fb65a618600ed2a471a2e5f" - }, - { - "url": "assets/img/image-20190723151103353.3c29b906.png", - "revision": "3c29b9068511a9f57f73c033b7379ba0" - }, - { - "url": "assets/img/image-20190723151339137.5f756564.png", - "revision": "5f756564a628aef2c808e597afb3dd6f" - }, - { - "url": "assets/img/image-20190723151357262.e79d2b6c.png", - "revision": "e79d2b6c3f61b43b29dc1033cc0809f3" - }, - { - "url": "assets/img/image-20190723151422460.f02b1a28.png", - "revision": "f02b1a28dbdd393fde2d69449f6ba324" - }, - { - "url": "assets/img/image-20190723151711230.c3dd4c41.png", - "revision": "c3dd4c415a97564ecf3904c8d60ed56e" - }, - { - "url": "assets/img/image-20190723151804727.287fa561.png", - "revision": "287fa56185c07b34c7bede8784564285" - }, - { - "url": "assets/img/image-20190723151845303.f2b8415a.png", - "revision": "f2b8415ac30242af694a7ba0a34c6235" - }, - { - "url": "assets/img/image-20190723151902003.1ef39b19.png", - "revision": "1ef39b19a114396e3712e0362bc99f05" - }, - { - "url": "assets/img/image-20190723151914994.fa026f01.png", - "revision": "fa026f018d38556f66375f0167b42496" - }, - { - "url": "assets/img/image-20190723151932871.cbc894da.png", - "revision": "cbc894da14e7f005080b343cfc4260a7" - }, - { - "url": "assets/img/image-20190723151951910.c3248933.png", - "revision": "c324893338282963f21af59ee76e9969" - }, - { - "url": "assets/img/image-20190723152020605.31eccc82.png", - "revision": "31eccc829d11497009ff87e4aef2baf9" - }, - { - "url": "assets/img/image-20190723152040219.45660f67.png", - "revision": "45660f6778499c02bb101c6d1aa1a0bd" - }, - { - "url": "assets/img/image-20190723152124196.9ef1af43.png", - "revision": "9ef1af4364ff0a6632e6d97dd52d508f" - }, - { - "url": "assets/img/image2019-07-15_09.01.21.1ac5bd70.png", - "revision": "1ac5bd70511352bf16e01f1c5e341421" - }, - { - "url": "assets/img/image2019-6-10_15-36-29.2870ee7d.png", - "revision": "2870ee7d15eff0684cd587db92728241" - }, - { - "url": "assets/img/kuboard_qq.45e78dbf.png", - "revision": "45e78dbfb71d870e0b07093d4752d378" - }, - { - "url": "assets/img/search.83621669.svg", - "revision": "83621669651b9a3d4bf64d1a670ad856" - }, - { - "url": "assets/js/10.0cd8a596.js", - "revision": "92eb92c8c89618f40285f78015ee8720" - }, - { - "url": "assets/js/11.cf13cf6a.js", - "revision": "21e1a2becd4b11d50c60cfe07611b7a5" - }, - { - "url": "assets/js/12.e6f6106b.js", - "revision": "2154b127514f2b531c3e6ff18a314527" - }, - { - "url": "assets/js/13.50d51cf4.js", - "revision": "6ee2df4eadd3d850fd2fd0cd7d6e48c9" - }, - { - "url": "assets/js/14.17fd6550.js", - "revision": "97bd27d57dbbbaae6e37909732edda31" - }, - { - "url": "assets/js/15.76b4d522.js", - "revision": "0fd937dc791011d68c891ab35aa4cb72" - }, - { - "url": "assets/js/16.0f7e6460.js", - "revision": "503d492d9b6d5465faf2a8a6ef1a82cd" - }, - { - "url": "assets/js/17.f3c3b033.js", - "revision": "48bd0cbc57a504383590ff8124edaac1" - }, - { - "url": "assets/js/18.c9fd67c0.js", - "revision": "0f43b4d7d561c84244f6830f3c7a2ab0" - }, - { - "url": "assets/js/19.6aca0745.js", - "revision": "5887480a3ca8afe88fa8c546414659a6" - }, - { - "url": "assets/js/2.9f83f74e.js", - "revision": "8125886716cd904c41a1c49d9a8ebbc5" - }, - { - "url": "assets/js/20.7f35c3b2.js", - "revision": "79979cd6754e57d8267adc0166c4fc3f" - }, - { - "url": "assets/js/21.d385104f.js", - "revision": "2c88ab6ab808280ce86e0a3c45c62cee" - }, - { - "url": "assets/js/22.64ab2a4e.js", - "revision": "da3de4b833b46bf677da2c31c925ffc3" - }, - { - "url": "assets/js/23.f3d846dd.js", - "revision": "9bf7a6f9bee4da44a9d88bc3085d7602" - }, - { - "url": "assets/js/24.b469aa31.js", - "revision": "4a3e822e8540ba214bed5b7451855a45" - }, - { - "url": "assets/js/25.3c5008cc.js", - "revision": "a429010f67c5f0643457a58288ab138c" - }, - { - "url": "assets/js/26.192d36b4.js", - "revision": "4aa3d2fbdf1efae697a7d266819316f0" - }, - { - "url": "assets/js/27.94635ad4.js", - "revision": "b5ad3ea6c7aea166df0f21e552299e2b" - }, - { - "url": "assets/js/28.015ddcd3.js", - "revision": "a90836db11e140b8e87de5cad33ff5be" - }, - { - "url": "assets/js/29.8afaad72.js", - "revision": "6b265553bc38bda105efdb64a7d9dda7" - }, - { - "url": "assets/js/3.eb22a557.js", - "revision": "550f7e697b981399b314f04b69580881" - }, - { - "url": "assets/js/30.b0378cda.js", - "revision": "340a41dcd27914328475a5ecc54b1ec3" - }, - { - "url": "assets/js/31.491518bf.js", - "revision": "b706993de3f2c34aa4a042bf9192fe8a" - }, - { - "url": "assets/js/32.c24e6388.js", - "revision": "192add112714d9bb21b6cc9c76e4b218" - }, - { - "url": "assets/js/33.fe9bafab.js", - "revision": "881319b5ce94ed654f5e267e91237a8d" - }, - { - "url": "assets/js/34.ed8e805f.js", - "revision": "0406fb786dbf47ad792c0ff242fe8260" - }, - { - "url": "assets/js/35.2aa7f5f1.js", - "revision": "bf648daf65dea8a01fe15716d8d9af30" - }, - { - "url": "assets/js/36.8ca731f0.js", - "revision": "3b7eb8df7d9d744e28978ef40723a97d" - }, - { - "url": "assets/js/37.375438cf.js", - "revision": "3b059127d205ff4ad976199069112d34" - }, - { - "url": "assets/js/4.b5ccca8f.js", - "revision": "def27a365843297bb34d3e5a9e6a1995" - }, - { - "url": "assets/js/5.9517076c.js", - "revision": "b4baeb93796364f142633b0ed69669d1" - }, - { - "url": "assets/js/6.3bab9674.js", - "revision": "aa08379590e7b37e741dd361d82c237c" - }, - { - "url": "assets/js/7.cf10f89d.js", - "revision": "c17129acfccfcf615ba0fce2b782b9e7" - }, - { - "url": "assets/js/8.cb1d9f62.js", - "revision": "ed5871e36d2b8463822b45e907976c82" - }, - { - "url": "assets/js/9.32f7bb20.js", - "revision": "9f4342ccef2a45d9a0c537f0d637211d" - }, - { - "url": "assets/js/app.7f14774e.js", - "revision": "09c891066935edfed8529cb865540318" - }, - { - "url": "guide/cluster/computing.html", - "revision": "440329b62437a487c8ff561e99bda133" - }, - { - "url": "guide/cluster/namespace.html", - "revision": "5aad1e2c9effe5b0059b0f4f51e63a10" - }, - { - "url": "guide/cluster/storage.html", - "revision": "90d521834d26027c847003fa3a944b6e" - }, - { - "url": "guide/diagonize/events.html", - "revision": "ee25cc4e65965d72bd133cf864f03540" - }, - { - "url": "guide/diagonize/logs.html", - "revision": "02ff95ca93e480ceb9a900ea74a64e68" - }, - { - "url": "guide/diagonize/port-forward.html", - "revision": "34e073ebb2ccc5b6b581bcb92396dfe7" - }, - { - "url": "guide/example/busybox.html", - "revision": "aa7a56d379bf1d3f9fad0a97c12e50e8" - }, - { - "url": "guide/example/import.html", - "revision": "226659bb5ae8c409eeb0d5cd892f6cd6" - }, - { - "url": "guide/example/monitor.html", - "revision": "a02f55ff7a162b6dd4d96fbeb465a6d2" - }, - { - "url": "guide/index.html", - "revision": "db79b6c668a4f1f80d800ff359d9226f" - }, - { - "url": "guide/monitor/apis.html", - "revision": "fd33c996a27745f7122e1f9d5f07ad40" - }, - { - "url": "guide/monitor/index.html", - "revision": "6fcb3bdde82422de211abd859be5f426" - }, - { - "url": "guide/namespace/adjustion.html", - "revision": "34aed3a524443a7e179f7a0afa8b5342" - }, - { - "url": "guide/namespace/configMap.html", - "revision": "5bf313442d3c5dca27920087cbadec93" - }, - { - "url": "guide/namespace/index.html", - "revision": "2a1bfeb7812e9dda25fd88ce364807ef" - }, - { - "url": "guide/namespace/multi-env.html", - "revision": "f66013d7342fc5695aa74565808c4ed7" - }, - { - "url": "guide/namespace/pvc.html", - "revision": "d3bd53cd4b3a1909ac258053229ba0f9" - }, - { - "url": "guide/namespace/secrets.html", - "revision": "eb33d9087ba2d46a4c48981d1bfd4029" - }, - { - "url": "guide/namespace/workload.html", - "revision": "8b6becf29cc43105e20e86bb4e6cc123" - }, - { - "url": "index.html", - "revision": "8f84616c620078a4ff4337640968f4ee" - }, - { - "url": "install/index.html", - "revision": "ba351298b281df526d0700896068d964" - }, - { - "url": "install/install-common-ingress.html", - "revision": "55cfbc0f99475c6bb707912db3b342f4" - }, - { - "url": "install/install-common-vm.html", - "revision": "55cac87a5b64fe62e6a3ec0bcdaf5bb4" - }, - { - "url": "install/install-dashboard.html", - "revision": "935048ec3dcaf333f05adeacac3b288f" - }, - { - "url": "install/install-k8s.html", - "revision": "cb0b568e0c500105ac91b1fe7bbf4b8a" - }, - { - "url": "install/install-kind.html", - "revision": "4525521f63deca88c1ae662392fc9c59" - }, - { - "url": "install/install-kubernetes.html", - "revision": "1f285fa2f92939b241dcee886cc4c793" - }, - { - "url": "overview.png", - "revision": "84f374aeb9905367bacb51c588787405" - }, - { - "url": "overview/concepts.html", - "revision": "3c77c2fb1e4b58b38c89ed7dbf62d001" - }, - { - "url": "overview/index.html", - "revision": "ae1fd5d3ba12ccced374944928d77774" - }, - { - "url": "overview/why-kuboard.html", - "revision": "f6f4a767f086a2acff8cc012e717e03a" - }, - { - "url": "support/index.html", - "revision": "924a6ede386576f2401ff78dfa6fd0d3" - } -].concat(self.__precacheManifest || []); -workbox.precaching.suppressWarnings(); -workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); -addEventListener('message', event => { - const replyPort = event.ports[0] - const message = event.data - if (replyPort && message && message.type === 'skip-waiting') { - event.waitUntil( - self.skipWaiting().then( - () => replyPort.postMessage({ error: null }), - error => replyPort.postMessage({ error }) - ) - ) - } -}) diff --git a/docs/support/index.html b/docs/support/index.html index 50cb7e4..e1eff1e 100644 --- a/docs/support/index.html +++ b/docs/support/index.html @@ -7,11 +7,11 @@ - +

提交问题

提交 BUG 后,通常会在第二天得到 Kuboard 作者的答复。

在线提问

QQ 群

kuboard_qq

Last Updated: 7/25/2019, 6:22:52 AM
- +