如何在EKS上获取k8s主日志?

时间:2018-06-26 09:38:36

标签: amazon-web-services kubernetes amazon-eks

我正在寻找以下日志:

/var/log/kube-apiserver.log
/var/log/kube-scheduler.log
/var/log/kube-controller-manager.log

在EKS中,用户无权访问控制平面,因此无法直接看到这些文件。

我知道AWS宣布的CloudTrail集成。但是它显示的事件不是来自k8s API的事件,而是来自CreateCluster事件的AWS EKS API。还有一个未解决的问题,即如何获取调度程序和控制器管理器日志。

“豆荚”列表中没有用于api和控制器的豆荚。

$ kubectl get po --all-namespaces
NAMESPACE     NAME                             READY     STATUS             RESTARTS   AGE
kube-system   aws-node-9f4lm                   1/1       Running            0          2h
kube-system   aws-node-wj2cg                   1/1       Running            0          2h
kube-system   kube-dns-64b69465b4-4gw6n        3/3       Running            0          2h
kube-system   kube-proxy-7mt7l                 1/1       Running            0          2h
kube-system   kube-proxy-vflzv                 1/1       Running            0          2h

节点列表中没有主节点

$ kubectl get nodes
NAME                        STATUS    ROLES     AGE       VERSION
ip-10-0-0-92.ec2.internal   Ready     <none>    9m        v1.10.3
ip-10-0-1-63.ec2.internal   Ready     <none>    9m        v1.10.3

2 个答案:

答案 0 :(得分:1)

可以将日志发送到CloudWatch(不是免费的)。可以单独选择以下日志以发送到CloudWatch:

  • API服务器
  • 审计
  • 验证者
  • 控制器管理器
  • 调度程序

可以通过UI或AWS CLI启用日志。参见Amazon EKS Control Plane Logging

答案 1 :(得分:0)

CloudWatch日志中将提供诸如kube-api服务器日志,kube-scheduler日志,kube-controller管理器日志等内容。虽然(如您所述)EKS API调用将记录到cloudtrail。

**我收回了,我想AWS EKS尚未解决。您将需要使用EFK堆栈来获取日志。

有人已经整理了一个快速的方法: https://github.com/aws-samples/aws-workshop-for-kubernetes/tree/master/02-path-working-with-clusters/204-cluster-logging-with-EFK