应用日志方案
发表于|更新于
|浏览量:
| 原生方式 | DaemonSet方式 | Sidecar方式 | |
|---|---|---|---|
| 集日志类型 | 标准输出 | 标准输出 | 文件 |
| 部署运维 | 低,原生支持 | 一般,需维护DaemonSet | 较高,需要为每个容器采集日志的 |
| 日志分类存储 | 无法实现 | 可通过容器、路径映射实现 | 每个Pod可单独配置,灵活性高 |
| 支持集群规模 | 本地存储无限制,若使用syslog/fluentd会有单点限制 | 取决于配置数 | 无限制 |
| 资源占用 | 低,docker引擎提供 | 较低,每个节点运行一个容器 | 较高,每个Pod运行一个容器 |
| 查询便捷性 | 低,grep原始日志 | 较高,自定义查询、统计 | 高,根据业务特点定制 |
| 适用场景 | 测试、POC等非生产环境 | 日志分类明确的集群 | 大型、混合型集群 |
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐
2020-05-20
OpenShift通过EgressIP为Project设置对外的出口IP
集群管理员可以为项目分配特定的静态IP,方便外部系统能够识别项目下的应用的出口流量。 将出口IP分配到指定的Node 支持指定特定的IP 1$ oc patch hostsubnet <node-name> -p '{"egressIPs": ["192.168.1.2", "192.168.1.3"]}' 支持指定特定的IP段 1$ oc patch hostsubnet <node-name> -p '{"egressCIDRs": ["192.168.1.0/24"]}' 为项目指定静态出口IP 1$ oc patch netnamespace <project-name> -p '{"egressIPs": ["192.168.1.100"]}' OpenShift容器平...

2020-05-20
OpenShift-通过Operator-SDK制作Operator
制作Operator过程 下载安装operator-sdk 创建github仓库 operator-sdk创建应用 12345$ operator-sdk new memcached-go-operator --repo=github.com/example-inc/memcached-operator$ # or$ operator-sdk new memcached-ansible-operator --api-version=fcloudy.com/v1alpha1 --kind=Memcached --type=ansible$ # or$ operator-sdk new memcached-helm-operator --api-version=fcloudy.com/v1alpha1 --kind=Memcached --type=helm operator-sdk new默认使用的type为go,必须在$GOPATH目录下创建项目。type为go时项目的目录结构如下:项目的目录结构 type的可选值还可以为:ansible与helm,如果是这两个,则还可以带参数...
2020-05-20
Openshfit-4-1部署手册
设备与网络准备 网络要求 能够访问OpenShift Infrastructure Providers以下载安装程序 能访问quay.io以获取安装群集所需的软件包 能访问Red Hat’s software as a service page以获取相关订阅 准备节点 1 bootstrap节点 RHCOS,引导计算机部署集群,在完成部署后该机器可被删除 3 master节点 RHCOS 2 compte节点 RHCOS or RHEL 7.6 部署前准备 外部负载均衡器 配置主机端口 配置DNS 确保网络连接 以下端口必须能被集群中的所有机器访问 端口 说明 2379-2380 etcd server, peer, and metrics ports 6443 Kubernetes API 9000-9999 Host level services, including the node exporter on ports 9100-9101 and the Cluster Version Operator on port 9099. ...

2020-05-20
Kubernetes安装手册
Kubernetes在2014年开源后,很快便占据了容器编排的主导地位,成为容器编排的事实标准。那么Kubernetes的安装是了解它的第一步。目前有非常多的工具方法来实现Kubernetes的安装,收集了一些如下。 kubeadm:https://github.com/kubernetes/kubeadmkubeadm是官方提供的最为通用的一种部署方案。 kops:https://github.com/kubernetes/kopskops通过命令行创建,销毁,升级和维护生产级,高可用性的Kubernetes集群。目前正式支持AWS(Amazon Web Services),其中GCE和OpenStack处于beta测试阶段,而VMware vSphere处于alpha阶段。 kubespray:https://github.com/kubernetes-sigs/kubespraykubespray通过 Ansible Playbook 来定义系统与 Kubernetes 集群部署的任务。 KubeOperator: https://github.com/KubeOpera...
2020-05-20
Openshift-Web-Console自定义界面
什么是Openshift WebConsole Openshift WebConsole是Openshift提供的一个web界面端,类似到Kubernetes的Dashboard。很多操作都可以在WebConsole端去处理与显示。 部署完成Openshift后,会有一个openshift-web-console的project,在这个project中有一个openshift-web-console应用,该应用便是Openshift WebConsole。 自定义Openshift WebConsole原理Openshift WebConsole前端使用的是Google的AngularJS技术,并且它在设置的时候提供了扩展的入口。WebConsole在应用启动时会去读取configmap(webconsole-config)中的配置,而webconsole-config的配置中可以设置导入的自定义css与js文件。 12345678......extensions: properties: {} scriptURLs: - https://www.e...
2020-05-20
Openshift-Service不仅仅能负载Pod,它还能负载VM等外部服务
Service是Openshift最核心的概念,它可以为一组具有相同功能的Pod提供一个统一的入口,并且将请求负载均衡分发到后端的各个Pod应用上。同时Service在集群下的IP是不变的,保证了请求的可靠性。 Service仅仅只能负载一组Pod吗?No。它还可以对接VM的服务,甚至是物理机的服务。 Service负载Pod 1234567891011121314apiVersion: v1kind: Servicemetadata: name: nginxspec: selector: app: nginx type: NodePort ports: - port: 8080 name: nginx protocol: TCP targetPort: 8080 nodePort: 38080 selector:Label选择器,将选择指定Label的Pod作为被负载Pod type:Service的类型,指定Service的访问方式,默认为ClusterIP。 ClusterIP:虚拟的服务IP地址,该IP...
