基于云原生的应用大多都离不开CI/CD工具或平台。现有很多优秀的开源工具,如:Jenkins、Github Actions 等,对于Jenkins来说比较笨重,占用系统资源较多,而GitHub Actions则依赖于GitHub云服务器,无法和本地k8s集群交互。
有没有一种工具可以在本地环境运行,资源占用少,方便学习和实践。本文将介绍一个比较轻量级的CI工具 - Drone,接下来将采用Helm的方式在Kubernetes中安装 Drone工具。
[阅读全文]基于云原生的应用大多都离不开CI/CD工具或平台。现有很多优秀的开源工具,如:Jenkins、Github Actions 等,对于Jenkins来说比较笨重,占用系统资源较多,而GitHub Actions则依赖于GitHub云服务器,无法和本地k8s集群交互。
有没有一种工具可以在本地环境运行,资源占用少,方便学习和实践。本文将介绍一个比较轻量级的CI工具 - Drone,接下来将采用Helm的方式在Kubernetes中安装 Drone工具。
[阅读全文]GitHub Actions 是 Github 在2018年10月份推出的持续集成服务。可免费使用,你可以在 GitHub Actions 的仓库中自动化、自定义和执行软件开发工作流程。 可以发现、创建和共享操作以执行您喜欢的任何作业(包括 CI/CD),并将操作合并到完全自定义的工作流程中。
本文是一个简单的教程,演示如何使用 GitHub Actions 自动构建SpringBoot应用流水线并使用Helm部署到K8S集群。
Elastic APM
是一款免费开源的应用程序性能监测工具,我们可以借助免费且开放的 Elastic APM 扩展至应用程序指标。精确查看您的应用程序都在哪里耗时了,然后便可快速修复问题,这样对发布的代码可以保持十足信心。
本篇文章将学习如何使用 Fluent Bit 采集 Kubernetes 集群的应用日志,并将日志数据输出到ElasticSearch中,使用Kibana将其可视化出来。日志收集工具还有很多,如:Fluentd,Filebeat,Promtail等等。其中 Fluent Bit,Fluentd和 Filebeat 都使用过,基本上都能满足项目上对于日志采集的需求。个人比较首推Fluent Bit,主要是因为其资源占用非常少,采集效率高,设计优雅,配置简单。可以看下下图中,Fluent Bit 的 Data pipeline:
在本系列文章中,我们将学习如何使用 Elastic Stack 来实现对云原生应用的监控。该解决方案具有完备的日志、指标、APM 和可用性采集能力,可以在大规模/云原生的环境下,完成服务质量目标(SLO)的管理。 总的来说主要包括3个方面:
Ingress Controller有很多实现方式,如Kubernetes官方,Nginx官方,Kong,Traefik等等,下面对以下三种不同的Ingress Controller进行性能测试,Kubernetes Ingress VS Nginx Ingress(Nginx官方出品)VS Traefix Ingress。
[阅读全文]Ingress是目前Kubernetes集群流量接入的重要入口,了解其性能指标有助于用户选用合适的网络方案。
[阅读全文]Nginx Ingress Controller 基于 Nginx 实现 Kubernetes Ingress API。Nginx 是一款高性能网关,在实际生产环境运行时,需要对参数进行调优,以保证其充分发挥高性能的优势。
本文将介绍针对 Nginx Ingress 全局配置与内核参数调优的方法及其原理,让 Nginx Ingress 更好的适配高并发业务场景。
[阅读全文]Nginx Ingress 有多种部署方式,本文将介绍 Nginx Ingress 在 TKE 上的一些部署方案,这几种方案的原理、各自优缺点以及一些选型和使用上的建议。
[阅读全文]开源的 Ingress Controller 的实现使用量最大的莫过于 Ingress Nginx 了,可作为反向代理将外部流量导入集群内部,将 Kubernetes 内部的 Service 暴露给外部,在 Ingress 对象中通过域名匹配 Service,这样就可以直接通过域名访问到集群内部的服务了。
实际 Ingress Nginx 有两种实现:
第一种是 Kubernetes 开源社区的实现,第二种是 Nginx 官方的实现,我们通常用的是 Kubernetes 社区的实现,这也是本文所关注的重点。
[阅读全文]