应用日志方案
发表于|更新于
|浏览量:
| 原生方式 | DaemonSet方式 | Sidecar方式 | |
|---|---|---|---|
| 集日志类型 | 标准输出 | 标准输出 | 文件 |
| 部署运维 | 低,原生支持 | 一般,需维护DaemonSet | 较高,需要为每个容器采集日志的 |
| 日志分类存储 | 无法实现 | 可通过容器、路径映射实现 | 每个Pod可单独配置,灵活性高 |
| 支持集群规模 | 本地存储无限制,若使用syslog/fluentd会有单点限制 | 取决于配置数 | 无限制 |
| 资源占用 | 低,docker引擎提供 | 较低,每个节点运行一个容器 | 较高,每个Pod运行一个容器 |
| 查询便捷性 | 低,grep原始日志 | 较高,自定义查询、统计 | 高,根据业务特点定制 |
| 适用场景 | 测试、POC等非生产环境 | 日志分类明确的集群 | 大型、混合型集群 |
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐
2020-05-20
Kubernetes更新etcd证书
在三台etcd所在的主机上执行以下操作 123456789$ cd /etc/kubernetes/pki$ mv etcd etcd.bak$ mkdir apiserver-etcd-client$ mv apiserver-etcd-client.* apiserver-etcd-client/$ kubeadm alpha phase certs etcd-ca$ kubeadm alpha phase certs etcd-server --config=/etc/kubernetes/kubeadmcfg.yaml$ kubeadm alpha phase certs etcd-peer --config=/etc/kubernetes/kubeadmcfg.yaml$ kubeadm alpha phase certs etcd-healthcheck-client --config=/etc/kubernetes/kubeadmcfg.yaml$ kubeadm alpha phase certs apiserver-etcd-client --config=/e...
2020-05-20
Openshift结合IaaS的LB与Nginx实现高可用可伸缩外部负载均衡器
背景 Openshift在集群部署时需要额外提供一个负载均衡器,该负载均衡器对master api及router haproxy中的80与443服务进行负载,实现高可用。 如果在IaaS上部署Openshift集群的话,我们很自然地会使用IaaS的LB服务,直接对LB作TCP端口负载就解决问题了,既实现了需要的负载均衡,而且还有健康检查,负载高可用,非常方便。 但是我们的Openshift集群并不是部署在IaaS上,而是额外部署。IaaS上的LB无法直接将集群中的服务器作为监听器的后端进行负载,这时我们就需要在Openshift集群下额外独立部署负载均衡器。考虑到保证负载均衡器的高可用性,及监控等,这会是一个比较复杂的过程。 那么我们是否可以结合IaaS上的LB现有的机制,制定一套既方便部署,又高可用的方案呢?答案是肯定的。 该篇就是介绍如何结合IaaS的LB与代理应用Nginx实现Openshift高可用的外部负载均衡 原理 负载均衡器应用,首先大家想到的最多的两款应用是:Nginx与Haproxy,我们选用了Nginx。 将IaaS的LB与Nginx结合的思路也很简单。在I...
2020-05-20
OpenShift管理节点Master与计算节点Node的配置说明
配置文件Master节点的配置文件地址:/etc/origin/master/master-config.yamlNode节点的配置文件在:openshift-node项目下的configmap中。OpenShift集群的配置信息都在这两个文件中,包括有覆盖默认插件,连接到etcd,自动创建服务帐户,构建映像名称,自定义项目请求,配置卷插件等等。 参考文章Master and Node Configuration

2020-05-20
Openshift生产环境部署配置事项
1. 主机配置推荐 master 16核 32GB 网卡带宽不低于1Gb。CPU x86_64架构,核数和主机数线性递增,每增加一台主机增加0.1核。5台主机4.5核,总的核数为4+0.1 * 主机数内存与主机数线性递增,每增一台主机增加200M内存,5台8G,总的内存数为7+0.2 * 主机数 node 40核 256GB 网卡带宽不低于1Gb根据应用场景估算 2. 磁盘目录挂载 master磁盘格式:xfs ftype=1/ : 10GB/var/log :50GB/var/lib/docker:100GB 做raid高可用/var/lib/etcd [ssd]:20GB 做raid高可用/var :50GB 可根据实际进行调整,主要emptyDir的存储在/var/lib/origin目录下 node磁盘格式:xfs ftype=1/ : 10GB/var/log :50GB/var...
2020-05-20
Openshift模板之项目创建模板(资源限制)
Openshift创建project时,可以按照设定的模板来创建,这就省去了很多初始化的工作。###文件内容(template.yaml) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112apiVersion: v1kind: Templatemetadata: creationTimestamp: null name: project-requestobjects:- apiVersion: v1 kind: Project metadata: annotations: openshift.io/description: ${PROJECT_D...
2020-05-20
使用ArgoCD实现多集群自动部署
什么是Argo CD?Argo CD是用于Kubernetes的声明性GitOps连续交付工具,其优势为: 通过声明式定义应用、配置及环境信息,并且可以通过代码仓库实现版本控制 可通过自动或手动的方式同步应用到配置的期望状态 支持应用在多个环境、多个Kubernetes集群进行统一部署和管理 有UI及CLI多种方式,UI提供应用状态的可观测性,CLI方便与其它持续集成系统对接 支持多种SSO(OIDC,OAuth2,LDAP,SAML 2.0,GitHub,GitLab,Microsoft,LinkedIn) 支持Prometheus监控指标 参考文章https://www.openshift.com/blog/openshift-authentication-integration-with-argocdhttps://www.openshift.com/blog/introduction-to-gitops-with-openshifthttps://argoproj.github.io/argo-cd/
