azure - 如何将基于容器的应用程序的日志存储在它们的卷中,如 azure 文件?
问题描述
我致力于使用 .net 核心编程语言开发基于容器的应用程序,并将这些应用程序部署在 azure kubernetes 服务中。还按照此文档实现了使用 azure 文件创建持久卷的功能。
到目前为止,一切正常,我可以通过在命令提示符中运行以下命令来查看安装在各个 pod 中的文件共享。
kubectl exec -it apiapplication-121213-121212 -- bash
df -h
但是我想在挂载的文件共享中创建具有 pod 名称和当前日期时间的新文件,例如(apiapplication-121213-121212_16-08-2018)。之后,我想将容器应用程序的日志存储在挂载文件共享中新创建的文件中。
解决方案
您可以手动编写一个脚本来获取您需要的信息:Pod 名称以及当前日期和时间。
1 - 首先获取这些参数并将它们存储在变量中
2-创建文件夹
3- 将日志存储并映射到这些文件夹。
1 - 您可以使用以下命令获取 pod 名称:
kubectl get pods
将名称存储在变量中。
2 - 使用类似于以下的代码:
public void CreateDirectory(string prefix)
{
string dirName = prefix + " on " + DateTime.Now.ToString("ddd MM.dd.yyyy 'At' HH:mm tt");
//Improved version of the above:
string dirName = string.Format("{0} on {1:ddd MM.dd.yyy 'At' HH:mm tt}", prefix, DateTime.Now);
Directory.CreateDirectory(dirName);
}
您所要做的就是将变量名从 1 插入到 2 中的代码中。
3-我不确定您要路由文件夹的日志,但这应该是直截了当的。
推荐阅读
- snowflake-cloud-data-platform - 时间戳无法识别雪花
- javascript - 使用 JavaScript 根据屏幕宽度来回移动元素
- mysql - 雅典娜 DISTINCT 在一行
- amazon-web-services - AWS 资源中传输过程中使用的加密协议是什么?
- amazon-web-services - 创建 EC2 实例并将其附加到特定的 ECS 集群
- android - 如何将 Material Components 添加到 Android Studio 的 Palette?
- hash - 在哈希 sha256 中转换字符串
- sql - 需要总和查询以包括零总计
- php - 当我要做的只是测试主视图的端点时,为什么我的单元测试失败了?
- python - 在 django python 中渲染响应