应用日志方案
发表于|更新于
|浏览量:
| 原生方式 | DaemonSet方式 | Sidecar方式 | |
|---|---|---|---|
| 集日志类型 | 标准输出 | 标准输出 | 文件 |
| 部署运维 | 低,原生支持 | 一般,需维护DaemonSet | 较高,需要为每个容器采集日志的 |
| 日志分类存储 | 无法实现 | 可通过容器、路径映射实现 | 每个Pod可单独配置,灵活性高 |
| 支持集群规模 | 本地存储无限制,若使用syslog/fluentd会有单点限制 | 取决于配置数 | 无限制 |
| 资源占用 | 低,docker引擎提供 | 较低,每个节点运行一个容器 | 较高,每个Pod运行一个容器 |
| 查询便捷性 | 低,grep原始日志 | 较高,自定义查询、统计 | 高,根据业务特点定制 |
| 适用场景 | 测试、POC等非生产环境 | 日志分类明确的集群 | 大型、混合型集群 |
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐
2020-05-20
Openshif对集群的扩容与缩容
Openshift是一个云平台,它是以集群的方式提供服务。前面已经介绍了,业务都跑在Openshift的Node节点上。随着业务的不断变化,扩展或者消亡,我们的Node提供的服务需求也会不断变化。这时就需要对Node节点进行增删管理。 本篇只介绍CentOS7下管理Node节点。 Openshift使用Ansible playbook来实现扩容与缩容 1. oc命令查看当前Node节点的状态1oc get node --show-labels 2. 添加Node节点到已存在的集群 准备好需要添加的主机 节点类型 说明 Nodes 物理主机或者虚拟机 系统:Fedora 21, CentOS 7.3, 7.4或者7.5 NetworkManager版本1.0以上最少1vCPU最少8GB内存/var/最少15GB空间 /usr/local/bin最少1GB空间容器临时目录最少1GB空间 设置主机的hostname 1hostnamectl --static set-hostname infra1...
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管理project【译自官方文档】
概述在OpenShift容器平台中,项目用于对相关对象进行分组和隔离。作为管理员,您可以授予开发人员对某些项目的访问权限,允许他们创建自己的项目,并授予他们在各个项目中的管理权限。 创建一个新的Project可以允许开发人员创建自己的项目。开发人员可以通过web控制台或者oc new-project命令来创建新的project。 1$ oc new-project test-project 预定义projectAPI服务器根据master-config.yaml文件的projectRequestTemplate参数标识的模板自动配置新的项目。如果未定义该参数,API服务器将创建一个默认模板,该模板使用请求的名称创建一个项目,并赋予创建该项目的用户该项目的“admin”角色。 如何创建自定义的project模板呢? 导出当前默认的模板 1$ oc adm create-bootstrap-project-template -o yaml > template.yaml 使用文本编辑工具编辑template.yaml文件,对默认的配置进行更新 导入更改后的模板 1$ oc...
2020-05-20
OpenShift解决Route-Https--Http无法跳转的问题
问题现象通过Route创建的edge类型的HTTPS,后端应用使用的是HTTP服务。但在某些情况下,后端应用使用Location时,Location地址为HTTP地址。这时浏览器将因为无法访问HTTP服务而无法实现跳转。 原理Haproxy在返回客户端时,检查返回Head,将Location地址中的HTTP替换为HTTPS,从而让浏览器获取正确的跳转链接。 解决办法更新haproxy-config.template,为edge请求的应用添加标注判断haproxy.router.openshift.io/location-scheme,如果它为https,则将Location请求中的http替换为https。具体配置如下:搜索 ssl_fc_alpn -i h2在其后添加如下配置 1234{{- if eq "https" (index $cfg.Annotaions "haproxy.router.openshift.io/location-scheme")}} acl check_locatio...
2020-05-20
数据库写测试
先出结果数据库Mysql 5.7数据 NetApp Ceph NFS-SSD NFS-SAS HOST PATH 写(qtps) 33333 888 20000 3000 延时(us) 1029 40488 1184 NetApp 12345678910111213141516171819202018-06-27 17:56:45 ======================== mysql_test ========================2018-06-27 17:56:45 SQL01 exe=5000 fail=0 row=5000 ela=5180 ms avg=1036 us2018-06-27 17:56:45 SQL01 1 ms exec= 2853, ela= 2530 ms, avg= 886 us, pct= 57, 572018-06-27 17:56:45 SQL01 2 ms exec= 2122, ela= 2443 ms, avg= 115...
2020-05-20
通过curl访问OpenShift上部署的Prometheus获取监控数据
Prometheus作为最常用的集群的监控组件,它收集了集群最全的状态信息。那么当我们需要将它与现有的监控告警平台打通,或者根据它开发一个自己的监控展示平台时,就不得不需要获得Prometheus的监控数据了。这时就不得不访问Prometheus的API接口。根据场景的不同有两种方式能够获取到Prometheus的数据 集群外部,通过访问Prometheus UI的链接来获取指标数据 集群内部,进入Prometheus容器中,获取指标数据 1. 集群外部,curl访问Prometheus UI地址由于OpenShift上部署的Prometheus应用对接了OpenShift的用户认证oauth-proxy,所以必须先获取用户的Token后再通过curl访问prometheus服务获取数据,具体操作如下。 123456789101112# #登录[root@master ~]# oc login -u adminAuthentication required for https://master.example.com:8443 (openshift)Username: ad...
