应用日志方案
发表于|更新于
|浏览量:
| 原生方式 | DaemonSet方式 | Sidecar方式 | |
|---|---|---|---|
| 集日志类型 | 标准输出 | 标准输出 | 文件 |
| 部署运维 | 低,原生支持 | 一般,需维护DaemonSet | 较高,需要为每个容器采集日志的 |
| 日志分类存储 | 无法实现 | 可通过容器、路径映射实现 | 每个Pod可单独配置,灵活性高 |
| 支持集群规模 | 本地存储无限制,若使用syslog/fluentd会有单点限制 | 取决于配置数 | 无限制 |
| 资源占用 | 低,docker引擎提供 | 较低,每个节点运行一个容器 | 较高,每个Pod运行一个容器 |
| 查询便捷性 | 低,grep原始日志 | 较高,自定义查询、统计 | 高,根据业务特点定制 |
| 适用场景 | 测试、POC等非生产环境 | 日志分类明确的集群 | 大型、混合型集群 |
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐
2020-05-20
OpenShift-Router通过分片实现不同环境网络南北流量隔离
在企业实践中,通常会部署多个OpenShift集群:开发测试、生产等。每个集群都是独立的,通过物理资源进行隔离。这种方式管理简单,易于理解,但是消耗的资源更多,每个集群都需要额外的控制节点及运维节点。有没有办法,使不同环境运行在同一个集群上,并且它们之间实现隔离呢?答案是可以的。对于不同的环境,做好资源隔离,我们需要对计算资源——宿主机做好规划,同时还需要对网络做好规划。宿主机的隔离,可以通过给主机添加label的方法,规划pod的调度。本篇中,我们只针对网络Route部分做好开发测试环境与生产环境的隔离。 OpenShift集群Route分片机制大家都知道OpenShift管理南北流量是通过Route来实现的,所谓的Route本质就是一个Haproxy/Nginx服务,与K8S中的Ingress类似。默认情况下,OpenShift集群的Router是全局共用的,也就是说,在创建新的Route资源、Pod更新或者证书更新时,所有的OpenShift Router Pod都会更新Haproxy/Nginx的配置,并重新加载。所有的Route后台应用可以通过任一R...

2020-05-20
网络相关工具简单汇总
lscpi查看Mac地址和网卡带宽12[root@localhost] $ yum install pciutils -y[root@localhost] $ lspci -vvv 里面的mac地址格式:46-8d-80-6d-06-07 ip a查看Mac地址与IP12[root@localhost] $ yum install iproute[root@localhost] $ ip a 里面的mac地址格式:46:8d:80:6d:06:07 iperf 对集群进行网络流量测试启动服务端 12[root@localhost] $ yum install iperf3 -y[root@localhost] $ iperf3 -s 客户端进行测试 12[root@localhost] $ yum install iperf3 -y[root@localhost] $ iperf3 -c 10.2.2.2 -P 5 以上默认为作TCP测试,如果要UDP测试,服务端启动与客户端测试都需要加上-u 1234## 服务端iperf3 -s -u## 客户端iperf3 -c 10.2....
2020-05-20
Kubernetes工具集(持续收集------)
Kubescope cliKubescope cli 是一个可以运行在本地或 Kubernetes 中的工具,可直接从 Docker Daemon 中收集容器指标并可视化。和 cAdvisor 等其他集群指标收集服务一样, kubescope cli 收集指标的周期是 1 秒(而不是 10-15 秒)。如果周期是 10-15 秒,你可能会在测试期间错过一些引发性能瓶颈的问题。如果你使用 cAdvisor 进行测试,每次都要使用新的 Pod 作为测试对象,因为 Kubernetes 在超过资源限制时就会将 Pod 杀死,然后重新启动一个全新的 Pod。而 kubescope cli 就没有这方面的忧虑,它直接从 Docker Daemon 中收集容器指标(你可以自定义收集指标的时间间隔),并使用正则表达式来选择和过滤你想要显示的容器。 KubeMarkKubemark是K8s官方提供的一个对K8s集群进行性能测试的工具。它可以模拟出一个K8s cluster(Kubemark cluster),不受资源限制,从而能够测试的集群规模比真实集群大的多。这个cluster中master...
2020-05-20
Openshift-3scale简单介绍
API经济3scale做了什么?关注指标 支持应用数据 完整用例的数量 用户数量 资金价值 开发速度 部署速度 迁移工作量 已有问题 完整的API管理不仅仅只是创建与发布,还需要配套全方位的运维 创建与发布API 度量和计费 安全 & 认证 API文档Portal 扩展性 & 集中策略 API监控 版本控制 生命周期 配置 & 告警 API测试 3scale架构(可容器化部署) 实验内容github.com/hgueere
2020-05-20
OpenShift运维点汇总
应用 部署 镜像同步(UAT->PRO) 应用部署配置 New Project/New App环境变量cpu与内存资源限制健康检查复本数量创建router特殊Node节点绑定pod的亲和与互斥pod网速限速(特别是对外提供服务的pod) 应用配置中心(gitlab) 更新 镜像同步应用新版本部署 监控 Pod EFKRegistry与Router等重要服务的监控 物理层 创建资源 负载均衡器NAS存储应用私有网络 监控 vpc负载均衡器主机状态监控(CPU与内存) 集群层 备份 etcd全量备份应用配置备份(Ark)应用备份(oc export) 集群版本管理 集群升级(每个大版本升级) 日志归档与清理 EFK日志清理hawkular-cassandra日志清理journal日志归档 1journalctl --vacuum-time=3days或者journalctl --vacuum-size=200M或者在/etc/systemd/journald.conf中设置日志大小 message日志归档 ...
2020-05-20
玩转Openshift中Pod调度
大部分情况下,Openshift中的Pod只是容器的载体,通过Deployment、DaemonSet、RC、Job、Cronjob等对象来完成一组Pod的调度与自动控制功能。Pod调度也是由Scheduler组件完成的。 Deployment/RC:全自动调度 Deployment/RC主要是自动部署应用的多个副本,并持续监控,以维持副本的数量。默认是使用系统Master的Scheduler经过一系列算法计算来调度,用户无法干预调度过程与结果。 12345678910111213141516171819202122apiVersion: apps/v1kind: Deploymentmetadata: name: nginx labels: app: nginxspec: replicas: 1 template: metadata: name: nginx labels: app: nginx spec: containers: - name: nginx ...
