要停止AWS EKS节点组向Kibana发送日志,可以通过以下步骤进行:
import boto3
client = boto3.client('logs')
response = client.create_log_group(
logGroupName='eks-node-logs'
)
import boto3
client = boto3.client('eks')
response = client.describe_nodegroup(
clusterName='eks-cluster',
nodegroupName='eks-nodegroup'
)
cw_agent_config = response['nodegroup']['resources']['autoScalingGroups'][0]['tags'][0]['kubernetes.io/cluster/eks-cluster']
print(cw_agent_config)
import subprocess
subprocess.run(['kubectl', 'edit', 'configmap/aws-auth', '-n', 'kube-system'])
在编辑器中,找到与节点组关联的ARN,并将以下配置添加到ConfigMap的data部分中:
data:
cwagentconfig.json: |
{
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/containers/eks-node-logs/*.log",
"log_group_name": "eks-node-logs",
"log_stream_name": "{hostname}-{container_name}-{namespace}-{pod_name}"
}
]
}
}
}
}
import subprocess
subprocess.run(['kubectl', 'rollout', 'restart', '-n', 'kube-system', 'daemonset.apps/amazon-cloudwatch-agent'])
完成上述步骤后,EKS节点组将停止向Kibana发送日志,并开始将日志发送到新创建的CloudWatch日志组中。