【问题标题】:Cannot get kubectl logs on worker nodes无法在工作节点上获取 kubectl 日志
【发布时间】:2019-05-31 23:05:33
【问题描述】:

我创建了一个由一个主节点和三个工作节点组成的 k8s 集群。 (主节点可以做主节点和工作者角色)。一切都很好。我可以部署 pod、exec pod、获取日志……但我有一些日志问题。我无法从工作节点获取日志。我只从主节点kubeclt logs <pod-name>获取日志

这是我的错误信息:

error: You must be logged in to the server (the server has asked for the client to provide credentials ( pods/log nginx))

它只发生在工作节点调度的 Pod 中。帮帮我..

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    在您的主节点上检查 kubelet 日志

    journalctl -u kubelet
    

    你可能会看到类似的东西

    Flag --some-flag has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag
    

    删除这些标志并将其放入 kubelet 配置文件/var/lib/kubelet/config.yaml

    此外,对 Kubelet API 的默认身份验证和授权在 cli args 和配置文件之间有所不同,因此您应该确保在配置文件中设置“传统默认值”以保留现有行为。

    这是我的 config.yaml 的 sn-p

    authentication:
      anonymous:
        enabled: false #set true to enable
      webhook:
        cacheTTL: 2m0s
        enabled: true
      x509:
        clientCAFile: /etc/kubernetes/pki/ca.crt
    authorization:
      mode: Webhook
      webhook:
        cacheAuthorizedTTL: 5m0s
        cacheUnauthorizedTTL: 30s
    

    【讨论】:

    • 感谢您的提及!但是,如何删除不推荐使用的标志?我发现“--cgroup-driver 已被弃用”,但我在 config.yaml 文件中看不到这个标志。有删除命令吗?
    • @WOOJINNA /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 指向/var/lib/kubelet/config.yaml
    • 我解决了这个问题。这是因为我公司的代理环境。所以我将工作节点的 ip 添加到 kube-apiserver.yml 的 no_proxy 设置中。现在我可以从工作节点的 pod 获取日志了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 2020-09-06
    相关资源
    最近更新 更多