Ada*_*tan 18 amazon-web-services docker kubernetes amazon-cloudwatchlogs
设置在AWS CloudWatch的日志驱动程序docker与做log-driver=awslogs和log-opt,例如-
#!/bin/bash
docker run \
--log-driver=awslogs \
--log-opt awslogs-region=eu-central-1 \
--log-opt awslogs-group=whatever-group \
--log-opt awslogs-stream=whatever-stream \
--log-opt awslogs-create-group=true \
wernight/funbox \
fortune
Run Code Online (Sandbox Code Playgroud)
我想在Kubernetes集群中使用AWS CloudWatch日志,其中每个pod包含一些Docker容器.每个部署都有一个单独的日志组,每个容器都有一个单独的流.我找不到通过Kubernetes create/ 将日志记录参数发送到docker容器的方法apply.
如何将log-driverand log-opt参数发送到pod/deployment中的Docker容器?
kubectl applykopsKubernetes Logging Architecturesil*_*fox 15
根据我的理解,Kubernetes更喜欢群集级日志记录到Docker日志记录驱动程序.
我们可以使用流利的方法来收集,转换容器日志并将其推送到CloudWatch Logs.
您只需要使用ConfigMap和Secret创建一个流畅的DaemonSet.文件可以在Github中找到.它已经过Kubernetes v1.7.5的测试.
以下是一些解释.
使用DaemonSet,流利地从主机文件夹中收集每个容器日志/var/lib/docker/containers.
fluent-plugin-kubernetes_metadata_filter插件从Kubernetes API服务器加载pod的元数据.
日志记录就是这样的.
{
"log": "INFO: 2017/10/02 06:44:13.214543 Discovered remote MAC 62:a1:3d:f6:eb:65 at 62:a1:3d:f6:eb:65(kube-235)\n",
"stream": "stderr",
"docker": {
"container_id": "5b15e87886a7ca5f7ebc73a15aa9091c9c0f880ee2974515749e16710367462c"
},
"kubernetes": {
"container_name": "weave",
"namespace_name": "kube-system",
"pod_name": "weave-net-4n4kc",
"pod_id": "ac4bdfc1-9dc0-11e7-8b62-005056b549b6",
"labels": {
"controller-revision-hash": "2720543195",
"name": "weave-net",
"pod-template-generation": "1"
},
"host": "kube-234",
"master_url": "https://10.96.0.1:443/api"
}
}
Run Code Online (Sandbox Code Playgroud)
使一些标签与Fluentd record_transformer过滤器插件.
{
"log": "...",
"stream": "stderr",
"docker": {
...
},
"kubernetes": {
...
},
"pod_name": "weave-net-4n4kc",
"container_name": "weave"
}
Run Code Online (Sandbox Code Playgroud)
fluent-plugin-cloudwatch-logs插件发送到AWS CloudWatch Logs.
使用log_group_name_key和log_stream_name_key配置,日志组和流名称可以是记录的任何字段.
<match kubernetes.**>
@type cloudwatch_logs
log_group_name_key pod_name
log_stream_name_key container_name
auto_create_stream true
put_log_events_retry_limit 20
</match>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7931 次 |
| 最近记录: |