常见问题

重置管理员密码

如是快速安装则需要执行 docker exec -it rainbond bash 进入容器内执行如下命令。

  1. kubectl get pod -l name=rbd-app-ui -n rbd-system
  2. kubectl exec -it rbd-app-ui-xxxxx-xxx -n rbd-system bash
  3. 执行以下命令即可修改指定用户密码。
  4. python manage.py change_password --username=用户名 --password=新密码

获取默认镜像仓库 rbd-hub 密码

kubectl get rainbondcluster -n rbd-system -o yaml|grep -A 3 imageHub

  1. imageHub:
  2. domain: goodrain.me
  3. password: 2118317a
  4. username: admin

扩容网关节点/构建节点

扩容网关节点/构建节点是指添加已有的 K8s 节点作为 Rainbond 的网关节点或构建节点。

编辑 rainbondcluster CRD 资源,修改 nodesForGateway/nodesForChaos 字段,增加网关/构建节点信息。

kubectl edit rainbondcluster -n rbd-system

  1. spec:
  2. nodesForGateway:
  3. - name: node-1 #节点名称
  4. externalIP: 192.168.1.1 #节点外部IP
  5. internalIP: 192.168.1.1 #节点内部IP
  6. nodesForChaos:
  7. - name: node-1 #节点名称

重启 rainbond-operator Pod 使配置生效。

  1. kubectl delete pod -n rbd-system -l name=rainbond-operator

修改已安装 Rainbond 组件镜像地址

rbd-api、rbd-worker 等等这些服务的控制器,例如 Deployment、StatefulSet 等都是由 rainbond-operator 控制,所以直接修改这些控制器的镜像地址是无法生效的。需要修改 rbdcomponent CRD 资源。

kubectl edit rbdcomponent -n rbd-system rbd-api

  1. spec:
  2. image: registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-api:v6.0.0-release

可通过 kubectl get rbdcomponent -n rbd-system 查看所有组件。

BuildKit 源码构建配置

默认采用 BuildKit 作为源码构建镜像打包工具。

BuildKit 配置文件名称默认为 goodrain-me,如在安装时指定了镜像仓库名称,则配置文件名称为镜像仓库名称,如 registry-cn-hangzhou-aliyuncs-com

DockerHub 镜像加速

Dockerfile 源码构建引用 DockerHub 镜像获取超时,修改 BuildKit 配置镜像加速。

kubectl edit cm goodrain-me -n rbd-system

  1. apiVersion: v1
  2. data:
  3. buildkittoml: |-
  4. debug = true
  5. [registry."goodrain.me"]
  6. http = false
  7. insecure = true
  8. + [registry."docker.io"]
  9. + mirrors = ["docker.rainbond.cc"]
  10. kind: ConfigMap
  11. metadata:
  12. name: goodrain.me
  13. namespace: rbd-system

源码构建报错 x509: certificate signed by unknown authority

安装时对接了私有仓库是 HTTP 协议,源码构建时拉取镜像报错 x509: certificate signed by unknown authority,需修改 BuildKit 配置文件。

kubectl edit cm goodrain-me -n rbd-system

  1. apiVersion: v1
  2. data:
  3. buildkittoml: |-
  4. debug = true
  5. [registry."goodrain.me"]
  6. http = false
  7. insecure = true
  8. + [registry."xxx.xxx.xxx.xxx:5000"]
  9. + http = true
  10. + insecure = true
  11. kind: ConfigMap
  12. metadata:
  13. name: goodrain.me
  14. namespace: rbd-system

存储清理

启动无法获取镜像 x509: certificate signed by unknown authority

通常是因为 Containerd 的配置不正确导致的,添加 Containerd 配置文件 /etc/containerd/certs.d/goodrain.me/hosts.toml

  1. [host."https://goodrain.me"]
  2. capabilities = ["pull", "resolve","push"]
  3. skip_verify = true

Web 终端无法使用

Web 终端无法使用,通常是因为 WebSocket 地址配置错误导致的。你可以在 平台管理 -> 集群 -> 编辑集群 修改 WebSocket 地址。

默认镜像仓库切换外部镜像仓库

如果在安装集群时采用了默认的 rbd-hub 镜像仓库,此时想切换到外部镜像仓库,可以通过以下命令进行切换:

  1. 编辑 rainbondcluster 资源,修改 imageHub 字段。

kubectl edit rainbondcluster -n rbd-system

  1. spec:
  2. imageHub: # 修改此字段
  3. domain: 172.31.112.97:5000
  4. namespace: rainbond
  5. password: admin
  6. username: admin
  1. 删除 rbd-hub CRD资源。
  1. kubectl delete rbdcomponent rbd-hub -n rbd-system
  1. 重启 rainbond-operator、rbd-chaos 组件。
  1. kubectl delete pod -l name=rainbond-operator -n rbd-system
  2. kubectl delete pod -l name=rbd-chaos -n rbd-system

快速安装添加更多 TCP 端口

快速安装的 Rainbond 默认使用 Docker 启动,并默认映射了 30000~30010 10个 TCP 端口供应用测试使用。如果你需要更多的 TCP 端口,通过脚本中打印的命令,删除容器重新启动并添加 -p 映射新的端口。

我的问题没有被涵盖

如果你的问题在本章节中未得到解决,你可以:

  • 移步 GitHub 查询是否有相关的 issue ,如没有则提交 issues
  • 前往 社区 搜索你的问题,寻找相似问题的答案
  • 加入 微信群钉钉群 寻求帮助
  • 获取 官方支持, 我们会尽快联系你