使用 Kops 在 AWS 中托管的 Kubernetes 集群不提供 Pod 故障的详细日志
Kubernetes cluster hosted in AWS using Kops doesn't provide detailed logs for Pod failure
我使用 AWS 上的 Kops 创建了一个主集群和 2 个工作集群。现在对于我的实验,我需要杀死一个 worker 上的 pod 并检查 kubelet 日志以了解:
pod 何时从服务端点列表中删除?
何时重新创建新的 pod 容器?
何时为新的 pod 容器分配新的 IP 地址?
当我使用 kubeadm 创建一个本地集群时,我可以在工作节点(其 pod 被杀死)的 kubelet 日志中看到所有信息(如上面提到的)。
我没有看到这样详细的 kubelet 日志,特别是与 Kops 创建的 K8s 集群中分配 IP 地址相关的日志。
如何获取使用kops创建的集群中的上述信息?
在具有 systemd 的机器上,kubelet 和容器运行时都写入 journald
。如果 systemd 不存在,他们会在 /var/log
位置写入 .log
。
您可以使用 journalctl
命令访问 systemd 日志:
journalctl -u kubelet
这些信息当然要在登录所需节点后收集。
在 AWS 上的 Kops 中,kubelet 日志不像在使用 kubeadm 创建的 Kubernetes 集群中那样具有描述性。
我使用 AWS 上的 Kops 创建了一个主集群和 2 个工作集群。现在对于我的实验,我需要杀死一个 worker 上的 pod 并检查 kubelet 日志以了解:
pod 何时从服务端点列表中删除?
何时重新创建新的 pod 容器?
何时为新的 pod 容器分配新的 IP 地址?
当我使用 kubeadm 创建一个本地集群时,我可以在工作节点(其 pod 被杀死)的 kubelet 日志中看到所有信息(如上面提到的)。
我没有看到这样详细的 kubelet 日志,特别是与 Kops 创建的 K8s 集群中分配 IP 地址相关的日志。
如何获取使用kops创建的集群中的上述信息?
在具有 systemd 的机器上,kubelet 和容器运行时都写入 journald
。如果 systemd 不存在,他们会在 /var/log
位置写入 .log
。
您可以使用 journalctl
命令访问 systemd 日志:
journalctl -u kubelet
这些信息当然要在登录所需节点后收集。
在 AWS 上的 Kops 中,kubelet 日志不像在使用 kubeadm 创建的 Kubernetes 集群中那样具有描述性。