Files
kuboard-press/docs/assets/js/39.5bd191d1.js
huanqing.shao 4e0a3fccbd 更新token
2019-07-27 07:54:38 +08:00

1 line
13 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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

(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{379:function(t,e,a){"use strict";a.r(e);var s=a(0),r=Object(s.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:"安装-kuboard"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装-kuboard","aria-hidden":"true"}},[t._v("#")]),t._v(" 安装 Kuboard")]),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("安装 Kuboard 时,假设您已经:")]),t._v(" "),a("ul",[a("li",[t._v("已经有一个 Kubernetes 集群")]),t._v(" "),a("li",[t._v("拥有对该 Kubernetes 集群执行 kubectl 命令时的所有权限")])]),t._v(" "),a("p",[t._v("如果没有 Kubernetes 集群,可以有如下选项:")]),t._v(" "),a("ul",[a("li",[t._v("初学者, 请参考 "),a("a",{attrs:{href:"install-k8s"}},[t._v("安装 Kubernetes 单Master节点")])]),t._v(" "),a("li",[t._v("用于生产,请参考 "),a("a",{attrs:{href:"install-kubernetes"}},[t._v("安装 Kubernetes 高可用")])])]),t._v(" "),a("h2",{attrs:{id:"兼容性"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#兼容性","aria-hidden":"true"}},[t._v("#")]),t._v(" 兼容性")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Kubernetes 版本")]),t._v(" "),a("th",[t._v("Kuboard 版本")]),t._v(" "),a("th",[t._v("兼容性")]),t._v(" "),a("th",[t._v("说明")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("v1.15")]),t._v(" "),a("td",[t._v("v1.0.0-beta.10")]),t._v(" "),a("td",[a("span",{staticStyle:{"font-size":"24px"}},[t._v("😄")])]),t._v(" "),a("td",[t._v("已验证")])]),t._v(" "),a("tr",[a("td",[t._v("v1.14")]),t._v(" "),a("td",[t._v("v1.0.0-beta.10")]),t._v(" "),a("td",[a("span",{staticStyle:{"font-size":"24px"}},[t._v("😄")])]),t._v(" "),a("td",[t._v("已验证")])]),t._v(" "),a("tr",[a("td",[t._v("v1.13")]),t._v(" "),a("td",[t._v("v1.0.0-beta.10")]),t._v(" "),a("td",[a("span",{staticStyle:{"font-size":"24px"}},[t._v("😄")])]),t._v(" "),a("td",[t._v("已验证")])]),t._v(" "),a("tr",[a("td",[t._v("v1.12")]),t._v(" "),a("td",[t._v("v1.0.0-beta.10")]),t._v(" "),a("td",[a("span",{staticStyle:{"font-size":"24px"}},[t._v("😐")])]),t._v(" "),a("td",[t._v("Kubernetes Api v1.12 尚不支持 dryRun"),a("br"),t._v("忽略Kuboard在执行命令时的参数校验错误可正常工作")])]),t._v(" "),a("tr",[a("td",[t._v("v1.11")]),t._v(" "),a("td",[t._v("v1.0.0-beta.10")]),t._v(" "),a("td",[a("span",{staticStyle:{"font-size":"24px"}},[t._v("😐")])]),t._v(" "),a("td",[t._v("同上")])])])]),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",[a("strong",[t._v("Kubernetes 安装方式")])]),t._v(" "),a("ul",[a("li",[t._v("部分用户使用二进制包的形式安装 KubernetesKuboard 现在的版本不能在这类 Kubernetes 集群中正常工作,作者正在解决此问题。")]),t._v(" "),a("li",[t._v("如果您是使用 kubeadm 安装的 Kubernetes 集群Kubernetes 官方推荐的安装方式),请放心使用 Kuboard。")]),t._v(" "),a("li",[t._v("Kubeadm 相关资料请参考 https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/")])])]),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("strong",[t._v("获取并修改yaml文件")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://raw.githubusercontent.com/eip-work/eip-monitor-repository/master/dashboard/kuboard.yaml\n")])])]),a("p",[t._v("修改文件 Kuboard.yaml 中 Ingress 的 host 为 Kuboard.yourclustername.yourdomain.com")]),t._v(" "),a("p",[a("strong",[t._v("执行安装")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("kubectl apply -f kuboard.yaml \n")])])]),a("h2",{attrs:{id:"获取-token"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#获取-token","aria-hidden":"true"}},[t._v("#")]),t._v(" 获取 token")]),t._v(" "),a("p",[t._v("您可以获得管理员用户、只读用户的Token")]),t._v(" "),a("Tabs",{attrs:{type:"border-card"}},[a("Tab",{attrs:{label:"管理员用户",lazy:""}},[a("p",[a("strong",[t._v("拥有的权限")])]),t._v(" "),a("ul",[a("li",[t._v("此Token拥有 ClusterAdmin 的权限,可以执行所有操作")])]),t._v(" "),a("p",[a("strong",[t._v("执行命令")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("kubectl -n kube-system describe secret "),a("span",{pre:!0,attrs:{class:"token variable"}},[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$(")]),t._v("kubectl -n kube-system get secret "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("grep")]),t._v(" kuboard-user "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("awk")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'{print "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$1")]),t._v("}'")]),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v(")")])]),t._v(" \n")])])]),a("p",[a("strong",[t._v("输出")])]),t._v(" "),a("p",[t._v("取输出信息中 token 字段")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br")]),a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("Name: admin-user-token-g8hxb\nNamespace: kube-system\nLabels: <none>\nAnnotations: [kubernetes.io/service-account.name](http://kubernetes.io/service-account.name): Kuboard-user\n[kubernetes.io/service-account.uid](http://kubernetes.io/service-account.uid): 948bb5e6-8cdc-11e9-b67e-fa163e5f7a0f\n\nType: [kubernetes.io/service-account-token](http://kubernetes.io/service-account-token)\n\nData\n====\nca.crt: 1025 bytes\nnamespace: 11 bytes\ntoken: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWc4aHhiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI5NDhiYjVlNi04Y2RjLTExZTktYjY3ZS1mYTE2M2U1ZjdhMGYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.DZ6dMTr8GExo5IH_vCWdB_MDfQaNognjfZKl0E5VW8vUFMVvALwo0BS-6Qsqpfxrlz87oE9yGVCpBYV0D00811bLhHIg-IR_MiBneadcqdQ_TGm_a0Pz0RbIzqJlRPiyMSxk1eXhmayfPn01upPdVCQj6D3vAY77dpcGplu3p5wE6vsNWAvrQ2d_V1KhR03IB1jJZkYwrI8FHCq_5YuzkPfHsgZ9MBQgH-jqqNXs6r8aoUZIbLsYcMHkin2vzRsMy_tjMCI9yXGiOqI-E5efTb-_KbDVwV5cbdqEIegdtYZ2J3mlrFQlmPGYTwFI8Ba9LleSYbCi4o0k74568KcN_w\n")])])])]),t._v(" "),a("Tab",{attrs:{label:"只读用户",lazy:""}},[a("p",[a("strong",[t._v("拥有的权限")])]),t._v(" "),a("ul",[a("li",[t._v("view 可查看名称空间的内容")]),t._v(" "),a("li",[t._v("system:node 可查看节点信息")]),t._v(" "),a("li",[t._v("system:persistent-volume-provisioner 可查看存储类和存储卷声明的信息")])]),t._v(" "),a("p",[a("strong",[t._v("适用场景")])]),t._v(" "),a("p",[t._v("只读用户不能对集群的配置执行修改操作,非常适用于将开发环境中的 Kuboard 只读权限分发给开发者,以便开发者可以便捷地诊断问题")]),t._v(" "),a("p",[a("strong",[t._v("执行命令")])]),t._v(" "),a("p",[t._v("执行如下命令可以获得 "),a("span",{staticStyle:{color:"#F56C6C","font-weight":"500"}},[t._v("只读用户")]),t._v(" 的 Token")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("kubectl -n kube-system describe secret "),a("span",{pre:!0,attrs:{class:"token variable"}},[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$(")]),t._v("kubectl -n kube-system get secret "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("grep")]),t._v(" kuboard-viewer "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("awk")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'{print "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$1")]),t._v("}'")]),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v(")")])]),t._v(" \n")])])]),a("p",[a("strong",[t._v("输出")])]),t._v(" "),a("p",[t._v("取输出信息中 token 字段")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br")]),a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("Name: admin-user-token-g8hxb\nNamespace: kube-system\nLabels: <none>\nAnnotations: [kubernetes.io/service-account.name](http://kubernetes.io/service-account.name): Kuboard-viewer\n[kubernetes.io/service-account.uid](http://kubernetes.io/service-account.uid): 948bb5e6-8cdc-11e9-b67e-fa163e5f7a0f\n\nType: [kubernetes.io/service-account-token](http://kubernetes.io/service-account-token)\n\nData\n====\nca.crt: 1025 bytes\nnamespace: 11 bytes\ntoken: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWc4aHhiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI5NDhiYjVlNi04Y2RjLTExZTktYjY3ZS1mYTE2M2U1ZjdhMGYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.DZ6dMTr8GExo5IH_vCWdB_MDfQaNognjfZKl0E5VW8vUFMVvALwo0BS-6Qsqpfxrlz87oE9yGVCpBYV0D00811bLhHIg-IR_MiBneadcqdQ_TGm_a0Pz0RbIzqJlRPiyMSxk1eXhmayfPn01upPdVCQj6D3vAY77dpcGplu3p5wE6vsNWAvrQ2d_V1KhR03IB1jJZkYwrI8FHCq_5YuzkPfHsgZ9MBQgH-jqqNXs6r8aoUZIbLsYcMHkin2vzRsMy_tjMCI9yXGiOqI-E5efTb-_KbDVwV5cbdqEIegdtYZ2J3mlrFQlmPGYTwFI8Ba9LleSYbCi4o0k74568KcN_w\n")])])])])],1),t._v(" "),a("h2",{attrs:{id:"访问-kuboard"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#访问-kuboard","aria-hidden":"true"}},[t._v("#")]),t._v(" 访问 Kuboard")]),t._v(" "),a("p",[t._v("您可以通过NodePort、Port-forward、域名三种方式当中的任意一种访问 Kuboard")]),t._v(" "),a("Tabs",{attrs:{type:"border-card"}},[a("Tab",{attrs:{label:"通过NodePort访问",lazy:""}},[a("p",[t._v("Kuboard Service 使用了 NodePort 的方式暴露服务NodePort 为 32567您可以按如下方式访问 Kuboard。可以使用集群中任意节点的 IP 地址)")]),t._v(" "),a("p",[a("code",[t._v("http://any-of-your-node-ip:32567/")])]),t._v(" "),a("p",[t._v("输入前一步骤中获得的 token可进入控制台界面")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",[t._v("您也可以修改 Kuboard.yaml 文件,使用自己定义的 NodePort 端口号")])])]),t._v(" "),a("Tab",{attrs:{label:"通过port-forward访问",lazy:""}},[a("p",[t._v("在您的客户端电脑中执行如下命令")]),t._v(" "),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[t._v("kubectl port-forward service/Kuboard "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("8080")]),t._v(":80 -n kube-system\n")])])]),a("p",[t._v("在浏览器打开链接 (请使用 kubectl 所在机器的IP地址")]),t._v(" "),a("p",[a("code",[t._v("http://localhost:8080")])]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",[t._v("需要您自行设定 kubectl 的配置")])])]),t._v(" "),a("Tab",{attrs:{label:"通过域名访问",lazy:""}},[a("p",[t._v("在浏览器打开链接 (请使用前面已修改的域名)")]),t._v(" "),a("p",[a("code",[t._v("http://Kuboard.yourclustername.yourdomain.com")])]),t._v(" "),a("p",[t._v("输入前一步骤中获得的 token可进入控制台界面")]),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",[t._v("需要您")]),t._v(" "),a("ul",[a("li",[t._v("正确安装 Ingress Controller")]),t._v(" "),a("li",[t._v("将您所使用的域名指向 Kubernetes 中的一个 Worker 节点或者Ingress Controller所在机器的IP不同类型的Ingress Controller配置不同")])])])])],1),t._v(" "),a("p",[a("strong",[t._v("下一步")])]),t._v(" "),a("ul",[a("li",[a("p",[t._v("使用 Kuboard 工作负载编辑器 "),a("a",{attrs:{href:"/guide/example/busybox"}},[t._v("创建 busybox")]),t._v(" 10分钟")])]),t._v(" "),a("li",[a("p",[t._v("尝试 Kuboard 设计的其他 example "),a("a",{attrs:{href:"/guide/index"}},[t._v("使用 Kuboard")])])])])],1)},[],!1,null,null,null);e.default=r.exports}}]);