grctl CLI

安装命令行工具

命令行工具 grctl 提供一些便于 Rainbond 运维的工具命令,在 5.2.0 版本该工具不再内置,如有使用,需提前安装安装此命令;用户需进入集群管理节点,在该节点进行以下操作。

该节点必须具备以下条件:

  1. 具有 kubectl 命令,且可用。安装请参考kubectl
  2. 存在访问 Kubernetes 集群的 ~/.kube/conf 文件。

安装方式:

  1. docker run -it --rm -v /:/rootfs registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-grctl:v5.11.0-release copy
  1. mv /usr/local/bin/rainbond-grctl /usr/local/bin/grctl && grctl install

若输出 Install success 则安装成功。

功能特性

grctl 命令是 rainbond 自主开发的集群管理工具,它具备如下主要功能特性:

功能模块命令示例
平台应用控制grctl service get <应用别名> -t <团队别名> 查看应用详情
grctl service list -t <团队别名> 列出应用信息
grctl tenant list列出所有团队
grctl tenant get <团队别名>列出该团队所有应用
grctl tenant res <团队别名>该团队使用资源
grctl build test将源码拉取到本地后进行构建测试
grctl build list列出当前的构建任务
grctl build log <任务名称>查看对应构建任务日志
grctl gateway endpoints http列出 gateway 代理的 HTTP 策略
grctl gateway endpoints staeam列出 gateway 代理的 TCP 策略
grctl envoy endpoints —node列出指定 envoy 节点的所有 endpoints
集群节点控制grctl cluster 查看集群情况
grctl config查看集群 region 信息,用于对接公有云
grctl node list 查看集群节点列表
grctl node get <UID>查看节点状态
grctl node cordon <UID>将某个节点设置为不可调度
grctl node uncordon <UID>恢复某个节点的调度
grctl node resource查看集群资源使用情况
grctl node condition节点 condition

更多信息可通过 grctl -h 命令获取

集群管理

  • 查看集群信息
  1. grctl cluster

grctl CLI - 图1

  • 列出集群节点信息
  1. grctl node list

grctl CLI - 图2

  • 获取某个节点的详细信息
  1. grctl node get <UID>
  • 禁止/允许调度到某个节点
  1. # 禁止调度到某个节点
  2. grctl node cordon <UID>
  3. # 允许调度到某个节点
  4. grctl node uncordon <UID>

应用管理

  • 在命令行获取应用的详细信息,在应用的 伸缩 界面复制 查询命令 ,在服务器主节点上粘贴,即可查看当前应用的详细信息
  1. grctl service get grf2ebfd -t b40hkf9y

grctl CLI - 图3

如果需要查看该应用的实时日志,使用上述命令得到的 PodName/Namespace 信息,即可查看该应用运行的实时日志

  1. root@ubuntu:~# kubectl logs -f fa0a524589beabdc4503acd253f2ebfd-deployment-56dd54844d-m978r -n 1f732b0aadc94bd0ba288deff3a08c3f
  2. Launching nginx

注: 如果在一个 pod 中有多个容器,需在 PodName 后指定要查询的容器名字