我有3个kubernetes集群,我试图每小时/每天保存“kubectl get events --all-namespaces”的输出。
当前设置:
- 3 Azure Kubernetes集群。
1.使用“filebeat”来发送日志。
1.将日志运送到“Graylog”
当前正在获取路径:/var/lib/docker/containers
上的容器日志
请帮助我找到一种方法来发送“kubectl get events --all-namespaces”和集群级别的events logs的输出。
1条答案
按热度按时间flvlnr441#
1.使用安装了kubectl的docker镜像编写一个K8s Cronjob,并运行“kubectl get events -A”,如下面的Dockerfile所示
1.创建一个服务帐户,clusterrole,clusterrolebinding,它为服务帐户赋予“获取事件”权限
1.在cronjob清单中使用此服务帐户
1.当作业按计划运行时,kubectl get事件的日志将被发送到容器日志
配置pod运行kubectl的详细信息如下:
https://itnext.io/running-kubectl-commands-from-within-a-pod-b303e8176088
Dockerfile