我创建了一个由一个主节点和三个工作节点组成的k8集群。 (主节点可以充当主角色和辅助角色)。一切都很好。我可以部署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。帮帮我。
答案 0 :(得分:0)
在主节点上检查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
而且cli args和配置文件之间对Kubelet API的默认身份验证和授权也有所不同,因此您应确保在配置文件中设置“旧式默认设置”以保留现有行为。
这是我的config.yaml的代码段
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