解决rancher2.6.5查看Pod日志时显示空白

本文提供了一个Python脚本,用于在Rancher2.6.5中处理Pod日志查看空白的故障。脚本通过API删除用户的日志范围首选项,适用于离线和有网络的环境。用户需要输入Rancher服务器的IP、用户名、密码以及用户ID来运行脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用rancher2.6.5查看 Pod 日志时显示空白问题,我们可以通过api删除用户的日志范围首选项来解决日志不能查看问题。因为我使用的环境是离线环境,无法连接外部网络,因此我写了一个python脚本来解决此问题。这个脚本同样也适用有网络的环境.
在这里插入图片描述

import argparse

import loguru
import requests


class rancherLogProcess(object):
    def __init__(self, ip, username, password, user_id):
        self.ip = ip
        self.username = username
        self.password = password
        self.host = f"https://{self.ip}"

        self.login_url = f"{self.host}/v3-public/localProviders/local?action=login"
        self.log_url = f"{self.host}/v1/userpreferences/{user_id}"
        self.session = requests.Session()

    def main(self):
        data = {
            "description": "UI session",
            "responseType": "cookie",
            "username": self.username,
            "password": self.password,
        }
        res = self.session.post(self.login_url, json=data, verify=False)
        if res.status_code == 200:
            loguru.logger.info(res.content)
            header = {"Accept": "application/json"}
            l_res = self.session.delete(self.log_url, verify=False, headers=header)
            loguru.logger.info(l_res.json())
        else:
            loguru.logger.error(f"未登录成功{res.content}")


def input_info():
    print(
        """\n
    ==========================================================================================
    执行此程序示例:\n
    python main.py --host 127.0.0.1 --username admin --password AdminPwd --user_id user-61m45

    ==========================================================================================
    """
    )

    parser = argparse.ArgumentParser()
    parser.add_argument("--host", type=str, help="Rancher登录地址")
    parser.add_argument("--username", type=str, help="Rancher登录用户名")
    parser.add_argument("--password", type=str, help="Rancher登录密码")
    parser.add_argument("--user_id", type=str, help="Rancher登录用户对应的用户ID")
    args = parser.parse_args()
    if not args.host or not args.username or not args.password or not args.user_id:
        parser.print_help()
        return
    return args.host, args.username, args.password, args.user_id


if __name__ == "__main__":
    param = input_info()
    if param:
        g = rancherLogProcess(*param)
        g.main()

此脚本依赖

loguru==0.6.0
requests==2.28.2

如果要离线使用时,可以通过pyinstaller 将程序打包为可执行程序,这样不需要在考虑环境依赖问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kujirashark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值