Rainbond 组件运维

    查看当前集群的所有节点信息,ready状态为正常状态

    查看当前集群资源使用信息

    1. NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
    2. 192.168.31.157 1584m 41% 5048Mi 69%
    3. 192.168.31.239 94m 5% 162Mi 2%

    组件信息

    各个组件介绍请参见 Rainbond组件概述

    查看Rainbond所有组件的pod信息

    1. kubectl get pod -n rbd-system

    查看rainbond所有组件的pod信息,并且查看都在哪些节点上运行

    1. kubectl get pods -o wide -n rbd-system

    这里以 rbd-api 组件为例,查看详细信息

    1. kubectl describe pod -l name=rbd-api -n rbd-system

    集群端日志查看

    对于以pod方式运行的组件,可以使用以下方式查看日志

    1. kubectl logs -fl name=rbd-api -n rbd-system

    选项解释:

    -f, —follow 持续输出日志
    -l, —label 标签

    • 查看最近20行日志
    • 查看过去1个小时的日志
    1. kubectl logs --since=1h -l name=rbd-api -n rbd-system

    控制台日志查看

    控制台日志在容器内的,/app/logs/goodrain.log

    1. # Allinone 部署的控制台
    2. docker exec -it rainbond-allinone bash
    3. tail -f /app/logs/goodrain.log
    4. # 部署在集群中
    5. # 进入 rainbond-console 的 Web 终端中,执行:
    6. tail -f /app/logs/goodrain.log
    7. # Helm 部署
    8. kubectl exec -it rbd-app-ui-xxx -n rbd-system bash
    9. tail -f /app/logs/goodrain.log

    k8s日志查看

    以下 Kubernetes(RKE) 服务组件均是有 docker 托管,查看其日志则通过 查看。

    kubelet 为例:

    1. docker logs -f kubelet

    docker日志查看

    docker 服务由 systemd 托管。

    查看运行状态

    1. systemctl status docker.service

    查询日志

    1. journalctl -fu docker.service

    这里以不同控制器类型的组件为例,修改其他组件配置时将名称及控制器类型替换即可

    配置修改完成之后,保存退出,pod将自动重启更新配置

    rbd-api 为例,给 rbd-api 添加 Volume

    kubectl edit rbdcomponents.rainbond.io rbd-api -n rbd-system

    1. spec:
    2. volumeMounts:
    3. - mountPath: /etc/goodrain/goodrain.com/
    4. name: region-ws-ssl
    5. - name: region-ws-ssl
    6. secret:
    7. defaultMode: 420
    8. secretName: region-ws-ssl

    kubectl edit rbdcomponents.rainbond.io rbd-api -n rbd-system

    1. spec:
    2. env:
    3. value: "Hello from the environment"
    4. - name: DEMO_FAREWELL
    5. value: "Such a sweet sorrow"

    关于更多组件配置介绍请查看 平台组件架构

    在pod中的容器环境内执行shell命令

    进入容器执行命令

    rbd-gateway 组件为例,进入pod查看nginx配置

    1. # 首先查看gateway组件的PodName
    2. root@ubuntu:~# kubectl get pods -l name=rbd-gateway -n rbd-system
    3. NAME READY STATUS RESTARTS AGE
    4. rbd-gateway-bcjjg 1/1 Running 4 2d4h
    5. # 进入pod
    6. kubectl exec -it rbd-gateway-bcjjg -n rbd-system bash
    7. # 在pod内部执行shell命令查看nginx配置
    8. bash-5.0# cat /run/nginx/conf/nginx.conf

    直接在命令行使用 kubectl 执行容器内命令

    示例:

    查看rbd-app-ui的控制台日志

    1. kubectl exec -it -n rbd-system rbd-app-ui-684d67d8f5-8k4bb -- tail -f /app/logs/goodrain.log
    1. $ kubectl get pv -A
    2. NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
    3. pvc-63476356-df1f-4057-80c2-897741887b96 1Mi RWX Delete Bound rbd-system/grdata rbd-nfs 3d
    4. pvc-b0ec90e1-2201-44d1-891b-f2e10127d7cc 1Mi RWX Delete Bound rbd-system/hubdata rbd-nfs 3d

    命令行更换镜像

    将由deployment控制权管理的 rbd-api 容器镜像滚动更新为

    📄️ 组件资源清理清理磁盘上无用的数据, 减轻磁盘的压力