v3.0.0-alpha.2

This commit is contained in:
huanqing.shao
2020-11-11 00:05:55 +08:00
parent bf761fbf40
commit 7bb6c3464e
15 changed files with 380 additions and 11 deletions

View File

@ -0,0 +1,50 @@
<template>
<div style="margin-top: 20px;">
Kuboard 最新版本对照表
<b-table striped hover :items="items" :fields="fields"></b-table>
</div>
</template>
<script>
import axios from 'axios'
export default {
props: {
},
data() {
return {
latestVersion: undefined,
fields: [ 'channel', 'dockerTag', 'version', 'buildDate' ]
}
},
computed: {
currentVersion () {
if (this.latestVersion === undefined) return { latest: {}, beta: {}, arm: {}, alpha: {} }
return this.latestVersion[this.latestVersion.default].channel
},
items () {
let items = []
// items.push({ channel: 'latest', dockerTag: 'eipwork/kuboard:latest', version: this.currentVersion.latest.version, buildDate: this.currentVersion.latest.buildDate })
items.push({ channel: 'alpha', dockerTag: 'eipwork/kuboard:v3-alpha', version: this.currentVersion.alpha.version, buildDate: this.currentVersion.alpha.buildDate })
// items.push({ channel: 'arm', dockerTag: 'eipwork/kuboard:arm', version: this.currentVersion.arm.version, buildDate: this.currentVersion.arm.buildDate })
return items
}
},
components: { },
mounted () {
axios.get('https://addons.kuboard.cn/kuboard-latest-version-v3.json?' + Math.random).then(resp => {
console.log(resp)
this.latestVersion = resp.data
}).catch(e => {
console.log(e)
})
},
methods: {
}
}
</script>
<style scoped lang="scss">
</style>

View File

@ -2,6 +2,7 @@ let components = [
{ name: 'LearningPlan', component: () => import(`./LearningPlan.vue`) },
{ name: 'Course', component: () => import(`./Course.vue`) },
{ name: 'CurrentVersion', component: () => import(`./CurrentVersion.vue`) },
{ name: 'CurrentVersionV3', component: () => import(`./CurrentVersionV3.vue`) },
]
export default function (Vue) {

View File

@ -46,7 +46,25 @@ let sidebar = {
title: '安装 Kubernetes 管理工具',
collapsable: false,
children: [
'v3-install',
{
title: '安装 Kuboard v3',
collapsable: true,
children: [
'v3/install-built-in',
'v3/install-gitlab',
'v3/install-github',
'v3/install-ldap',
]
},
{
title: '配置 Kuboard v3',
collapsable: true,
children: [
'v3/proxy',
'v3/tls',
'v3-upgrade',
]
},
'install-dashboard',
'install-dashboard-offline',
{
@ -659,10 +677,12 @@ let sidebar = {
title: '更新说明',
collapsable: false,
children: [
'change-log/v3.0.x',
'change-log/v2.0.x',
'change-log/v1.0.x',
'change-log/upgrade-2-3',
'change-log/upgrade-1-2',
'change-log/upgrade-2-from-beta',
// 'change-log/upgrade-2-from-beta',
'known-issue',
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

View File

@ -10,4 +10,28 @@ meta:
<AdSenseTitle/>
本文描述了如何升级 Kuboard v3.x.x
1. 停止已有 kuboard 容器
``` sh
docker stop $(docker ps -a | grep "eipwork/kuboard" | awk '{print $1 }')
docker rm $(docker ps -a | grep "eipwork/kuboard" | awk '{print $1 }')
```
2. 使用新版本的镜像启动 kuboard
``` sh {7}
sudo docker run -d \
--restart=unless-stopped \
-p 80:80/tcp \
-p 10081:10081/udp \
-p 10081:10081/tcp \
-v /root/kuboard-data:/data \
eipwork/kuboard:v3.0.0-alpha.2
```
::: danger 请注意
* 除了镜像标签之外,请确保命令行中所有其他参数与最初安装 Kuboard 时的参数一致;
* 从 kuboard-v3.0.0.alpha.1 升级过来的用户,命令行中第 3 行参数原本为 `-p 10080:10080/tcp`,请调整为 `-p 10080:80/tcp`,因为自 alpha.2 开始,容器内部将使用 80/443 作为 Web 服务的端口号;
* 调整为 `-p 10080:80/tcp` 后,您原有已导入到 Kubernetes 的集群仍可以正常访问;
* 如果您修改此处宿主机端口号,则需要您在 Kuboard 中删除已经导入了的 Kubernetes 集群,并重新导入。
:::

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -6,7 +6,7 @@ meta:
content: Kubernetes Dashboard安装,Kuboard安装,K8S Dashboard安装
---
# 安装 Kuboard v3
# 安装 Kuboard v3 - 内建用户库
<AdSenseTitle/>
@ -35,22 +35,24 @@ Kuboard v3.0 不再部署在 Kubernetes 集群当中,而是以一个 docker
``` sh {6}
sudo docker run -d \
--restart=unless-stopped \
-p 10080:10080/tcp \
-p 10081:10081/tcp \
--name=kuboard \
-p 80:80/tcp \
-p 10081:10081/udp \
-p 10081:10081/tcp \
-v /root/kuboard-data:/data \
eipwork/kuboard:v3-alpha
```
::: tip Tips
* 建议将此命令保存为一个 shell 脚本,例如 `start-kuboard.sh`,后续升级 Kuboard 或恢复 Kuboard 时,需要通过此命令了解到最初安装 Kuboard 时所使用的参数;
* Kuboard v3.0 的持久化数据存储在 `/data` 目录,如安装指令的第六行所示,默认映射到了宿主机的 `/root/kuboard-data` 路径,请根据您自己的情况进行调整;
* Kuboard v3.0 需要暴露 `10080` 端口,如安装指令的第三行所示,默认映射到了宿主机的 `10080` 端口,您可以根据自己的情况选择宿主机的其他端口;
* Kuboard v3.0 需要暴露 `80` 端口,如安装指令的第三行所示,默认映射到了宿主机的 `80` 端口,您可以根据自己的情况选择宿主机的其他端口;
* Kuboard v3.0 需要暴露 `10081` 端口 TCP / UDP如安装指令的第四、第五行所示默认映射到了宿主机的 `10081` 端口,您可以根据自己的情况选择宿主机的其他端口;
:::
## 访问 Kuboard v3.0
在浏览器输入 `http://your-host-ip:10080` 即可访问 Kuboard v3.0 的界面,登录方式:
在浏览器输入 `http://your-host-ip` 即可访问 Kuboard v3.0 的界面,登录方式:
* 用户名: `admin`
* 密 码: `Kuboard123`
@ -60,13 +62,13 @@ Kuboard 在添加被纳管的 Kubernetes 集群时,需要向集群中安装 Ku
| 参数名称 | 默认值 | 描述 |
| ----------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------ |
| Kuboard UI 访问地址 | <div style="width: 190px;">http://your-host-ip:10080</div> | Kuboard Agent 访问 Kuboard web 时所使用的地址,必须映射到 Kuboard `10080` 端口 |
| Kuboard UI 访问地址 | <div style="width: 210px;">http://your-host-ip:hostport</div> | Kuboard Agent 访问 Kuboard web 时所使用的地址及端口(此端口为 docker run 命令中映射到 Kuboard 容器 `80` 端口的宿主机端口,您可以自定义端口号,两处保持一致即可) |
| Kuboard Agent Server Host | your-host-ip | Kuboard Agent 访问 Kuboard Agent Server 时所使用的目标地址 |
| Kuboard Agent Server UDP Port | 10081 | Kuboard Agent 可以使用 UDP 协议或者 TCP 协议连接 Kuboard Agent Server二者选其一即可,必须映射到 Kuboard `10081` 端口。<br />* *UDP 比 TCP 快 20%*<br />* *TCP 可以使用 http 或 socks5 代理*<br />不同的 Kubernetes 集群可以选择 UDP 或 TCP。 |
| Kuboard Agent Server UDP Port | 10081 | Kuboard Agent 可以使用 UDP 协议或者 TCP 协议连接 Kuboard Agent Server此端口为 docker run 命令中映射到 Kuboard 容器 `10081/udp` 端口的宿主机端口,您可以自定义端口号,两处保持一致即可<br />* *UDP 比 TCP 快 20%*<br />* *TCP 可以使用 http 或 socks5 代理*<br />不同的 Kubernetes 集群可以选择 UDP 或 TCP。 |
| Kuboard Agent Server TCP Port | 10081 | 同上 |
![Kuboard v3 初始化设置](./v3-install.assets/image-20201108174801858.png)
![Kuboard-v3 访问地址](./install-built-in.assets/image-20201110231839543.png)

View File

@ -0,0 +1,22 @@
---
lessAds: false
description: 一行命令开启Kubernetes多集群管理之路_Kuboard_V3安装
meta:
- name: keywords
content: Kubernetes Dashboard安装,Kuboard安装,K8S Dashboard安装
---
# 安装 Kuboard v3 - github
<AdSenseTitle/>
Kuboard 支持多种认证方式:
* 内建用户库
* GitLab Community Edition / GitLab Enterprise Edition / gitlab.com
* GitHub Enterprise / github.com
* LDAP
本文将要描述如何使用 GitHub 用户登录 Kuboard。
预计在 kuboard v3.0.0-alpha.5 支持此认证方式。

View File

@ -0,0 +1,22 @@
---
lessAds: false
description: 一行命令开启Kubernetes多集群管理之路_Kuboard_V3安装
meta:
- name: keywords
content: Kubernetes Dashboard安装,Kuboard安装,K8S Dashboard安装
---
# 安装 Kuboard v3 - gitlab
<AdSenseTitle/>
Kuboard 支持多种认证方式:
* 内建用户库
* GitLab Community Edition / GitLab Enterprise Edition / gitlab.com
* GitHub Enterprise / github.com
* LDAP
本文将要描述如何使用 GitLab 用户登录 Kuboard。
预计在 kuboard v3.0.0-alpha.3 支持此认证方式。

View File

@ -0,0 +1,22 @@
---
lessAds: false
description: 一行命令开启Kubernetes多集群管理之路_Kuboard_V3安装
meta:
- name: keywords
content: Kubernetes Dashboard安装,Kuboard安装,K8S Dashboard安装
---
# 安装 Kuboard v3 - ldap
<AdSenseTitle/>
Kuboard 支持多种认证方式:
* 内建用户库
* GitLab Community Edition / GitLab Enterprise Edition / gitlab.com
* GitHub Enterprise / github.com
* LDAP
本文将要描述如何使用 LDAP 用户登录 Kuboard。
预计在 kuboard v3.0.0-alpha.4 支持此认证方式。

57
install/v3/proxy.md Normal file
View File

@ -0,0 +1,57 @@
---
vssueId: 13
lessAds: false
description: Kuboard_是一款Kubernetes_Dashboard_快速在K8S上落地微服务_本文是Kuboard的安装手册_包括安装Kuboard的前提条件_与Kubernetes的版本兼容性_安装步骤_以及完成安装后如何访问Kuboard界面。
meta:
- name: keywords
content: Kubernetes Dashboard安装,Kuboard安装,K8S Dashboard安装
---
# 通过反向代理访问 Kuboard
<AdSenseTitle/>
## 配置反向代理时的注意事项
在为 Kuboard 配置反向代理时,需要注意:
* WebContextRoot
* Kuboard 需要使用根路径进行访问,即 https://yourkuboard.yourcompany.com/,而不能是 https://yourcompany.com/kuboard/ 这样的二级路径;
* 启用 WebSocket
* Kuboard 中终端和日志的功能需要用到 WebSocket需要在您的反向代理中配置 WebSocket才能正常使用 Kuboard 的终端和日志功能;
* PassHeader
* Kuboard v3 的 Portforward <Badge>v3.0.0</Badge> 功能需要用到 SPDY 协议,需要您的反向代理能够支持此协议,并将 Upgrade,Connection,Authorization 这几个 Header 传递给 Kuboard。
## 配置样例
### Nginx 配置
如果您使用 nginx 作为反向代理,配置文件样例如下所示:
``` nginx {7-9,14-16}
server {
listen 80;
server_name kuboard.yourdomain.com; # 替换成你的域名
location / {
proxy_pass http://192.168.2.39:80; # 替换成你的宿主机地址
proxy_http_version 1.1;
proxy_pass_header Authorization;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto https; # 如果您在反向代理上启用了 HTTPS
}
location /k8s-ws/ {
proxy_pass http://192.168.2.39:80; # 替换成你的宿主机地址
proxy_http_version 1.1;
proxy_pass_header Authorization;
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto https; # 如果您在反向代理上启用了 HTTPS
}
gzip on;
}
```

80
install/v3/tls.md Normal file
View File

@ -0,0 +1,80 @@
---
lessAds: false
description: 为 Kuboard v3 配置 TLS 证书
meta:
- name: keywords
content: Kubernetes Dashboard安装,Kuboard安装,K8S Dashboard安装
---
# SSL 证书
<AdSenseTitle/>
Kuboard v3 容器对外暴露三个端口:
* `80` Kuboard Web 服务端口TCP
* `443` Kuboard Web 服务端口TCP
* `10081` Kuboard Agent Server 端口TCP 、 UDP。
其中Web 服务端口在如下两种情况下需要配置 SSL 证书:
* 通过公网访问 Kuboard 界面,提高安全性;
* 为被纳管的 Kubernetes 配置 OIDC与 Kuboard 实现单点登录(如不配置,通过 Kuboard 管理 Kubernetes 时Kubernetes 只能将用户识别成 `kuboard-admin` 或者 `kuboard-user` 这两个 ServiceAccount 当中的一个)
Kuboard Agent Server 端口使用 TCP、UDP 通信,是私有协议,已经自动配置了 TLS 加密连接,无需用户额外配置证书;此外,该端口只提供给安装到 Kubernetes 集群中的 Kuboard Agent 访问,无需暴露到公网。
## Certificates
您可以加载 SSL 证书到 Kuboard 容器中,并且配置好证书对应的路径以支持 HTTPS 访问;
::: tip Tips
* 如果 [通过 nginx 反向代理访问 Kuboard](./v3-proxy.html),建议在 nginx 中配置 SSL 证书;
* 如果您的 Kuboard 打算直接在公网上访问,建议使用 [Lets Encrypt](#lets-encrypt)
:::
启动命令如下所示:
```sh {3-6,8}
sudo docker run -d \
--restart=unless-stopped \
-v /hostpath/to/your/server.crt:/etc/certs/my.company.com/server.crt \
-v /hostpath/to/your/server.key:/etc/certs/my.company.com/server.key \
-e KUBOARD_TLS_CERT=/etc/certs/my.company.com/server.crt \
-e KUBOARD_TLS_KEY=/etc/certs/my.company.com/server.key \
-p 80:80/tcp \
-p 443:443/tcp \
-p 10081:10081/tcp \
-p 10081:10081/udp \
-v /root/kuboard-data:/data \
eipwork/kuboard:v3-alpha
```
其中:
* 第 3 - 4 行,将证书的 crt 文件和 key 文件从宿主机映射到 Kuboard 容器的某一个路径;
* 第 5 - 6 行,通过环境变量指定 Kuboard 使用该证书;
* 第 8 行将 443 端口映射到宿主机的 443 端口。
## Lets Encrypt
Lets Encrypt 是一个开源免费的证书颁发机构,如果您直接在公网上访问 Kuboard建议使用 Lets Encrypt 配置 SSL 证书。
启动命令如下所示:
```sh {3,4,6}
sudo docker run -d \
--restart=unless-stopped \
-e KUBOARD_TLS_AUTOCERT=true \
-e KUBOARD_TLS_DOMAIN=kuboard.yourcompany.com \
-p 80:80/tcp \
-p 443:443/tcp \
-p 10081:10081/tcp \
-p 10081:10081/udp \
-v /root/kuboard-data:/data \
eipwork/kuboard:v3-alpha
```
其中:
* 第 3 行激活 Kuboard 中的 Lets Encrypt 客户端;
* 第 4 行指定 Lets Encrypt 颁发证书时对应的域名;
* 第 6 行将 443 端口映射到宿主机的 443 端口。
> 使用 Lets Encrypt 时,请将 `kuboard.yourcompany.com` 域名指向您的 Kuboard 所在宿主机的公网 IP并且确保 80, 443 端口开放。Kuboard 启动后,在您第一次访问 `https://kuboard.yourcompany.com` 时Lets Encrypt 将自动申请证书(浏览器上显示第一次访问将失败)。等候 1-5 分钟时间,再次访问 `https://kuboard.yourcompany.com` 时,您将能够成功访问,证书也已经颁发并且自动配置好;通常免费证书有效期是一年时间,证书到期前一个月,系统会自动为您更新证书,无需您额外做任何操作。

View File

@ -0,0 +1,14 @@
---
vssueId: 72
description: 本文描述了Kuboard_v3.0.x版本的升级方法
---
# 从 v2.0.x 升级到 v3.0.x
与 v2.0.x 相比v3.0.x 不再部署在 Kubernetes 中,而是作为一个独立的容器运行。
* 由于运行模式不同v2.0.x 与 v3.0.x 可以同时存在互不干扰。
请参考 [安装 Kuboard v3](/install/v3-install.html)
* Kuboard v3.0.x 计划将 Kuboard 部署的内容全部从 kube-system 名称空间迁移到 kuboard 名称空间,这也使得两个版本能够同时存在于同一个 Kubernetes 集群。建议用户在 Kuboard v3.0 版本正式发布后,将使用 Kuboard v2.0.x 安装的 Kuboard 套件卸载,并在 Kuboard v3.0.x 中重新安装这些套件。

View File

@ -0,0 +1,53 @@
---
vssueId: 72
description: 本文描述了Kuboard_v3.0.x的版本变更说明
---
# Kuboard v3.0.x
<AdSenseTitle/>
<CurrentVersionV3/>
<!-- <CurrentVersion/> -->
Kuboard v3.0.x 的更新说明
## v3.0.0-alpha.2
**发布日期**
2020年11月10日
**新特性**
* 支持 TLS 、 Lets Encrypts
**优化**
* Web 服务使用标准端口 80 / 443
* 点击后才弹出集群切换窗口,避免悬停弹出分散用户注意力;
* 优化创建集群时的提示信息;
**BUG修正**
* 创建用户时,部分特殊电子信箱地址校验不通过;
* 节点详情页,如果节点的容器组数量太多,不能显示该页面的问题;
* CustomResourceList 页的链接错误;
* User/Group 列表页的链接错误;
## v3.0.0-alpha.1
**发布日期**
2020年11月8日
**新特性**
* 主版本升级,调整了 Kuboard 的架构:
* 支持多 Kubernetes 集群管理
* 内建用户库
* 优化导航栏及菜单的结构
* 不再部署在 Kubernetes 集群当中,而是作为一个独立的容器部署在集群之外
* 使用 golang 重写后端代码,不再使用 openresty lua

View File

@ -9,6 +9,8 @@ description: 本文描述了 Kuboard 的一些已知问题
Kuboard 自 v1.0.7 开始,使用 [OpenResty](https://hub.docker.com/r/openresty/openresty) 提供的基础镜像该镜像存在的一个问题是CPU 必须兼容 SSE4.2。这意味着,一部分 2007 年以前的 CPU 可能无法兼容。请参考 [https://github.com/openresty/docker-openresty/issues/39](https://github.com/openresty/docker-openresty/issues/39)
> Kuboard v3.0.x 不再使用 OpenResty因此也不存在此问题。
出现此问题时,通过 kubectl 命令查看 Kuboard 日志
``` sh
kubectl logs -f -l k8s.eip.work/name=kuboard -n kube-system