13

我正在寻找这些日志:

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

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

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

pod 列表中没有 api 和控制器的 pod。

$ 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
4

2 回答 2

2

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

  • API 服务器
  • 审计
  • 身份验证器
  • 控制器管理器
  • 调度器

可以通过 UI 或 AWS CLI 启用日志。请参阅Amazon EKS 控制层面日志记录

于 2019-11-05T06:01:53.527 回答
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

于 2018-06-27T19:31:57.640 回答