博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
容器运维最佳实践
阅读量:6477 次
发布时间:2019-06-23

本文共 1104 字,大约阅读时间需要 3 分钟。

本文介绍了一组使容器更易于运维的最佳实践。这些实践涉及安全性、监控和日志记录等广泛的主题,旨在使应用程序更容易在 和一般的容器中运行。这里讨论的许多实践都受到的启发 ,12因素方法是一个构建云原生应用程序的优质资源。

\\

这些最佳实践的重要等级不一样。例如,对于有些实践,你可能在缺少他们的情况下在生产环境中成功运行,但另外一些实践是不可或缺的。特别是,与安全相关的最佳实践的重要性是主观的,是否实现它们取决于你的环境和约束。

\\

这些实践并不适合零基础的读者,你需要事先了解Docker 和Kubernetes 的一些知识。此处讨论的一些最佳实践也适用于Windows容器,但大多情况下数假设你使用的是Linux容器。有关构建容器的建议,请参阅。

\\

使用容器的原生日志记录机制

\\

重要性:高

\\

作为应用程序管理的一部分,日志中包含宝贵的信息,可让人了解应用程序中发生的事件。Docker 和Kubernetes 致力于简化日志管理。

\\

在传统服务器上,你可能需要将日志写入特定文件并处理日志轮换以避免填满磁盘。如果有高级日志系统,则可以将这些日志转发到远程服务器来集中它们。

\\

通过容器可以将日志写入stdout 和stderr,因而容器提供了一种简单且标准化的方式来处理日志。Docker 捕获这些日志行,并允许你使用docker logs 命令访问它们。作为应用程序开发人员,你不需要实现高级日志记录机制,试试用原生的日志记录机制吧。

\\

平台运营商必须提供一个系统来集中日志并进行搜索,你可以使用Kubernetes Engine 提供的  和 。其他常见方法包括使用  (Elasticsearch,Fluentd,Kibana)栈。

\\



\\

图1. Kubernetes 中典型的日志管理系统图

\\

JSON 日志

\\

大多数日志管理系统实际上是时序数据库,用于存储时间索引文档。这些文档通常以JSON 格式提供。在Stackdriver Logging 和EFK 中,单个日志行和一些元数据(容器组、容器、节点等相关信息)一起被存储为一个文档。

\\

你可以直接通过将不同字段以JSON 格式进行日志记录。然后,可以根据这些字段更有效地搜索日志。

\\

例如,考虑将以下日志转换为JSON格式:

\\
\[2018-01-01 01:01:01] foo - WARNING - foo.bar - There is something wrong.
\\

这是转换后的日志:

\\
\{\  \"date\": \"2018-01-01 01:01:01\

转载地址:http://hamko.baihongyu.com/

你可能感兴趣的文章
sorry,you must have a tty to run sudo
查看>>
ios开发中使用正则表达式识别处理字符串中的URL
查看>>
项目中的积累,及常见小问题
查看>>
Python类型转换、数值操作(收藏)
查看>>
oracle11g dataguard 安装手册(转)
查看>>
java并发包分析之———Deque和LinkedBlockingDeque
查看>>
1. Two Sum - Easy - Leetcode解题报告
查看>>
SQLiteHelper
查看>>
多线程---同步函数的锁是this(转载)
查看>>
鱼C记事本V1.0(下)- 零基础入门学习Delphi28
查看>>
百练 2742 统计字符数 解题报告
查看>>
Ubuntu搜狗输入法候选词乱码
查看>>
js中回调函数写法
查看>>
React native android 最常见的10个问题
查看>>
数据结构和算法
查看>>
.Net 项目代码风格要求
查看>>
[pat]1045 Favorite Color Stripe
查看>>
Immutable学习及 React 中的实践
查看>>
【转】性能测试步骤
查看>>
OSI与TCP/IP各层的结构与功能,都有哪些协议
查看>>