应用日志方案
发表于|更新于
|浏览量:
| 原生方式 | DaemonSet方式 | Sidecar方式 | |
|---|---|---|---|
| 集日志类型 | 标准输出 | 标准输出 | 文件 |
| 部署运维 | 低,原生支持 | 一般,需维护DaemonSet | 较高,需要为每个容器采集日志的 |
| 日志分类存储 | 无法实现 | 可通过容器、路径映射实现 | 每个Pod可单独配置,灵活性高 |
| 支持集群规模 | 本地存储无限制,若使用syslog/fluentd会有单点限制 | 取决于配置数 | 无限制 |
| 资源占用 | 低,docker引擎提供 | 较低,每个节点运行一个容器 | 较高,每个Pod运行一个容器 |
| 查询便捷性 | 低,grep原始日志 | 较高,自定义查询、统计 | 高,根据业务特点定制 |
| 适用场景 | 测试、POC等非生产环境 | 日志分类明确的集群 | 大型、混合型集群 |
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐
2020-05-20
OpenShift日志审计功能与策略配置
OpenShift支持审计功能,它可以记录下所有API服务的请求。如果将所有请求记录下来,它的量非常庞大,同时也是没有太大意义的。所以OpenShift审计记录当然出会支持请求的过滤,通过方便地策略配置,可以有选择地记录下请求的内容。通常我们会记录对集群资源作更改的请求。 打开审计功能在部署OpenShift时可以打开审计功能 12openshift_master_audit_config={"enabled": true, "auditFilePath": "/var/lib/origin/audit-ocp.log", "maximumFileRetentionDays": 14, "maximumFileSizeMegabytes": 500, "maximumRetainedFiles": 5, "policyFile": "/etc/origin/master/adv-audit.yaml", &qu...
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上部署awx——ansible-tower的社区版
Ansible的大名,对做运维开发的工程师来说没有不知道的,它是开源的配置管理工具,也是最流行的自动化运维工具之一。Ansible tower是Ansible的图形界面化平台,它是RedHat公司的商业应用,也就是说Ansible tower是付费的。既然是RedHat的付费应用,可想而知,它具有很强大、实用的功能,另外它应该会有一个免费的社区版本。对,那就是awx。Ansible Tower的社区版,功能跟Ansible Tower一样强大,开源免费。 部署安装Awx安装文档:https://github.com/ansible/awx/blob/devel/INSTALL.md clone下awx的代码 1$ git clone https://github.com/ansible/awx.git Openshift集群中创建部署awx的project 1$ oc new-project awx awx的project下创建PVC,默认pvc名为postgresql 123456789101112$ cat << EOF | oc create -f ...
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
OpenShift使用KeepAlived+LVS实现外部负载均衡器
OpenShift集群资源列表 主机名 类型 IP 相关节点IP master0 master 192.168.0.2 master1 master 192.168.0.3 master2 master 192.168.0.4 infra0 infra 192.168.0.5 infra1 infra 192.168.0.6 vip地址分配 master-vip vip 192.168.0.250 infra-vip vip 192.168.0.251 部署Master API负载均衡器作为集群内外访问的入口 在三个Master节点安装KeepAlived与LVS 12$ ansible masters -m package -a 'name=keepalived state=present'$ ansible masters -m package -a 'name=ipvsadm state=present' 选择master0作为VIP的Master节点 1234567891...
2020-05-20
Openshift中的Prometheus-Operator如何添加新的应用监控
prometheus使用的配置文件在openshift-monitoring/secret/prometheus-k8s中。有添加ServiceMonitor时会动态更新该文件 为system:serviceaccount:openshift-monitoring:prometheus-k8s添加应用所在project的view权限 1$ oc policy add-role-to-user view system:serviceaccount:openshift-monitoring:prometheus-k8s -n myproject 查看prometheus的配置,查看对于servicemonitor的过滤器 123456$ oc get prometheus k8s -o yaml... serviceMonitorSelector: matchExpressions: - key: k8s-app operator: Exists serviceMonitorSelector表示,只有设置了k8s-app的Label的service...
