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

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` 时,您将能够成功访问,证书也已经颁发并且自动配置好;通常免费证书有效期是一年时间,证书到期前一个月,系统会自动为您更新证书,无需您额外做任何操作。