部署k3s+KubeSphere
前言 k3s是经CNCF一致性认证的Kubernetes发行版,专为物联网及边缘计算设计。 KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。 作为全栈的多租户容器平台,KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere 为用户提供构建企业级 Kubernetes...
es+filebeat+elastalert2实现异常邮件提醒
以下安装都使用docker-compose,docker及K8s安装原理一样 ES安装: es: container_name: es image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0 ports: - "9200:9200" environment: - node.name=es - http.host=0.0.0.0 - transport.host=127.0.0.1 - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - bootstrap.memory_lock=true - discovery.type=single-node - xpack.security.enabled=true - xpack.security.http.ssl.enab...
linux快速搭建轻量级efk日志系统
一、前言 为什么要用EFK(or ELK): EFK 中的F是 filebeat还是fluentd? 单机推荐用filebeat,非常轻量级,占用内存为10M 二、安装过程 首先,通过docker-compose安装最方便,这里是yml文件: 注意1:es, kibana, filebeat版本最好一致 注意2:物理机最低内存2G才能安装(es大概800M,kibana 200M, filebeat 100M), 实在不行加swap! version : '3' services: es: container_name: es image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0 ports: - "9200:9...
[转].NET Core开源API网关 – Ocelot中文文档
Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。这些功能只都只需要简单的配置即可完成,下面我们会对这些功能的配置一一进行说明。 介绍 简单的来说Ocelot是一堆的asp.net core middleware组成的一个管道。当它拿到请求之后会用一个request builder来构造一个HttpRequestMessage发到下游的真实服务器,等下游的服务返回response之后再由一个middleware将它返回的HttpRe...
微服务实战(二):使用API Gateway
【编者的话】本系列的第一篇介绍了微服务架构模式。它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择。 当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交互。在单体式程序中,通常只有一组冗余的或者负载均衡的服务提供点。在微服务架构中,每一个微服务暴露一组细粒度的服务提供点。在本篇文章中,我们来看它如何影响客户端到服务端通信,同时提出一种API Gateway的方法。 介绍 假定你正在为在线购物应用开发一个原生手机客户端。你需要实现一个产品最...
API网关ocelot特性之聚合
请求聚合 即将多个API请求结果合并为一个返回。要实现请求聚合我们需要给其它参与的路由起一个Key。 { <span class="hljs-attr">"</span><span class="hljs-attr">ReRoutes": [ { "DownstreamPathTemplate": <span class="hljs-string">"/", "UpstreamPathTemplate": "/laura", "UpstreamHttpMethod": [ "Get&q...
Ocelot+Consul+.netcore高可用&动态伸缩
Ocelot 网关: publicclassStartup { publicStartup(IConfiguration configuration) { Configuration= configuration; } publicIConfigurationConfiguration{ get;} // This method gets called by the runtime. Use this method to add services to the container. publicvoidConfigureServices(IServiceCollection services) { var config =newConfigurationBuilder() .AddJsonFile("Ocelot.json",false,true) .Build(); services.AddOcelot(config).AddConsul(); servic...
使用Ocelot做网关
1首先创建一个json的配置文件,文件名随便取,我取Ocelot.json 这个配置文件有两种配置方式,第一种,手动填写 服务所在的ip和端口;第二种,用Consul进行服务发现 第一种如下: { "ReRoutes": [ { //转发处理格式 "DownstreamPathTemplate": "/api/{url}", "DownstreamScheme": "http", //手动指明ip和端口号 "DownstreamHostAndPorts": [ { "Host": "localhost", "Port": 6001 } ], //请求格式 "Ups...
consul+nginx完成集群服务动态发现和健康检查
前言 在《构建Consul集群》章节中介绍了如何实现consul集群的构建,通过对consul的进一步了解,其并没有提供的对cluster直接操作的client-api,故需要针对Consul集群构建一个统一入口,但这个并不需要我们过多的担心,Consul的小伙伴Consul-Template正是为此而生,通过Nginx+ConsulTemplate能够非常方便的实现,本章将来介绍如何配置应用并验证。 本章概要 1、准备工作; 2、Nginx配置; 3、编写ctmpl模板; 4、启动服务; 5、高可用集群验证; 准备工作 1、环境: Client节点:WIN10(192.168.6.78); Server节点...