From 608057181b60db4f9b74a5bb30f921a604b75725 Mon Sep 17 00:00:00 2001 From: "huanqing.shao" Date: Thu, 25 Jul 2019 06:30:19 +0800 Subject: [PATCH] deploy --- .vuepress/public/CNAME | 2 +- docs/404.html | 6 +++--- docs/CNAME | 2 +- docs/assets/js/{12.4e570606.js => 12.fad086d6.js} | 2 +- docs/assets/js/{25.12dbc53b.js => 25.fa2317e0.js} | 2 +- docs/assets/js/{32.0af51253.js => 32.d1520518.js} | 2 +- docs/assets/js/{34.c7982678.js => 34.d8a8e892.js} | 2 +- docs/assets/js/{6.8177f997.js => 6.732ffd80.js} | 2 +- docs/assets/js/{app.2f90b6e5.js => app.2348a2b9.js} | 4 ++-- docs/guide/cluster/computing.html | 4 ++-- docs/guide/cluster/namespace.html | 4 ++-- docs/guide/cluster/storage.html | 4 ++-- docs/guide/diagonize/events.html | 4 ++-- docs/guide/diagonize/logs.html | 4 ++-- docs/guide/diagonize/port-forward.html | 4 ++-- docs/guide/example/busybox.html | 4 ++-- docs/guide/example/import.html | 4 ++-- docs/guide/example/monitor.html | 4 ++-- docs/guide/index.html | 4 ++-- docs/guide/monitor/apis.html | 4 ++-- docs/guide/monitor/index.html | 4 ++-- docs/guide/namespace/adjustion.html | 4 ++-- docs/guide/namespace/configMap.html | 4 ++-- docs/guide/namespace/index.html | 4 ++-- docs/guide/namespace/multi-env.html | 4 ++-- docs/guide/namespace/pvc.html | 4 ++-- docs/guide/namespace/secrets.html | 4 ++-- docs/guide/namespace/workload.html | 4 ++-- docs/index.html | 4 ++-- docs/install/index.html | 4 ++-- docs/install/install-common-ingress.html | 4 ++-- docs/install/install-common-vm.html | 4 ++-- docs/install/install-dashboard.html | 4 ++-- docs/install/install-k8s.html | 4 ++-- docs/install/install-kind.html | 4 ++-- docs/install/install-kubernetes.html | 4 ++-- docs/overview/concepts.html | 4 ++-- docs/overview/index.html | 4 ++-- docs/overview/why-kuboard.html | 4 ++-- docs/support/index.html | 4 ++-- 40 files changed, 74 insertions(+), 74 deletions(-) rename docs/assets/js/{12.4e570606.js => 12.fad086d6.js} (98%) rename docs/assets/js/{25.12dbc53b.js => 25.fa2317e0.js} (95%) rename docs/assets/js/{32.0af51253.js => 32.d1520518.js} (92%) rename docs/assets/js/{34.c7982678.js => 34.d8a8e892.js} (98%) rename docs/assets/js/{6.8177f997.js => 6.732ffd80.js} (99%) rename docs/assets/js/{app.2f90b6e5.js => app.2348a2b9.js} (97%) diff --git a/.vuepress/public/CNAME b/.vuepress/public/CNAME index 5565f60..e0429f7 100644 --- a/.vuepress/public/CNAME +++ b/.vuepress/public/CNAME @@ -1 +1 @@ -eip.work \ No newline at end of file +kuboard.cn \ No newline at end of file diff --git a/docs/404.html b/docs/404.html index eaeeeea..3b522a8 100644 --- a/docs/404.html +++ b/docs/404.html @@ -7,11 +7,11 @@ - + -

404

That's a Four-Oh-Four.
Take me home.
- +

404

How did we get here?
Take me home.
+ diff --git a/docs/CNAME b/docs/CNAME index 5565f60..e0429f7 100644 --- a/docs/CNAME +++ b/docs/CNAME @@ -1 +1 @@ -eip.work \ No newline at end of file +kuboard.cn \ No newline at end of file diff --git a/docs/assets/js/12.4e570606.js b/docs/assets/js/12.fad086d6.js similarity index 98% rename from docs/assets/js/12.4e570606.js rename to docs/assets/js/12.fad086d6.js index a753af4..61dcb5a 100644 --- a/docs/assets/js/12.4e570606.js +++ b/docs/assets/js/12.fad086d6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{262:function(t,a,_){t.exports=_.p+"assets/img/image-20190721112353077.b907aa89.png"},263:function(t,a,_){t.exports=_.p+"assets/img/image-20190721112624128.7aa6b8f1.png"},264:function(t,a,_){t.exports=_.p+"assets/img/image-20190721113050608.97e0f110.png"},265:function(t,a,_){t.exports=_.p+"assets/img/image-20190721113155991.f3ecd62f.png"},28:function(t,a,_){t.exports=_.p+"assets/img/image-20190721110355464.25f25dda.png"},345:function(t,a,_){"use strict";_.r(a);var v=_(0),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:_(28),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:_(262),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:_(263),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:_(264),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:_(265),alt:"image-20190721113155991"}})]),t._v(" "),v("p",[t._v("编辑、删除操作可直接按照提示完成")])])},[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{262:function(t,a,_){t.exports=_.p+"assets/img/image-20190721112353077.b907aa89.png"},263:function(t,a,_){t.exports=_.p+"assets/img/image-20190721112624128.7aa6b8f1.png"},264:function(t,a,_){t.exports=_.p+"assets/img/image-20190721113050608.97e0f110.png"},265:function(t,a,_){t.exports=_.p+"assets/img/image-20190721113155991.f3ecd62f.png"},28:function(t,a,_){t.exports=_.p+"assets/img/image-20190721110355464.25f25dda.png"},328:function(t,a,_){"use strict";_.r(a);var v=_(0),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:_(28),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:_(262),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:_(263),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:_(264),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:_(265),alt:"image-20190721113155991"}})]),t._v(" "),v("p",[t._v("编辑、删除操作可直接按照提示完成")])])},[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/25.12dbc53b.js b/docs/assets/js/25.fa2317e0.js similarity index 95% rename from docs/assets/js/25.12dbc53b.js rename to docs/assets/js/25.fa2317e0.js index bc0e0d6..0100143 100644 --- a/docs/assets/js/25.12dbc53b.js +++ b/docs/assets/js/25.fa2317e0.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{29:function(e,t,r){e.exports=r.p+"assets/img/kuboard_qq.45e78dbf.png"},338:function(e,t,r){"use strict";r.r(t);var s=r(0),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(29),alt:"Kuboard 兴趣群二维码"}})])])},[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{29:function(e,t,r){e.exports=r.p+"assets/img/kuboard_qq.45e78dbf.png"},337:function(e,t,r){"use strict";r.r(t);var s=r(0),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(29),alt:"Kuboard 兴趣群二维码"}})])])},[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/32.0af51253.js b/docs/assets/js/32.d1520518.js similarity index 92% rename from docs/assets/js/32.0af51253.js rename to docs/assets/js/32.d1520518.js index 229f447..c43e9d6 100644 --- a/docs/assets/js/32.0af51253.js +++ b/docs/assets/js/32.d1520518.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{328:function(t,e,a){"use strict";a.r(e);var r=a(0),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],{346:function(t,e,a){"use strict";a.r(e);var r=a(0),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.c7982678.js b/docs/assets/js/34.d8a8e892.js similarity index 98% rename from docs/assets/js/34.c7982678.js rename to docs/assets/js/34.d8a8e892.js index 098237b..9368972 100644 --- a/docs/assets/js/34.c7982678.js +++ b/docs/assets/js/34.d8a8e892.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{337:function(e,r,s){"use strict";s.r(r);var t=s(0),a=Object(t.a)({},function(){var e=this,r=e.$createElement,s=e._self._c||r;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h2",{attrs:{id:"安装-ingress-controller"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装-ingress-controller","aria-hidden":"true"}},[e._v("#")]),e._v(" 安装 Ingress Controller")]),e._v(" "),s("blockquote",[s("p",[e._v("ingress官方文档:https://kubernetes.io/docs/concepts/services-networking/ingress/")]),e._v(" "),s("p",[e._v("Ingress Controllers官网介绍:"),s("a",{attrs:{href:"https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/"),s("OutboundLink")],1)]),e._v(" "),s("p",[e._v("本文中使用如下部署方式:https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#using-a-self-provisioned-edge")]),e._v(" "),s("p",[e._v("kubernetes支持多种Ingress Controllers,本文推荐使用")]),e._v(" "),s("p",[e._v("https://github.com/nginxinc/kubernetes-ingress")])]),e._v(" "),s("h3",{attrs:{id:"在-apple-master-a-1-上执行"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#在-apple-master-a-1-上执行","aria-hidden":"true"}},[e._v("#")]),e._v(" 在 apple-master-a-1 上执行")]),e._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" - gitlab-runner\nkubectl apply -f https://raw.githubusercontent.com/eip-work/eip-monitor-repository/master/dashboard/nginx-ingress.yaml\n")])])]),s("h3",{attrs:{id:"在iaas云控制台完成如下配置(公网elb)"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#在iaas云控制台完成如下配置(公网elb)","aria-hidden":"true"}},[e._v("#")]),e._v(" 在IaaS云控制台完成如下配置("),s("strong",[e._v("公网ELB")]),e._v(")")]),e._v(" "),s("p",[e._v("创建负载均衡 ELB:")]),e._v(" "),s("p",[e._v("​ 监听器 1:80 / TCP, SOURCE_ADDRESS 会话保持")]),e._v(" "),s("p",[e._v("​ 服务器资源池 1: apple-worker-x-x 的所有节点的 80端口")]),e._v(" "),s("p",[e._v("​ 监听器 2:443 / TCP, SOURCE_ADDRESS 会话保持")]),e._v(" "),s("p",[e._v("​ 服务器资源池 2: apple-worker-x-x 的所有节点的443端口")]),e._v(" "),s("p",[e._v("假设刚创建的负载均衡 ELB 的 IP 地址为: z.z.z.z")]),e._v(" "),s("h3",{attrs:{id:"配置域名解析"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#配置域名解析","aria-hidden":"true"}},[e._v("#")]),e._v(" 配置域名解析")]),e._v(" "),s("p",[e._v("将域名 *.apple.yourdomain.com 解析到地址负载均衡服务器 的 IP 地址 z.z.z.z")]),e._v(" "),s("h3",{attrs:{id:"验证配置"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#验证配置","aria-hidden":"true"}},[e._v("#")]),e._v(" 验证配置")]),e._v(" "),s("p",[e._v("在浏览器访问 a.apple.yourdomain.com,将得到 404 NotFound 错误页面")])])},[],!1,null,null,null);r.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{338:function(e,r,s){"use strict";s.r(r);var t=s(0),a=Object(t.a)({},function(){var e=this,r=e.$createElement,s=e._self._c||r;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h2",{attrs:{id:"安装-ingress-controller"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装-ingress-controller","aria-hidden":"true"}},[e._v("#")]),e._v(" 安装 Ingress Controller")]),e._v(" "),s("blockquote",[s("p",[e._v("ingress官方文档:https://kubernetes.io/docs/concepts/services-networking/ingress/")]),e._v(" "),s("p",[e._v("Ingress Controllers官网介绍:"),s("a",{attrs:{href:"https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/"),s("OutboundLink")],1)]),e._v(" "),s("p",[e._v("本文中使用如下部署方式:https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#using-a-self-provisioned-edge")]),e._v(" "),s("p",[e._v("kubernetes支持多种Ingress Controllers,本文推荐使用")]),e._v(" "),s("p",[e._v("https://github.com/nginxinc/kubernetes-ingress")])]),e._v(" "),s("h3",{attrs:{id:"在-apple-master-a-1-上执行"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#在-apple-master-a-1-上执行","aria-hidden":"true"}},[e._v("#")]),e._v(" 在 apple-master-a-1 上执行")]),e._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" - gitlab-runner\nkubectl apply -f https://raw.githubusercontent.com/eip-work/eip-monitor-repository/master/dashboard/nginx-ingress.yaml\n")])])]),s("h3",{attrs:{id:"在iaas云控制台完成如下配置(公网elb)"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#在iaas云控制台完成如下配置(公网elb)","aria-hidden":"true"}},[e._v("#")]),e._v(" 在IaaS云控制台完成如下配置("),s("strong",[e._v("公网ELB")]),e._v(")")]),e._v(" "),s("p",[e._v("创建负载均衡 ELB:")]),e._v(" "),s("p",[e._v("​ 监听器 1:80 / TCP, SOURCE_ADDRESS 会话保持")]),e._v(" "),s("p",[e._v("​ 服务器资源池 1: apple-worker-x-x 的所有节点的 80端口")]),e._v(" "),s("p",[e._v("​ 监听器 2:443 / TCP, SOURCE_ADDRESS 会话保持")]),e._v(" "),s("p",[e._v("​ 服务器资源池 2: apple-worker-x-x 的所有节点的443端口")]),e._v(" "),s("p",[e._v("假设刚创建的负载均衡 ELB 的 IP 地址为: z.z.z.z")]),e._v(" "),s("h3",{attrs:{id:"配置域名解析"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#配置域名解析","aria-hidden":"true"}},[e._v("#")]),e._v(" 配置域名解析")]),e._v(" "),s("p",[e._v("将域名 *.apple.yourdomain.com 解析到地址负载均衡服务器 的 IP 地址 z.z.z.z")]),e._v(" "),s("h3",{attrs:{id:"验证配置"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#验证配置","aria-hidden":"true"}},[e._v("#")]),e._v(" 验证配置")]),e._v(" "),s("p",[e._v("在浏览器访问 a.apple.yourdomain.com,将得到 404 NotFound 错误页面")])])},[],!1,null,null,null);r.default=a.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/6.8177f997.js b/docs/assets/js/6.732ffd80.js similarity index 99% rename from docs/assets/js/6.8177f997.js rename to docs/assets/js/6.732ffd80.js index 2157618..7960627 100644 --- a/docs/assets/js/6.8177f997.js +++ b/docs/assets/js/6.732ffd80.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{250:function(t,e,s){t.exports=s.p+"assets/img/image-20190720232405147.8fc011f9.png"},251:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233322837.998be85a.png"},252:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233348284.2360801d.png"},253:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233412812.4f5ce20f.png"},254:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233436465.6d8cf61e.png"},255:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233512996.d7ba2b19.png"},256:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000526434.cfdf2d30.png"},257:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000759925.bb32a332.png"},258:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000822458.5797bca7.png"},259:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000847954.6f05e4b8.png"},260:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000919933.3a1d313e.png"},261:function(t,e,s){t.exports=s.p+"assets/img/image-20190721100715898.f0faa9aa.png"},346:function(t,e,s){"use strict";s.r(e);var a=s(0),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(250),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(251),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(252),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(253),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(254),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(255),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(256),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(257),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(258),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(259),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(260),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(261),alt:"image-20190721100715898"}})])])},[],!1,null,null,null);e.default=v.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{250:function(t,e,s){t.exports=s.p+"assets/img/image-20190720232405147.8fc011f9.png"},251:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233322837.998be85a.png"},252:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233348284.2360801d.png"},253:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233412812.4f5ce20f.png"},254:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233436465.6d8cf61e.png"},255:function(t,e,s){t.exports=s.p+"assets/img/image-20190720233512996.d7ba2b19.png"},256:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000526434.cfdf2d30.png"},257:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000759925.bb32a332.png"},258:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000822458.5797bca7.png"},259:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000847954.6f05e4b8.png"},260:function(t,e,s){t.exports=s.p+"assets/img/image-20190721000919933.3a1d313e.png"},261:function(t,e,s){t.exports=s.p+"assets/img/image-20190721100715898.f0faa9aa.png"},345:function(t,e,s){"use strict";s.r(e);var a=s(0),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(250),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(251),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(252),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(253),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(254),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(255),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(256),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(257),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(258),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(259),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(260),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(261),alt:"image-20190721100715898"}})])])},[],!1,null,null,null);e.default=v.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/app.2f90b6e5.js b/docs/assets/js/app.2348a2b9.js similarity index 97% rename from docs/assets/js/app.2f90b6e5.js rename to docs/assets/js/app.2348a2b9.js index 0817a30..bd535a0 100644 --- a/docs/assets/js/app.2f90b6e5.js +++ b/docs/assets/js/app.2348a2b9.js @@ -1,4 +1,4 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function t(t){for(var r,a,s=t[0],l=t[1],u=t[2],f=0,p=[];f
'};function o(e,t,n){return en?n:e}function i(e){return 100*(-1+e)}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var l=n.render(!t),u=l.querySelector(r.barSelector),c=r.speed,f=r.easing;return l.offsetWidth,a(function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,function(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+n,o}(e,c,f)),1===e?(s(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout(function(){s(l,{transition:"all "+c+"ms linear",opacity:0}),setTimeout(function(){n.remove(),t()},c)},c)):setTimeout(t,c)}),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout(function(){n.status&&(n.trickle(),e())},r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always(function(){0==--t?(e=0,n.done()):n.set((e-t)/e)}),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,a=t.querySelector(r.barSelector),l=e?"-100":i(n.status||0),c=document.querySelector(r.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){c(document.documentElement,"nprogress-busy"),c(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var a=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()}),t[n]||(t[n]=function(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+i)in n)return r;return t}(n))}function r(e,t,r){t=n(t),e.style[t]=r}return function(e,t){var n,o,i=arguments;if(2==i.length)for(n in t)void 0!==(o=t[n])&&t.hasOwnProperty(n)&&r(e,n,o);else r(e,i[1],i[2])}}();function l(e,t){var n="string"==typeof e?e:f(e);return n.indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;l(n,t)||(e.className=r.substring(1))}function c(e,t){var n,r=f(e);l(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?r.call(t,n,t,e):r)||(e.exports=o)},function(e,t){var n="Expected a function",r=NaN,o="[object Symbol]",i=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt,c="object"==typeof global&&global&&global.Object===Object&&global,f="object"==typeof self&&self&&self.Object===Object&&self,p=c||f||Function("return this")(),d=Object.prototype.toString,h=Math.max,v=Math.min,m=function(){return p.Date.now()};function g(e,t,r){var o,i,a,s,l,u,c=0,f=!1,p=!1,d=!0;if("function"!=typeof e)throw new TypeError(n);function g(t){var n=o,r=i;return o=i=void 0,c=t,s=e.apply(r,n)}function _(e){var n=e-u;return void 0===u||n>=t||n<0||p&&e-c>=a}function w(){var e=m();if(_(e))return k(e);l=setTimeout(w,function(e){var n=t-(e-u);return p?v(n,a-(e-c)):n}(e))}function k(e){return l=void 0,d&&o?g(e):(o=i=void 0,s)}function x(){var e=m(),n=_(e);if(o=arguments,i=this,u=e,n){if(void 0===l)return function(e){return c=e,l=setTimeout(w,t),f?g(e):s}(u);if(p)return l=setTimeout(w,t),g(u)}return void 0===l&&(l=setTimeout(w,t)),s}return t=b(t)||0,y(r)&&(f=!!r.leading,a=(p="maxWait"in r)?h(b(r.maxWait)||0,t):a,d="trailing"in r?!!r.trailing:d),x.cancel=function(){void 0!==l&&clearTimeout(l),c=0,o=u=i=l=void 0},x.flush=function(){return void 0===l?s:k(m())},x}function y(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function b(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&d.call(e)==o}(e))return r;if(y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=s.test(e);return n||l.test(e)?u(e.slice(2),n?2:8):a.test(e)?r:+e}e.exports=function(e,t,r){var o=!0,i=!0;if("function"!=typeof e)throw new TypeError(n);return y(r)&&(o="leading"in r?!!r.leading:o,i="trailing"in r?!!r.trailing:i),g(e,t,{leading:o,maxWait:t,trailing:i})}},function(e,t,n){e.exports=n(8)},function(e,t,n){Promise.all([n.e(0),n.e(36)]).then(n.t.bind(null,9,7))},function(e,t,n){},function(e,t,n){"use strict";var r=n(1);n.n(r).a},function(e,t,n){"use strict";n.r(t); /*! @@ -11,4 +11,4 @@ var r=Object.freeze({});function o(e){return null==e}function i(e){return null!= * vue-router v3.0.7 * (c) 2019 Evan You * @license MIT - */function Fo(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function zo(e,t){for(var n in t)e[n]=t[n];return e}var Bo={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(e,t){var n=t.props,r=t.children,o=t.parent,i=t.data;i.routerView=!0;for(var a=o.$createElement,s=n.name,l=o.$route,u=o._routerViewCache||(o._routerViewCache={}),c=0,f=!1;o&&o._routerRoot!==o;){var p=o.$vnode&&o.$vnode.data;p&&(p.routerView&&c++,p.keepAlive&&o._inactive&&(f=!0)),o=o.$parent}if(i.routerViewDepth=c,f)return a(u[s],i,r);var d=l.matched[c];if(!d)return u[s]=null,a();var h=u[s]=d.components[s];i.registerRouteInstance=function(e,t){var n=d.instances[s];(t&&n!==e||!t&&n===e)&&(d.instances[s]=t)},(i.hook||(i.hook={})).prepatch=function(e,t){d.instances[s]=t.componentInstance},i.hook.init=function(e){e.data.keepAlive&&e.componentInstance&&e.componentInstance!==d.instances[s]&&(d.instances[s]=e.componentInstance)};var v=i.props=function(e,t){switch(typeof t){case"undefined":return;case"object":return t;case"function":return t(e);case"boolean":return t?e.params:void 0;default:0}}(l,d.props&&d.props[s]);if(v){v=i.props=zo({},v);var m=i.attrs=i.attrs||{};for(var g in v)h.props&&g in h.props||(m[g]=v[g],delete v[g])}return a(h,i,r)}};var Ko=/[!'()*]/g,Vo=function(e){return"%"+e.charCodeAt(0).toString(16)},qo=/%2C/g,Ho=function(e){return encodeURIComponent(e).replace(Ko,Vo).replace(qo,",")},Wo=decodeURIComponent;function Xo(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach(function(e){var n=e.replace(/\+/g," ").split("="),r=Wo(n.shift()),o=n.length>0?Wo(n.join("=")):null;void 0===t[r]?t[r]=o:Array.isArray(t[r])?t[r].push(o):t[r]=[t[r],o]}),t):t}function Go(e){var t=e?Object.keys(e).map(function(t){var n=e[t];if(void 0===n)return"";if(null===n)return Ho(t);if(Array.isArray(n)){var r=[];return n.forEach(function(e){void 0!==e&&(null===e?r.push(Ho(t)):r.push(Ho(t)+"="+Ho(e)))}),r.join("&")}return Ho(t)+"="+Ho(n)}).filter(function(e){return e.length>0}).join("&"):null;return t?"?"+t:""}var Jo=/\/?$/;function Yo(e,t,n,r){var o=r&&r.options.stringifyQuery,i=t.query||{};try{i=Qo(i)}catch(e){}var a={name:t.name||e&&e.name,meta:e&&e.meta||{},path:t.path||"/",hash:t.hash||"",query:i,params:t.params||{},fullPath:ti(t,o),matched:e?ei(e):[]};return n&&(a.redirectedFrom=ti(n,o)),Object.freeze(a)}function Qo(e){if(Array.isArray(e))return e.map(Qo);if(e&&"object"==typeof e){var t={};for(var n in e)t[n]=Qo(e[n]);return t}return e}var Zo=Yo(null,{path:"/"});function ei(e){for(var t=[];e;)t.unshift(e),e=e.parent;return t}function ti(e,t){var n=e.path,r=e.query;void 0===r&&(r={});var o=e.hash;return void 0===o&&(o=""),(n||"/")+(t||Go)(r)+o}function ni(e,t){return t===Zo?e===t:!!t&&(e.path&&t.path?e.path.replace(Jo,"")===t.path.replace(Jo,"")&&e.hash===t.hash&&ri(e.query,t.query):!(!e.name||!t.name)&&(e.name===t.name&&e.hash===t.hash&&ri(e.query,t.query)&&ri(e.params,t.params)))}function ri(e,t){if(void 0===e&&(e={}),void 0===t&&(t={}),!e||!t)return e===t;var n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(function(n){var r=e[n],o=t[n];return"object"==typeof r&&"object"==typeof o?ri(r,o):String(r)===String(o)})}var oi,ii=[String,Object],ai=[String,Array],si={name:"RouterLink",props:{to:{type:ii,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:ai,default:"click"}},render:function(e){var t=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,s=o.href,l={},u=n.options.linkActiveClass,c=n.options.linkExactActiveClass,f=null==u?"router-link-active":u,p=null==c?"router-link-exact-active":c,d=null==this.activeClass?f:this.activeClass,h=null==this.exactActiveClass?p:this.exactActiveClass,v=i.path?Yo(null,i,null,n):a;l[h]=ni(r,v),l[d]=this.exact?l[h]:function(e,t){return 0===e.path.replace(Jo,"/").indexOf(t.path.replace(Jo,"/"))&&(!t.hash||e.hash===t.hash)&&function(e,t){for(var n in t)if(!(n in e))return!1;return!0}(e.query,t.query)}(r,v);var m=function(e){li(e)&&(t.replace?n.replace(i):n.push(i))},g={click:li};Array.isArray(this.event)?this.event.forEach(function(e){g[e]=m}):g[this.event]=m;var y={class:l};if("a"===this.tag)y.on=g,y.attrs={href:s};else{var b=function e(t){if(t)for(var n,r=0;r=0&&(t=e.slice(r),e=e.slice(0,r));var o=e.indexOf("?");return o>=0&&(n=e.slice(o+1),e=e.slice(0,o)),{path:e,query:n,hash:t}}(o.path||""),l=t&&t.path||"/",u=s.path?ci(s.path,l,n||o.append):l,c=function(e,t,n){void 0===t&&(t={});var r,o=n||Xo;try{r=o(e||"")}catch(e){r={}}for(var i in t)r[i]=t[i];return r}(s.query,o.query,r&&r.options.parseQuery),f=o.hash||s.hash;return f&&"#"!==f.charAt(0)&&(f="#"+f),{_normalized:!0,path:u,query:c,hash:f}}function Li(e,t){var n=Pi(e),r=n.pathList,o=n.pathMap,i=n.nameMap;function a(e,n,a){var s=Ti(e,n,!1,t),u=s.name;if(u){var c=i[u];if(!c)return l(null,s);var f=c.regex.keys.filter(function(e){return!e.optional}).map(function(e){return e.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=Si(c.path,s.params),l(c,s,a)}if(s.path){s.params={};for(var d=0;d=e.length?n():e[o]?t(e[o],function(){r(o+1)}):r(o+1)};r(0)}function Qi(e){return function(t,n,r){var o=!1,i=0,a=null;Zi(e,function(e,t,n,s){if("function"==typeof e&&void 0===e.cid){o=!0,i++;var l,u=na(function(t){var o;((o=t).__esModule||ta&&"Module"===o[Symbol.toStringTag])&&(t=t.default),e.resolved="function"==typeof t?t:oi.extend(t),n.components[s]=t,--i<=0&&r()}),c=na(function(e){var t="Failed to resolve async component "+s+": "+e;a||(a=Fo(e)?e:new Error(t),r(a))});try{l=e(u,c)}catch(e){c(e)}if(l)if("function"==typeof l.then)l.then(u,c);else{var f=l.component;f&&"function"==typeof f.then&&f.then(u,c)}}}),o||r()}}function Zi(e,t){return ea(e.map(function(e){return Object.keys(e.components).map(function(n){return t(e.components[n],e.instances[n],e,n)})}))}function ea(e){return Array.prototype.concat.apply([],e)}var ta="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function na(e){var t=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!t)return t=!0,e.apply(this,n)}}var ra=function(e,t){this.router=e,this.base=function(e){if(!e)if(ui){var t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(t),this.current=Zo,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function oa(e,t,n,r){var o=Zi(e,function(e,r,o,i){var a=function(e,t){"function"!=typeof e&&(e=oi.extend(e));return e.options[t]}(e,t);if(a)return Array.isArray(a)?a.map(function(e){return n(e,r,o,i)}):n(a,r,o,i)});return ea(r?o.reverse():o)}function ia(e,t){if(t)return function(){return e.apply(t,arguments)}}ra.prototype.listen=function(e){this.cb=e},ra.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))},ra.prototype.onError=function(e){this.errorCbs.push(e)},ra.prototype.transitionTo=function(e,t,n){var r=this,o=this.router.match(e,this.current);this.confirmTransition(o,function(){r.updateRoute(o),t&&t(o),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(e){e(o)}))},function(e){n&&n(e),e&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(t){t(e)}))})},ra.prototype.confirmTransition=function(e,t,n){var r=this,o=this.current,i=function(e){Fo(e)&&(r.errorCbs.length?r.errorCbs.forEach(function(t){t(e)}):console.error(e)),n&&n(e)};if(ni(e,o)&&e.matched.length===o.matched.length)return this.ensureURL(),i();var a=function(e,t){var n,r=Math.max(e.length,t.length);for(n=0;n-1?decodeURI(e.slice(0,r))+e.slice(r):decodeURI(e)}else n>-1&&(e=decodeURI(e.slice(0,n))+e.slice(n));return e}function fa(e){var t=window.location.href,n=t.indexOf("#");return(n>=0?t.slice(0,n):t)+"#"+e}function pa(e){Vi?Gi(fa(e)):window.location.hash=e}function da(e){Vi?Ji(fa(e)):window.location.replace(fa(e))}var ha=function(e){function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.push=function(e,t,n){var r=this;this.transitionTo(e,function(e){r.stack=r.stack.slice(0,r.index+1).concat(e),r.index++,t&&t(e)},n)},t.prototype.replace=function(e,t,n){var r=this;this.transitionTo(e,function(e){r.stack=r.stack.slice(0,r.index).concat(e),t&&t(e)},n)},t.prototype.go=function(e){var t=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){t.index=n,t.updateRoute(r)})}},t.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},t.prototype.ensureURL=function(){},t}(ra),va=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Li(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback="history"===t&&!Vi&&!1!==e.fallback,this.fallback&&(t="hash"),ui||(t="abstract"),this.mode=t,t){case"history":this.history=new aa(this,e.base);break;case"hash":this.history=new la(this,e.base,this.fallback);break;case"abstract":this.history=new ha(this,e.base);break;default:0}},ma={currentRoute:{configurable:!0}};function ya(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}va.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)},ma.currentRoute.get=function(){return this.history&&this.history.current},va.prototype.init=function(e){var t=this;if(this.apps.push(e),e.$once("hook:destroyed",function(){var n=t.apps.indexOf(e);n>-1&&t.apps.splice(n,1),t.app===e&&(t.app=t.apps[0]||null)}),!this.app){this.app=e;var n=this.history;if(n instanceof aa)n.transitionTo(n.getCurrentLocation());else if(n instanceof la){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(e){t.apps.forEach(function(t){t._route=e})})}},va.prototype.beforeEach=function(e){return ya(this.beforeHooks,e)},va.prototype.beforeResolve=function(e){return ya(this.resolveHooks,e)},va.prototype.afterEach=function(e){return ya(this.afterHooks,e)},va.prototype.onReady=function(e,t){this.history.onReady(e,t)},va.prototype.onError=function(e){this.history.onError(e)},va.prototype.push=function(e,t,n){this.history.push(e,t,n)},va.prototype.replace=function(e,t,n){this.history.replace(e,t,n)},va.prototype.go=function(e){this.history.go(e)},va.prototype.back=function(){this.go(-1)},va.prototype.forward=function(){this.go(1)},va.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map(function(e){return Object.keys(e.components).map(function(t){return e.components[t]})})):[]},va.prototype.resolve=function(e,t,n){var r=Ti(e,t=t||this.history.current,n,this),o=this.match(r,t),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(e,t,n){var r="hash"===n?"#"+t:t;return e?fi(e+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},va.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==Zo&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(va.prototype,ma),va.install=function e(t){if(!e.installed||oi!==t){e.installed=!0,oi=t;var n=function(e){return void 0!==e},r=function(e,t){var r=e.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(e,t)};t.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.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(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",Bo),t.component("RouterLink",si);var o=t.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},va.version="3.0.7",ui&&window.Vue&&window.Vue.use(va);var ba=va;var _a={NotFound:()=>n.e(27).then(n.bind(null,327)),Layout:()=>Promise.all([n.e(0),n.e(2)]).then(n.bind(null,326))},wa={"v-cbd95058":()=>n.e(28).then(n.bind(null,348)),"v-796bf18c":()=>n.e(29).then(n.bind(null,349)),"v-77cc1ec7":()=>n.e(20).then(n.bind(null,350)),"v-46ec0327":()=>n.e(10).then(n.bind(null,351)),"v-0a714732":()=>n.e(5).then(n.bind(null,352)),"v-986dbade":()=>n.e(18).then(n.bind(null,353)),"v-8d4dfbb6":()=>n.e(21).then(n.bind(null,354)),"v-8658c2f2":()=>n.e(8).then(n.bind(null,355)),"v-76564011":()=>n.e(30).then(n.bind(null,356)),"v-7434c187":()=>n.e(3).then(n.bind(null,341)),"v-0996c938":()=>n.e(31).then(n.bind(null,347)),"v-c0fa0cf2":()=>n.e(6).then(n.bind(null,346)),"v-6c5acde7":()=>n.e(12).then(n.bind(null,345)),"v-4db1779e":()=>n.e(32).then(n.bind(null,328)),"v-1263fa20":()=>n.e(33).then(n.bind(null,343)),"v-9d44dcf2":()=>n.e(11).then(n.bind(null,342)),"v-240eddf2":()=>n.e(13).then(n.bind(null,359)),"v-7d2f6cc7":()=>n.e(14).then(n.bind(null,340)),"v-5db85fb7":()=>n.e(9).then(n.bind(null,339)),"v-5be22288":()=>n.e(25).then(n.bind(null,338)),"v-61ad5b01":()=>n.e(34).then(n.bind(null,337)),"v-4b91c5e7":()=>n.e(24).then(n.bind(null,336)),"v-c621d7f2":()=>n.e(35).then(n.bind(null,335)),"v-cfc76602":()=>n.e(16).then(n.bind(null,334)),"v-7249b1a4":()=>n.e(22).then(n.bind(null,333)),"v-5566a571":()=>n.e(17).then(n.bind(null,332)),"v-76626758":()=>n.e(26).then(n.bind(null,331)),"v-554543f9":()=>n.e(4).then(n.bind(null,330)),"v-292f2847":()=>n.e(15).then(n.bind(null,344)),"v-3732859b":()=>n.e(19).then(n.bind(null,329)),"v-0393ebb2":()=>n.e(7).then(n.bind(null,357))};function ka(e){const t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}const xa=/-(\w)/g,$a=ka(e=>e.replace(xa,(e,t)=>t?t.toUpperCase():"")),Ca=/\B([A-Z])/g,Aa=ka(e=>e.replace(Ca,"-$1").toLowerCase()),Oa=ka(e=>e.charAt(0).toUpperCase()+e.slice(1));function Ea(e,t){if(!t)return;if(e(t))return e(t);return t.includes("-")?e(Oa($a(t))):e(Oa(t))||e(Aa(t))}const Sa=Object.assign({},_a,wa),Pa=e=>Sa[e],ja=e=>wa[e],Ta=e=>_a[e],La=e=>Uo.component(e);function Ra(e){return Ea(ja,e)}function Ia(e){return Ea(Ta,e)}function Ma(e){return Ea(Pa,e)}function Da(e){return Ea(La,e)}function Na(...e){return Promise.all(e.filter(e=>e).map(async e=>{if(!Da(e)&&Ma(e)){const t=await Ma(e)();Uo.component(e,t.default)}}))}function Ua(e,t){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[e]=t)}var Fa={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 e=this.$page.frontmatter.meta||[],t=e.slice(0);0===e.filter(e=>"description"===e.name).length&&t.push({name:"description",content:this.$description});const n=document.querySelectorAll('meta[name="description"]');n.length&&n.forEach(e=>this.currentMetaTags.add(e)),this.currentMetaTags=new Set(za(t,this.currentMetaTags))}},watch:{$page(){this.updateMeta()}},beforeDestroy(){za(null,this.currentMetaTags)}};function za(e,t){if(t&&[...t].forEach(e=>{document.head.removeChild(e)}),e)return e.map(e=>{const t=document.createElement("meta");return Object.keys(e).forEach(n=>{t.setAttribute(n,e[n])}),document.head.appendChild(t),t})}var Ba=n(3),Ka={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(Ba)()(function(){this.setActiveHash()},300),setActiveHash(){const e=[].slice.call(document.querySelectorAll(".sidebar-link")),t=[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(e=>e.hash===t.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 e=0;e=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},Va=n(2),qa=n.n(Va),Ha=[Fa,Ka,{mounted(){qa.a.configure({showSpinner:!1}),this.$router.beforeEach((e,t,n)=>{e.path===t.path||Uo.component(e.name)||qa.a.start(),n()}),this.$router.afterEach(()=>{qa.a.done(),this.isSidebarOpen=!1})}}],Wa={methods:{getLayout:function(){if(this.$page.path){var e=this.$page.frontmatter.layout;return e&&(this.$vuepress.getLayoutAsyncComponent(e)||this.$vuepress.getVueComponent(e))?e:"Layout"}return"NotFound"}},computed:{layout:function(){var e=this.getLayout();return Ua("layout",e),Uo.component(e)}}},Xa=n(0),Ga=Object(Xa.a)(Wa,function(){var e=this.$createElement;return(this._self._c||e)(this.layout,{tag:"component"})},[],!1,null,null,null).exports;!function(e,t,n){switch(t){case"components":e[t]||(e[t]={}),Object.assign(e[t],n);break;case"mixins":e[t]||(e[t]=[]),e[t].push(...n);break;default:throw new Error("Unknown option name.")}}(Ga,"mixins",Ha);const Ja=[{name:"v-cbd95058",path:"/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-cbd95058").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-796bf18c",path:"/guide/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-796bf18c").then(n)}},{path:"/guide/index.html",redirect:"/guide/"},{name:"v-77cc1ec7",path:"/guide/cluster/computing.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-77cc1ec7").then(n)}},{name:"v-46ec0327",path:"/guide/cluster/namespace.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-46ec0327").then(n)}},{name:"v-0a714732",path:"/guide/cluster/storage.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-0a714732").then(n)}},{name:"v-986dbade",path:"/guide/diagonize/events.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-986dbade").then(n)}},{name:"v-8d4dfbb6",path:"/guide/diagonize/logs.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-8d4dfbb6").then(n)}},{name:"v-8658c2f2",path:"/guide/example/busybox.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-8658c2f2").then(n)}},{name:"v-76564011",path:"/guide/diagonize/port-forward.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-76564011").then(n)}},{name:"v-7434c187",path:"/guide/example/monitor.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-7434c187").then(n)}},{name:"v-0996c938",path:"/guide/monitor/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-0996c938").then(n)}},{path:"/guide/monitor/index.html",redirect:"/guide/monitor/"},{name:"v-c0fa0cf2",path:"/guide/namespace/adjustion.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-c0fa0cf2").then(n)}},{name:"v-6c5acde7",path:"/guide/namespace/configMap.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-6c5acde7").then(n)}},{name:"v-4db1779e",path:"/guide/monitor/apis.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-4db1779e").then(n)}},{name:"v-1263fa20",path:"/guide/namespace/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-1263fa20").then(n)}},{path:"/guide/namespace/index.html",redirect:"/guide/namespace/"},{name:"v-9d44dcf2",path:"/guide/namespace/multi-env.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-9d44dcf2").then(n)}},{name:"v-240eddf2",path:"/guide/namespace/pvc.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-240eddf2").then(n)}},{name:"v-7d2f6cc7",path:"/guide/namespace/secrets.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-7d2f6cc7").then(n)}},{name:"v-5db85fb7",path:"/guide/namespace/workload.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-5db85fb7").then(n)}},{name:"v-5be22288",path:"/install/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-5be22288").then(n)}},{path:"/install/index.html",redirect:"/install/"},{name:"v-61ad5b01",path:"/install/install-common-ingress.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-61ad5b01").then(n)}},{name:"v-4b91c5e7",path:"/install/install-common-vm.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-4b91c5e7").then(n)}},{name:"v-c621d7f2",path:"/install/install-dashboard.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-c621d7f2").then(n)}},{name:"v-cfc76602",path:"/install/install-kind.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-cfc76602").then(n)}},{name:"v-7249b1a4",path:"/overview/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-7249b1a4").then(n)}},{path:"/overview/index.html",redirect:"/overview/"},{name:"v-5566a571",path:"/overview/why-kuboard.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-5566a571").then(n)}},{name:"v-76626758",path:"/support/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-76626758").then(n)}},{path:"/support/index.html",redirect:"/support/"},{name:"v-554543f9",path:"/guide/example/import.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-554543f9").then(n)}},{name:"v-292f2847",path:"/install/install-k8s.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-292f2847").then(n)}},{name:"v-3732859b",path:"/install/install-kubernetes.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-3732859b").then(n)}},{name:"v-0393ebb2",path:"/overview/concepts.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-0393ebb2").then(n)}},{path:"*",component:Ga}],Ya={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:"/"},{title:"使用手册",frontmatter:{},regularPath:"/guide/",relativePath:"guide/README.md",key:"v-796bf18c",path:"/guide/"},{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:"移除节点"}]},{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:"准备"}]},{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-创建存储类"}]},{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:"微服务上下文相关的事件"}]},{title:"日志及终端",frontmatter:{},regularPath:"/guide/diagonize/logs.html",relativePath:"guide/diagonize/logs.md",key:"v-8d4dfbb6",path:"/guide/diagonize/logs.html"},{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:"验证工作负载"}]},{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"}]},{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:"查看链路追踪监控信息"}]},{title:"监控套件",frontmatter:{},regularPath:"/guide/monitor/",relativePath:"guide/monitor/README.md",key:"v-0996c938",path:"/guide/monitor/"},{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:"批量调整工作负载的副本数"}]},{title:"配置",frontmatter:{},regularPath:"/guide/namespace/configMap.html",relativePath:"guide/namespace/configMap.md",key:"v-6c5acde7",path:"/guide/namespace/configMap.html"},{title:"自定义监控套件",frontmatter:{},regularPath:"/guide/monitor/apis.html",relativePath:"guide/monitor/apis.md",key:"v-4db1779e",path:"/guide/monitor/apis.html"},{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:"导入"}]},{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"}]},{title:"存储卷声明",frontmatter:{},regularPath:"/guide/namespace/pvc.html",relativePath:"guide/namespace/pvc.md",key:"v-240eddf2",path:"/guide/namespace/pvc.html"},{title:"Secrets",frontmatter:{},regularPath:"/guide/namespace/secrets.html",relativePath:"guide/namespace/secrets.md",key:"v-7d2f6cc7",path:"/guide/namespace/secrets.html"},{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:"终端:-通过交互式命令,在容器内诊断问题"}]},{title:"概述",frontmatter:{},regularPath:"/install/",relativePath:"install/README.md",key:"v-5be22288",path:"/install/"},{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:"验证配置"}]},{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基本配置"}]},{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-访问"}]},{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-页面"}]},{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:"在线提问"}]},{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:"更多资料"}]},{title:"提交问题",frontmatter:{},regularPath:"/support/",relativePath:"support/README.md",key:"v-76626758",path:"/support/",headers:[{level:2,title:"提交问题",slug:"提交问题"},{level:2,title:"在线提问",slug:"在线提问"}]},{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"}]},{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:"验证配置"}]},{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:"验证配置"}]},{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-互联网入口"}]}],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(5);Uo.component("Badge",()=>Promise.all([n.e(0),n.e(23)]).then(n.bind(null,358)));n(6);var Qa=[{},({Vue:e})=>{e.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{},({router:e})=>{"undefined"!=typeof window&&(function(e,t,n,r,o,i,a){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,i=t.createElement(n),a=t.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"),e.afterEach(function(e){ga("set","page",e.fullPath),ga("send","pageview")}))}],Za=[];class es{constructor(){this.store=new Uo({data:{state:{}}})}$get(e){return this.store.state[e]}$set(e,t){Uo.set(this.store.state,e,t)}$emit(...e){this.store.$emit(...e)}$on(...e){this.store.$on(...e)}}class ts extends es{}Object.assign(ts.prototype,{getPageAsyncComponent:Ra,getLayoutAsyncComponent:Ia,getAsyncComponent:Ma,getVueComponent:Da});var ns={install(e){const t=new ts;e.$vuepress=t,e.prototype.$vuepress=t}};function rs(e,t){return e.options.routes.filter(e=>e.path.toLowerCase()===t.toLowerCase()).length>0}var os={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(e){const t=this.pageKey||this.$parent.$page.key;return Ua("pageKey",t),Uo.component(t)||Uo.component(t,Ra(t)),e(t||"")}},is={functional:!0,props:{slotKey:String,required:!0},render:(e,{props:t,slots:n})=>e("div",{class:[`content__${t.slotKey}`]},n()[t.slotKey])},as=(n(7),Object(Xa.a)({},function(e,t){var n=t._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"}}),t._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),ss={functional:!0,render(e,{parent:t,children:n}){if(t._isMounted)return n;t.$once("hook:mounted",()=>{t.$forceUpdate()})}};Uo.config.productionTip=!1,Uo.use(ba),Uo.use(ns),Uo.mixin(function(e,t,n=Uo){!function(e){e.locales&&Object.keys(e.locales).forEach(t=>{e.locales[t].path=t}),Object.freeze(e)}(t),n.$vuepress.$set("siteData",t);const r=new(e(n.$vuepress.$get("siteData"))),o=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),i={};return Object.keys(o).reduce((e,t)=>(t.startsWith("$")&&(e[t]=o[t].get),e),i),{computed:i}}(e=>(class{setPage(e){this.__page=e}get $site(){return e}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:e={}}=this.$site;let t,n;for(const r in e)"/"===r?n=e[r]:0===this.$page.path.indexOf(r)&&(t=e[r]);return t||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $title(){const e=this.$page,{metaTitle:t}=this.$page.frontmatter;if("string"==typeof t)return t;const n=this.$siteTitle,r=e.frontmatter.home?null:e.frontmatter.title||e.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const e=function(e){if(e){const t=e.filter(e=>"description"===e.name)[0];if(t)return t.content}}(this.$page.frontmatter.meta);return e||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(e,t){for(let n=0;nn||(e.hash?!Uo.$vuepress.$get("disableScrollBehavior")&&{selector:e.hash}:{x:0,y:0})});!function(e){e.beforeEach((t,n,r)=>{if(rs(e,t.path))r();else if(/(\/|\.html)$/.test(t.path))if(/\/$/.test(t.path)){const n=t.path.replace(/\/$/,"")+".html";rs(e,n)?r(n):r()}else r();else{const n=t.path+"/",o=t.path+".html";rs(e,o)?r(o):rs(e,n)?r(n):r()}})}(n);const r={};try{Qa.forEach(t=>{"function"==typeof t&&t({Vue:Uo,options:r,router:n,siteData:Ya,isServer:e})})}catch(e){console.error(e)}return{app:new Uo(Object.assign(r,{router:n,render:e=>e("div",{attrs:{id:"app"}},[e("router-view",{ref:"layout"}),e("div",{class:"global-ui"},Za.map(t=>e(t)))])})),router:n}}(!1);window.__VUEPRESS__={version:"1.0.2",hash:"d87b6ef"},us.onReady(()=>{ls.$mount("#app")})}]); \ No newline at end of file + */function Fo(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function zo(e,t){for(var n in t)e[n]=t[n];return e}var Bo={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(e,t){var n=t.props,r=t.children,o=t.parent,i=t.data;i.routerView=!0;for(var a=o.$createElement,s=n.name,l=o.$route,u=o._routerViewCache||(o._routerViewCache={}),c=0,f=!1;o&&o._routerRoot!==o;){var p=o.$vnode&&o.$vnode.data;p&&(p.routerView&&c++,p.keepAlive&&o._inactive&&(f=!0)),o=o.$parent}if(i.routerViewDepth=c,f)return a(u[s],i,r);var d=l.matched[c];if(!d)return u[s]=null,a();var h=u[s]=d.components[s];i.registerRouteInstance=function(e,t){var n=d.instances[s];(t&&n!==e||!t&&n===e)&&(d.instances[s]=t)},(i.hook||(i.hook={})).prepatch=function(e,t){d.instances[s]=t.componentInstance},i.hook.init=function(e){e.data.keepAlive&&e.componentInstance&&e.componentInstance!==d.instances[s]&&(d.instances[s]=e.componentInstance)};var v=i.props=function(e,t){switch(typeof t){case"undefined":return;case"object":return t;case"function":return t(e);case"boolean":return t?e.params:void 0;default:0}}(l,d.props&&d.props[s]);if(v){v=i.props=zo({},v);var m=i.attrs=i.attrs||{};for(var g in v)h.props&&g in h.props||(m[g]=v[g],delete v[g])}return a(h,i,r)}};var Ko=/[!'()*]/g,Vo=function(e){return"%"+e.charCodeAt(0).toString(16)},qo=/%2C/g,Ho=function(e){return encodeURIComponent(e).replace(Ko,Vo).replace(qo,",")},Wo=decodeURIComponent;function Xo(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach(function(e){var n=e.replace(/\+/g," ").split("="),r=Wo(n.shift()),o=n.length>0?Wo(n.join("=")):null;void 0===t[r]?t[r]=o:Array.isArray(t[r])?t[r].push(o):t[r]=[t[r],o]}),t):t}function Go(e){var t=e?Object.keys(e).map(function(t){var n=e[t];if(void 0===n)return"";if(null===n)return Ho(t);if(Array.isArray(n)){var r=[];return n.forEach(function(e){void 0!==e&&(null===e?r.push(Ho(t)):r.push(Ho(t)+"="+Ho(e)))}),r.join("&")}return Ho(t)+"="+Ho(n)}).filter(function(e){return e.length>0}).join("&"):null;return t?"?"+t:""}var Jo=/\/?$/;function Yo(e,t,n,r){var o=r&&r.options.stringifyQuery,i=t.query||{};try{i=Qo(i)}catch(e){}var a={name:t.name||e&&e.name,meta:e&&e.meta||{},path:t.path||"/",hash:t.hash||"",query:i,params:t.params||{},fullPath:ti(t,o),matched:e?ei(e):[]};return n&&(a.redirectedFrom=ti(n,o)),Object.freeze(a)}function Qo(e){if(Array.isArray(e))return e.map(Qo);if(e&&"object"==typeof e){var t={};for(var n in e)t[n]=Qo(e[n]);return t}return e}var Zo=Yo(null,{path:"/"});function ei(e){for(var t=[];e;)t.unshift(e),e=e.parent;return t}function ti(e,t){var n=e.path,r=e.query;void 0===r&&(r={});var o=e.hash;return void 0===o&&(o=""),(n||"/")+(t||Go)(r)+o}function ni(e,t){return t===Zo?e===t:!!t&&(e.path&&t.path?e.path.replace(Jo,"")===t.path.replace(Jo,"")&&e.hash===t.hash&&ri(e.query,t.query):!(!e.name||!t.name)&&(e.name===t.name&&e.hash===t.hash&&ri(e.query,t.query)&&ri(e.params,t.params)))}function ri(e,t){if(void 0===e&&(e={}),void 0===t&&(t={}),!e||!t)return e===t;var n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(function(n){var r=e[n],o=t[n];return"object"==typeof r&&"object"==typeof o?ri(r,o):String(r)===String(o)})}var oi,ii=[String,Object],ai=[String,Array],si={name:"RouterLink",props:{to:{type:ii,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:ai,default:"click"}},render:function(e){var t=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,s=o.href,l={},u=n.options.linkActiveClass,c=n.options.linkExactActiveClass,f=null==u?"router-link-active":u,p=null==c?"router-link-exact-active":c,d=null==this.activeClass?f:this.activeClass,h=null==this.exactActiveClass?p:this.exactActiveClass,v=i.path?Yo(null,i,null,n):a;l[h]=ni(r,v),l[d]=this.exact?l[h]:function(e,t){return 0===e.path.replace(Jo,"/").indexOf(t.path.replace(Jo,"/"))&&(!t.hash||e.hash===t.hash)&&function(e,t){for(var n in t)if(!(n in e))return!1;return!0}(e.query,t.query)}(r,v);var m=function(e){li(e)&&(t.replace?n.replace(i):n.push(i))},g={click:li};Array.isArray(this.event)?this.event.forEach(function(e){g[e]=m}):g[this.event]=m;var y={class:l};if("a"===this.tag)y.on=g,y.attrs={href:s};else{var b=function e(t){if(t)for(var n,r=0;r=0&&(t=e.slice(r),e=e.slice(0,r));var o=e.indexOf("?");return o>=0&&(n=e.slice(o+1),e=e.slice(0,o)),{path:e,query:n,hash:t}}(o.path||""),l=t&&t.path||"/",u=s.path?ci(s.path,l,n||o.append):l,c=function(e,t,n){void 0===t&&(t={});var r,o=n||Xo;try{r=o(e||"")}catch(e){r={}}for(var i in t)r[i]=t[i];return r}(s.query,o.query,r&&r.options.parseQuery),f=o.hash||s.hash;return f&&"#"!==f.charAt(0)&&(f="#"+f),{_normalized:!0,path:u,query:c,hash:f}}function Li(e,t){var n=Pi(e),r=n.pathList,o=n.pathMap,i=n.nameMap;function a(e,n,a){var s=Ti(e,n,!1,t),u=s.name;if(u){var c=i[u];if(!c)return l(null,s);var f=c.regex.keys.filter(function(e){return!e.optional}).map(function(e){return e.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=Si(c.path,s.params),l(c,s,a)}if(s.path){s.params={};for(var d=0;d=e.length?n():e[o]?t(e[o],function(){r(o+1)}):r(o+1)};r(0)}function Qi(e){return function(t,n,r){var o=!1,i=0,a=null;Zi(e,function(e,t,n,s){if("function"==typeof e&&void 0===e.cid){o=!0,i++;var l,u=na(function(t){var o;((o=t).__esModule||ta&&"Module"===o[Symbol.toStringTag])&&(t=t.default),e.resolved="function"==typeof t?t:oi.extend(t),n.components[s]=t,--i<=0&&r()}),c=na(function(e){var t="Failed to resolve async component "+s+": "+e;a||(a=Fo(e)?e:new Error(t),r(a))});try{l=e(u,c)}catch(e){c(e)}if(l)if("function"==typeof l.then)l.then(u,c);else{var f=l.component;f&&"function"==typeof f.then&&f.then(u,c)}}}),o||r()}}function Zi(e,t){return ea(e.map(function(e){return Object.keys(e.components).map(function(n){return t(e.components[n],e.instances[n],e,n)})}))}function ea(e){return Array.prototype.concat.apply([],e)}var ta="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function na(e){var t=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!t)return t=!0,e.apply(this,n)}}var ra=function(e,t){this.router=e,this.base=function(e){if(!e)if(ui){var t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(t),this.current=Zo,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function oa(e,t,n,r){var o=Zi(e,function(e,r,o,i){var a=function(e,t){"function"!=typeof e&&(e=oi.extend(e));return e.options[t]}(e,t);if(a)return Array.isArray(a)?a.map(function(e){return n(e,r,o,i)}):n(a,r,o,i)});return ea(r?o.reverse():o)}function ia(e,t){if(t)return function(){return e.apply(t,arguments)}}ra.prototype.listen=function(e){this.cb=e},ra.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))},ra.prototype.onError=function(e){this.errorCbs.push(e)},ra.prototype.transitionTo=function(e,t,n){var r=this,o=this.router.match(e,this.current);this.confirmTransition(o,function(){r.updateRoute(o),t&&t(o),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(e){e(o)}))},function(e){n&&n(e),e&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(t){t(e)}))})},ra.prototype.confirmTransition=function(e,t,n){var r=this,o=this.current,i=function(e){Fo(e)&&(r.errorCbs.length?r.errorCbs.forEach(function(t){t(e)}):console.error(e)),n&&n(e)};if(ni(e,o)&&e.matched.length===o.matched.length)return this.ensureURL(),i();var a=function(e,t){var n,r=Math.max(e.length,t.length);for(n=0;n-1?decodeURI(e.slice(0,r))+e.slice(r):decodeURI(e)}else n>-1&&(e=decodeURI(e.slice(0,n))+e.slice(n));return e}function fa(e){var t=window.location.href,n=t.indexOf("#");return(n>=0?t.slice(0,n):t)+"#"+e}function pa(e){Vi?Gi(fa(e)):window.location.hash=e}function da(e){Vi?Ji(fa(e)):window.location.replace(fa(e))}var ha=function(e){function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.push=function(e,t,n){var r=this;this.transitionTo(e,function(e){r.stack=r.stack.slice(0,r.index+1).concat(e),r.index++,t&&t(e)},n)},t.prototype.replace=function(e,t,n){var r=this;this.transitionTo(e,function(e){r.stack=r.stack.slice(0,r.index).concat(e),t&&t(e)},n)},t.prototype.go=function(e){var t=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){t.index=n,t.updateRoute(r)})}},t.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},t.prototype.ensureURL=function(){},t}(ra),va=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Li(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback="history"===t&&!Vi&&!1!==e.fallback,this.fallback&&(t="hash"),ui||(t="abstract"),this.mode=t,t){case"history":this.history=new aa(this,e.base);break;case"hash":this.history=new la(this,e.base,this.fallback);break;case"abstract":this.history=new ha(this,e.base);break;default:0}},ma={currentRoute:{configurable:!0}};function ya(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}va.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)},ma.currentRoute.get=function(){return this.history&&this.history.current},va.prototype.init=function(e){var t=this;if(this.apps.push(e),e.$once("hook:destroyed",function(){var n=t.apps.indexOf(e);n>-1&&t.apps.splice(n,1),t.app===e&&(t.app=t.apps[0]||null)}),!this.app){this.app=e;var n=this.history;if(n instanceof aa)n.transitionTo(n.getCurrentLocation());else if(n instanceof la){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(e){t.apps.forEach(function(t){t._route=e})})}},va.prototype.beforeEach=function(e){return ya(this.beforeHooks,e)},va.prototype.beforeResolve=function(e){return ya(this.resolveHooks,e)},va.prototype.afterEach=function(e){return ya(this.afterHooks,e)},va.prototype.onReady=function(e,t){this.history.onReady(e,t)},va.prototype.onError=function(e){this.history.onError(e)},va.prototype.push=function(e,t,n){this.history.push(e,t,n)},va.prototype.replace=function(e,t,n){this.history.replace(e,t,n)},va.prototype.go=function(e){this.history.go(e)},va.prototype.back=function(){this.go(-1)},va.prototype.forward=function(){this.go(1)},va.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map(function(e){return Object.keys(e.components).map(function(t){return e.components[t]})})):[]},va.prototype.resolve=function(e,t,n){var r=Ti(e,t=t||this.history.current,n,this),o=this.match(r,t),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(e,t,n){var r="hash"===n?"#"+t:t;return e?fi(e+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},va.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==Zo&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(va.prototype,ma),va.install=function e(t){if(!e.installed||oi!==t){e.installed=!0,oi=t;var n=function(e){return void 0!==e},r=function(e,t){var r=e.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(e,t)};t.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.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(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",Bo),t.component("RouterLink",si);var o=t.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},va.version="3.0.7",ui&&window.Vue&&window.Vue.use(va);var ba=va;var _a={NotFound:()=>n.e(27).then(n.bind(null,327)),Layout:()=>Promise.all([n.e(0),n.e(2)]).then(n.bind(null,326))},wa={"v-cbd95058":()=>n.e(28).then(n.bind(null,348)),"v-796bf18c":()=>n.e(29).then(n.bind(null,349)),"v-77cc1ec7":()=>n.e(20).then(n.bind(null,350)),"v-46ec0327":()=>n.e(10).then(n.bind(null,351)),"v-0a714732":()=>n.e(5).then(n.bind(null,352)),"v-986dbade":()=>n.e(18).then(n.bind(null,353)),"v-8d4dfbb6":()=>n.e(21).then(n.bind(null,354)),"v-8658c2f2":()=>n.e(8).then(n.bind(null,355)),"v-76564011":()=>n.e(30).then(n.bind(null,356)),"v-7434c187":()=>n.e(3).then(n.bind(null,341)),"v-0996c938":()=>n.e(31).then(n.bind(null,347)),"v-4db1779e":()=>n.e(32).then(n.bind(null,346)),"v-c0fa0cf2":()=>n.e(6).then(n.bind(null,345)),"v-6c5acde7":()=>n.e(12).then(n.bind(null,328)),"v-1263fa20":()=>n.e(33).then(n.bind(null,343)),"v-9d44dcf2":()=>n.e(11).then(n.bind(null,342)),"v-240eddf2":()=>n.e(13).then(n.bind(null,359)),"v-7d2f6cc7":()=>n.e(14).then(n.bind(null,340)),"v-5db85fb7":()=>n.e(9).then(n.bind(null,339)),"v-61ad5b01":()=>n.e(34).then(n.bind(null,338)),"v-5be22288":()=>n.e(25).then(n.bind(null,337)),"v-4b91c5e7":()=>n.e(24).then(n.bind(null,336)),"v-c621d7f2":()=>n.e(35).then(n.bind(null,335)),"v-cfc76602":()=>n.e(16).then(n.bind(null,334)),"v-7249b1a4":()=>n.e(22).then(n.bind(null,333)),"v-5566a571":()=>n.e(17).then(n.bind(null,332)),"v-76626758":()=>n.e(26).then(n.bind(null,331)),"v-554543f9":()=>n.e(4).then(n.bind(null,330)),"v-292f2847":()=>n.e(15).then(n.bind(null,344)),"v-3732859b":()=>n.e(19).then(n.bind(null,329)),"v-0393ebb2":()=>n.e(7).then(n.bind(null,357))};function ka(e){const t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}const xa=/-(\w)/g,$a=ka(e=>e.replace(xa,(e,t)=>t?t.toUpperCase():"")),Ca=/\B([A-Z])/g,Aa=ka(e=>e.replace(Ca,"-$1").toLowerCase()),Oa=ka(e=>e.charAt(0).toUpperCase()+e.slice(1));function Ea(e,t){if(!t)return;if(e(t))return e(t);return t.includes("-")?e(Oa($a(t))):e(Oa(t))||e(Aa(t))}const Sa=Object.assign({},_a,wa),Pa=e=>Sa[e],ja=e=>wa[e],Ta=e=>_a[e],La=e=>Uo.component(e);function Ra(e){return Ea(ja,e)}function Ia(e){return Ea(Ta,e)}function Ma(e){return Ea(Pa,e)}function Da(e){return Ea(La,e)}function Na(...e){return Promise.all(e.filter(e=>e).map(async e=>{if(!Da(e)&&Ma(e)){const t=await Ma(e)();Uo.component(e,t.default)}}))}function Ua(e,t){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[e]=t)}var Fa={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 e=this.$page.frontmatter.meta||[],t=e.slice(0);0===e.filter(e=>"description"===e.name).length&&t.push({name:"description",content:this.$description});const n=document.querySelectorAll('meta[name="description"]');n.length&&n.forEach(e=>this.currentMetaTags.add(e)),this.currentMetaTags=new Set(za(t,this.currentMetaTags))}},watch:{$page(){this.updateMeta()}},beforeDestroy(){za(null,this.currentMetaTags)}};function za(e,t){if(t&&[...t].forEach(e=>{document.head.removeChild(e)}),e)return e.map(e=>{const t=document.createElement("meta");return Object.keys(e).forEach(n=>{t.setAttribute(n,e[n])}),document.head.appendChild(t),t})}var Ba=n(3),Ka={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(Ba)()(function(){this.setActiveHash()},300),setActiveHash(){const e=[].slice.call(document.querySelectorAll(".sidebar-link")),t=[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(e=>e.hash===t.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 e=0;e=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},Va=n(2),qa=n.n(Va),Ha=[Fa,Ka,{mounted(){qa.a.configure({showSpinner:!1}),this.$router.beforeEach((e,t,n)=>{e.path===t.path||Uo.component(e.name)||qa.a.start(),n()}),this.$router.afterEach(()=>{qa.a.done(),this.isSidebarOpen=!1})}}],Wa={methods:{getLayout:function(){if(this.$page.path){var e=this.$page.frontmatter.layout;return e&&(this.$vuepress.getLayoutAsyncComponent(e)||this.$vuepress.getVueComponent(e))?e:"Layout"}return"NotFound"}},computed:{layout:function(){var e=this.getLayout();return Ua("layout",e),Uo.component(e)}}},Xa=n(0),Ga=Object(Xa.a)(Wa,function(){var e=this.$createElement;return(this._self._c||e)(this.layout,{tag:"component"})},[],!1,null,null,null).exports;!function(e,t,n){switch(t){case"components":e[t]||(e[t]={}),Object.assign(e[t],n);break;case"mixins":e[t]||(e[t]=[]),e[t].push(...n);break;default:throw new Error("Unknown option name.")}}(Ga,"mixins",Ha);const Ja=[{name:"v-cbd95058",path:"/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-cbd95058").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-796bf18c",path:"/guide/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-796bf18c").then(n)}},{path:"/guide/index.html",redirect:"/guide/"},{name:"v-77cc1ec7",path:"/guide/cluster/computing.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-77cc1ec7").then(n)}},{name:"v-46ec0327",path:"/guide/cluster/namespace.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-46ec0327").then(n)}},{name:"v-0a714732",path:"/guide/cluster/storage.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-0a714732").then(n)}},{name:"v-986dbade",path:"/guide/diagonize/events.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-986dbade").then(n)}},{name:"v-8d4dfbb6",path:"/guide/diagonize/logs.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-8d4dfbb6").then(n)}},{name:"v-8658c2f2",path:"/guide/example/busybox.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-8658c2f2").then(n)}},{name:"v-76564011",path:"/guide/diagonize/port-forward.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-76564011").then(n)}},{name:"v-7434c187",path:"/guide/example/monitor.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-7434c187").then(n)}},{name:"v-0996c938",path:"/guide/monitor/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-0996c938").then(n)}},{path:"/guide/monitor/index.html",redirect:"/guide/monitor/"},{name:"v-4db1779e",path:"/guide/monitor/apis.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-4db1779e").then(n)}},{name:"v-c0fa0cf2",path:"/guide/namespace/adjustion.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-c0fa0cf2").then(n)}},{name:"v-6c5acde7",path:"/guide/namespace/configMap.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-6c5acde7").then(n)}},{name:"v-1263fa20",path:"/guide/namespace/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-1263fa20").then(n)}},{path:"/guide/namespace/index.html",redirect:"/guide/namespace/"},{name:"v-9d44dcf2",path:"/guide/namespace/multi-env.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-9d44dcf2").then(n)}},{name:"v-240eddf2",path:"/guide/namespace/pvc.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-240eddf2").then(n)}},{name:"v-7d2f6cc7",path:"/guide/namespace/secrets.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-7d2f6cc7").then(n)}},{name:"v-5db85fb7",path:"/guide/namespace/workload.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-5db85fb7").then(n)}},{name:"v-61ad5b01",path:"/install/install-common-ingress.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-61ad5b01").then(n)}},{name:"v-5be22288",path:"/install/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-5be22288").then(n)}},{path:"/install/index.html",redirect:"/install/"},{name:"v-4b91c5e7",path:"/install/install-common-vm.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-4b91c5e7").then(n)}},{name:"v-c621d7f2",path:"/install/install-dashboard.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-c621d7f2").then(n)}},{name:"v-cfc76602",path:"/install/install-kind.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-cfc76602").then(n)}},{name:"v-7249b1a4",path:"/overview/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-7249b1a4").then(n)}},{path:"/overview/index.html",redirect:"/overview/"},{name:"v-5566a571",path:"/overview/why-kuboard.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-5566a571").then(n)}},{name:"v-76626758",path:"/support/",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-76626758").then(n)}},{path:"/support/index.html",redirect:"/support/"},{name:"v-554543f9",path:"/guide/example/import.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-554543f9").then(n)}},{name:"v-292f2847",path:"/install/install-k8s.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-292f2847").then(n)}},{name:"v-3732859b",path:"/install/install-kubernetes.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-3732859b").then(n)}},{name:"v-0393ebb2",path:"/overview/concepts.html",component:Ga,beforeEnter:(e,t,n)=>{Na("Layout","v-0393ebb2").then(n)}},{path:"*",component:Ga}],Ya={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:"/"},{title:"使用手册",frontmatter:{},regularPath:"/guide/",relativePath:"guide/README.md",key:"v-796bf18c",path:"/guide/"},{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:"移除节点"}]},{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:"准备"}]},{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-创建存储类"}]},{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:"微服务上下文相关的事件"}]},{title:"日志及终端",frontmatter:{},regularPath:"/guide/diagonize/logs.html",relativePath:"guide/diagonize/logs.md",key:"v-8d4dfbb6",path:"/guide/diagonize/logs.html"},{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:"验证工作负载"}]},{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"}]},{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:"查看链路追踪监控信息"}]},{title:"监控套件",frontmatter:{},regularPath:"/guide/monitor/",relativePath:"guide/monitor/README.md",key:"v-0996c938",path:"/guide/monitor/"},{title:"自定义监控套件",frontmatter:{},regularPath:"/guide/monitor/apis.html",relativePath:"guide/monitor/apis.md",key:"v-4db1779e",path:"/guide/monitor/apis.html"},{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:"批量调整工作负载的副本数"}]},{title:"配置",frontmatter:{},regularPath:"/guide/namespace/configMap.html",relativePath:"guide/namespace/configMap.md",key:"v-6c5acde7",path:"/guide/namespace/configMap.html"},{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:"导入"}]},{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"}]},{title:"存储卷声明",frontmatter:{},regularPath:"/guide/namespace/pvc.html",relativePath:"guide/namespace/pvc.md",key:"v-240eddf2",path:"/guide/namespace/pvc.html"},{title:"Secrets",frontmatter:{},regularPath:"/guide/namespace/secrets.html",relativePath:"guide/namespace/secrets.md",key:"v-7d2f6cc7",path:"/guide/namespace/secrets.html"},{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:"终端:-通过交互式命令,在容器内诊断问题"}]},{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:"验证配置"}]},{title:"概述",frontmatter:{},regularPath:"/install/",relativePath:"install/README.md",key:"v-5be22288",path:"/install/"},{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基本配置"}]},{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-访问"}]},{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-页面"}]},{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:"在线提问"}]},{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:"更多资料"}]},{title:"提交问题",frontmatter:{},regularPath:"/support/",relativePath:"support/README.md",key:"v-76626758",path:"/support/",headers:[{level:2,title:"提交问题",slug:"提交问题"},{level:2,title:"在线提问",slug:"在线提问"}]},{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"}]},{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:"验证配置"}]},{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:"验证配置"}]},{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-互联网入口"}]}],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(5);Uo.component("Badge",()=>Promise.all([n.e(0),n.e(23)]).then(n.bind(null,358)));n(6);var Qa=[{},({Vue:e})=>{e.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{},({router:e})=>{"undefined"!=typeof window&&(function(e,t,n,r,o,i,a){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,i=t.createElement(n),a=t.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"),e.afterEach(function(e){ga("set","page",e.fullPath),ga("send","pageview")}))}],Za=[];class es{constructor(){this.store=new Uo({data:{state:{}}})}$get(e){return this.store.state[e]}$set(e,t){Uo.set(this.store.state,e,t)}$emit(...e){this.store.$emit(...e)}$on(...e){this.store.$on(...e)}}class ts extends es{}Object.assign(ts.prototype,{getPageAsyncComponent:Ra,getLayoutAsyncComponent:Ia,getAsyncComponent:Ma,getVueComponent:Da});var ns={install(e){const t=new ts;e.$vuepress=t,e.prototype.$vuepress=t}};function rs(e,t){return e.options.routes.filter(e=>e.path.toLowerCase()===t.toLowerCase()).length>0}var os={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(e){const t=this.pageKey||this.$parent.$page.key;return Ua("pageKey",t),Uo.component(t)||Uo.component(t,Ra(t)),e(t||"")}},is={functional:!0,props:{slotKey:String,required:!0},render:(e,{props:t,slots:n})=>e("div",{class:[`content__${t.slotKey}`]},n()[t.slotKey])},as=(n(7),Object(Xa.a)({},function(e,t){var n=t._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"}}),t._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),ss={functional:!0,render(e,{parent:t,children:n}){if(t._isMounted)return n;t.$once("hook:mounted",()=>{t.$forceUpdate()})}};Uo.config.productionTip=!1,Uo.use(ba),Uo.use(ns),Uo.mixin(function(e,t,n=Uo){!function(e){e.locales&&Object.keys(e.locales).forEach(t=>{e.locales[t].path=t}),Object.freeze(e)}(t),n.$vuepress.$set("siteData",t);const r=new(e(n.$vuepress.$get("siteData"))),o=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),i={};return Object.keys(o).reduce((e,t)=>(t.startsWith("$")&&(e[t]=o[t].get),e),i),{computed:i}}(e=>(class{setPage(e){this.__page=e}get $site(){return e}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:e={}}=this.$site;let t,n;for(const r in e)"/"===r?n=e[r]:0===this.$page.path.indexOf(r)&&(t=e[r]);return t||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $title(){const e=this.$page,{metaTitle:t}=this.$page.frontmatter;if("string"==typeof t)return t;const n=this.$siteTitle,r=e.frontmatter.home?null:e.frontmatter.title||e.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const e=function(e){if(e){const t=e.filter(e=>"description"===e.name)[0];if(t)return t.content}}(this.$page.frontmatter.meta);return e||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(e,t){for(let n=0;nn||(e.hash?!Uo.$vuepress.$get("disableScrollBehavior")&&{selector:e.hash}:{x:0,y:0})});!function(e){e.beforeEach((t,n,r)=>{if(rs(e,t.path))r();else if(/(\/|\.html)$/.test(t.path))if(/\/$/.test(t.path)){const n=t.path.replace(/\/$/,"")+".html";rs(e,n)?r(n):r()}else r();else{const n=t.path+"/",o=t.path+".html";rs(e,o)?r(o):rs(e,n)?r(n):r()}})}(n);const r={};try{Qa.forEach(t=>{"function"==typeof t&&t({Vue:Uo,options:r,router:n,siteData:Ya,isServer:e})})}catch(e){console.error(e)}return{app:new Uo(Object.assign(r,{router:n,render:e=>e("div",{attrs:{id:"app"}},[e("router-view",{ref:"layout"}),e("div",{class:"global-ui"},Za.map(t=>e(t)))])})),router:n}}(!1);window.__VUEPRESS__={version:"1.0.2",hash:"5d97237"},us.onReady(()=>{ls.$mount("#app")})}]); \ No newline at end of file diff --git a/docs/guide/cluster/computing.html b/docs/guide/cluster/computing.html index 88441a7..f7bda41 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 7f4c0e3..57f2831 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 136ea85..5cab9eb 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 04e6843..ebc4e30 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 72ea22f..a199afc 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 974f46c..f82512b 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 5eadedb..32b53a5 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 6e4fc56..9ea0090 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 aa7c304..9d04a3a 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 2458c6b..20c011e 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 27675f7..2eb2856 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 982f153..785b010 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 d3a31ee..dec1086 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 01a1e6c..200a0c2 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 ba0814b..3f2fc35 100644 --- a/docs/guide/namespace/index.html +++ b/docs/guide/namespace/index.html @@ -7,11 +7,11 @@ - + - + diff --git a/docs/guide/namespace/multi-env.html b/docs/guide/namespace/multi-env.html index 1ac6288..eb273dd 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 47445bd..4b0773e 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 dc4243c..d11243b 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 1a1c0b2..dff8cce 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 6750c98..3924a48 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 71c0442..b55c532 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 49fad1c..9e71720 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 错误页面

- + diff --git a/docs/install/install-common-vm.html b/docs/install/install-common-vm.html index 387ec51..b94816f 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 制作虚拟机镜像 的文档

- + diff --git a/docs/install/install-dashboard.html b/docs/install/install-dashboard.html index 6668e6e..f0a610c 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 3b767dd..4113b6d 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 5f1f93d..fbee6a4 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

- + diff --git a/docs/install/install-kubernetes.html b/docs/install/install-kubernetes.html index 871ec11..c15e929 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 e574528..ccb415c 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 633470a..6b25a26 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 d5a832f..0230108 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/support/index.html b/docs/support/index.html index 356dd8b..eb84570 100644 --- a/docs/support/index.html +++ b/docs/support/index.html @@ -7,11 +7,11 @@ - +

提交问题

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

在线提问

QQ 群

kuboard_qq

- +