YML

减少运维工作量,如何通过 ROS 轻松实现资源编排新方式

不问归期 提交于 2020-09-24 06:00:59
简介: 以“基础设施即代码”的理念代替“重复劳动”。 在日常工作中,我们一定遇到过需要快速构建系统的工作情形: 作为资源管理人员,需要接收一定数量以及配置的资源申请,这些申请要求网络、存储设备按需到位; 作为开发人员,需要将一套开发环境,复制一份测试环境以及线上环境; 架构师规划一套系统,需要在云上进行搭建。 这些场景都展现着我们日常所遇的各种困难: 对各类云端资源需要进行广泛支持与管理 :这其中需要包括常用基础IaaS 资源及 PaaS 服务,比如主机、路由器、负载均衡器等计算网络资源以及各种数据库、缓存、大数据、存储服务; 资源编排使用难度大 :技术栈复杂而难用,实现复杂拓扑关系需要系统化知识与丰富经验; 大量机械重复的手动配置操作 :不仅是各资源及其拓扑关系按配置进行手工部署,各资源间的拓扑关系更是令人头疼; 学习成本高 :过往的资源管理依赖于通过命令行调用API 的方式,提升了操作难度和学习成本。 由此可见,自动化运维成了运维人员的业务刚需,各大云厂商也相继推出各自的资源编排服务(Resource Orchestration,以下简称 ROS)。ROS 的理念是“基础设施即代码”,一方面是用代码思维的版本管理来记录基础设施变化,另一方面通过代码实现自动化运维,简化编写代码复杂度,用户通过使用 Json / Yaml 格式模版描述多个云计算资源(如 ECS、RDS、SLB

阿里Sentinel支持Spring Cloud Gateway啦

感情迁移 提交于 2020-08-20 08:27:16
1. 前言 4月25号,Sentinel 1.6.0 正式发布,带来 Spring Cloud Gateway 支持、控制台登录功能、改进的热点限流和注解 fallback 等多项新特性,该出手时就出手,紧跟时代潮流,昨天刚发布,今天我就要给大家分享下如何使用! 2. 介绍(本段来自Sentinel文档) Sentinel 1.6.0 引入了 Sentinel API Gateway Adapter Common 模块,此模块中包含网关限流的规则和自定义 API 的实体和管理逻辑: GatewayFlowRule:网关限流规则,针对 API Gateway 的场景定制的限流规则,可以针对不同 route 或自定义的 API 分组进行限流,支持针对请求中的参数、Header、来源 IP 等进行定制化的限流。 ApiDefinition:用户自定义的 API 定义分组,可以看做是一些 URL 匹配的组合。比如我们可以定义一个 API 叫 myapi,请求 path 模式为 /foo/ 和 /baz/ 的都归到 myapi 这个 API 分组下面。限流的时候可以针对这个自定义的 API 分组维度进行限流。 其中网关限流规则 GatewayFlowRule 的字段解释如下: • resource:资源名称,可以是网关中的 route 名称或者用户自定义的 API 分组名称。 •

Springboot快速入门(一)

左心房为你撑大大i 提交于 2020-08-20 07:57:28
话说自己写java也有一段时间, 要说java快速开发, 首选的就是springboot, 给开发人员省去了很多的配置逻辑和tomcat启动和配置的烦恼, 如果大家是刚接触java, 还是不推荐大家直接上手学这个, 还是先去学习一下tomcat的启动和配置, 学习一下spring的一些基本知识和severlet的基本操作再来看这个吧.今天就把自己总结的springboot教教分享出来, 欢迎大家多多评论吧. 1. Spring Boot简介 Spring boot由pivotal团队(一家大数据公司)提供的全新框架, 具体设计的目的是用来简化新Spring应用的初始搭建一些开发过程, 该框架使用了特定的方式来进行配置, 从而使用开发人员不在需要定义复杂的配置, 通过这种方式, Springboot致力于在蓬勃发展的快速应用开发领域的领导者 简单来说, springBoot可以简化spring应用程序的开发, 是我们不在需要Spring配置文件及web.xml文件 说的更加简单一些, spring就是把内置在原来我们的springMVC的项目中的tomcat封装在了springboot中, 让我简化了开发工作. 1.1 Spring boot工程创建 创建一个spring boot工程 增加一个controller package com.abc.controller; import

实现SpringCloud之Eureka高可用注册中心

为君一笑 提交于 2020-08-20 05:39:08
在分布式微服务架构中,往往需要充分考虑发生故障的情况,因此在成产环境中必须对各个组件进行高可用部署,对于微服务如此,服务注册中心也是一样,我们需要构建高可用的服务注册中心从而提高系统的可用性。 Eureka Server服务注册中心的高可用实际上就是将自己作为服务注册中心注册自己,这样就可以形成一组相互注册的服务中心,以实现服务清单的互相同步,以此达到高可用的而效果。 第一步:创建EurekaServerApplication1.application.yml,作为EurekaServerApplication1服务中心的配置,将serviceUrl指向EurekaServerApplication2,配置如下: eureka : client : service-url : defaultZone : http://localhost:8762/eureka/ register-with-eureka : false spring : application : name : eureka-server 第二步:创建EurekaServerApplication2.application.yml,,作为EurekaServerApplication2服务中心的配置,将serviceUrl指向EurekaServerApplication1,配置如下: eureka :

idea+spring boot+spring cloud+eureka+gateway

て烟熏妆下的殇ゞ 提交于 2020-08-19 23:20:00
1、创建一个maven项目 next Next Finish完成. 2、在创建好的maven项目上右键New->Module 选择Spring initializr创建eureka注册中心 Next Next Next Finish. 打开eureka-service项目下的application.properties配置文件,将.properties重命名为.yml,配置如下 server: port: 8001 #端口号 spring: application: name: eureka-service #服务名称 eureka: instance: hostname: localhost client: fetch-registry: false #是否从Eureka Server获取注册信息 register-with-eureka: false #是否将自己注册到Eureka Server service-url: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #服务地址 然后启动类中增加@EnableEurekaServer注解就可以了 package com.swift.eureka; import org.springframework.boot

alertmanager配置文件说明

半世苍凉 提交于 2020-08-19 22:09:30
alertmanager是通过命令行标记和配置文件配置的,命令行标记配置不可变的系统参数,配置文件定义抑制规则、通知路由和通知接收器。可以通过官方提供的 routing tree editor 查看配置的路由树详细信息 默认配置文件如下 [root@node00 ~]# cd /usr/local/prometheus/alertmanager/[root@node00 alertmanager]# cat alertmanager.yml.default global: resolve_timeout: 5m route: group_by: ['alertname'] group_wait: 10s group_interval: 10s repeat_interval: 1h receiver: 'web.hook'receivers:- name: 'web.hook' webhook_configs: - url: 'http://127.0.0.1:5001/'inhibit_rules: - source_match: severity: 'critical' target_match: severity: 'warning' equal: ['alertname', 'dev', 'instance'] 这个默认配置文件时通过一个webhook作为接受者

携程Apollo一键打包/部署方案

廉价感情. 提交于 2020-08-19 20:45:42
Apollo-docker 携程Apollo 一键打包/部署方案。 几乎不需要修改任何Apollo源码或配置,实现快速开发/测试环境搭建。 基于 Apollo 1.6.1 支持 Windows , Linux 1、下载源码 Apollo git clone https://gitee.com/nobodyiam/apollo.git 编译脚本 git clone https://gitee.com/ellipse/apollo-docker.git 项目目录结构: apollo-docker/ -- apollo/ <--预编译版 -- admin/ -- config/ -- portal/ -- apollo.env -- docker-compose.yml -- build/ <--编译脚本 -- gulpfile.js -- ... 2、环境准备 JDK 必不可少 Maven Apollo项目使用 Maven 构建。如果没安装maven,会调用 apollo 项目根目录下的 mvnw (会自动下载maven),但由于网络原因导致命令卡住。建议手动安装 maven 并配置环境变量,同时建议将仓库修改为国内仓库。 Node.js 脚本使用 Gulp 编写,需要 Node.js Docker 测试服务器需要安装 Docker 和 Docker compose 3、兼容性检查

Prometheus监控神器-Alertmanager篇(一)

笑着哭i 提交于 2020-08-19 17:28:59
警报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的。 警报规则在 Prometheus 定义 ,警报规则触发以后,才会将信息转发到给独立的组件Alertmanager ,经过 Alertmanager r对警报的信息处理后,最终通过接收器发送给指定用户,另外在 Alertmanager 中没有通知组的概念,只能自己对软件重新Coding, 或者使用第三方插件来实现。 注意,这个通知组不是Alertmanager中的group概念,下面会详细讲 Group ,不要混淆哦。 前面已经介绍过一些关于 Alertmanager 知识点,本章开始针通过安装 Alertmanager 组件,对配置文件做详细说明,同时介绍 Prometheus 的警报规则的定义,最后使用Email、Wechat(Robot)、Dingtalk(webhook)来接受警报通知。 一、Alertmanager工作机制 在Prometheus生态架构里,警报是由独立的俩部分组成,可以通过上图很清晰的了解到 Prometheus 的警报工作机制。其中 Prometheus 与 Alertmanager 是分离的俩个组件。我们使用Prometheus Server端通过静态或者动态配置 去拉取 pull 部署在k8s或云主机上的各种类别的监控指标数据,然后基于我们前面讲到的

基于Spring Boot 和Spring Cloud和Docker的微服务架构项目实战

对着背影说爱祢 提交于 2020-08-19 17:11:38
项目名称 piggymetrics 转发+关注,然后私信回复关键字 “项目”即可获得《 piggymetrics 》的源码地址 项目简介 这是一个教程项目,演示了使用Spring Boot,Spring Cloud和Docker的微服务架构模式。顺便说一下,拥有漂亮的用户界面。 功能服务 PiggyMetrics被分解为三个核心微服务。它们都是围绕某些业务领域组织的可独立部署的应用程序。 开户服务 包含一般用户输入逻辑和验证:收入/支出项目,储蓄和账户设置。 统计服务 对主要统计参数执行计算,并捕获每个账户的时间序列。数据点包含以标准化为基础货币和时间段的值。此数据用于跟踪账户生命周期中的现金流动态。 通知服务 存储用户的联系信息和通知设置(如提醒和备份频率)。计划工从其他服务收集所需的信息,并将电子邮件发送给订阅的客户。 笔记 每个微服务都有自己的数据库,因此无法绕过API并直接访问持久性数据。 在这个项目中,作者将MongoDB用作每个服务的主数据库。具有多语言持久性体系结构(选择最适合服务需求的db类型)也可能是有意义的。 服务到服务的通信已大大简化:微服务仅使用同步REST API进行通话。实际系统中的常见做法是使用交互样式的组合。例如,执行同步GET请求以检索数据,并通过消息代理使用异步方法进行创建/更新操作,以使服务和消息分离。但是,这将我们带到了最终的一致性世界。

详解k8s原生的集群监控方案(Heapster+InfluxDB+Grafana)

醉酒当歌 提交于 2020-08-19 09:55:59
1、浅析监控方案 heapster是一个监控计算、存储、网络等集群资源的工具,以k8s内置的cAdvisor作为数据源收集集群信息,并汇总出有价值的性能数据(Metrics):cpu、内存、network、filesystem等,然后将这些数据输出到外部存储(backend),如InfluxDB,最后再通过相应的UI界面进行可视化展示,如grafana。 另外heapster的数据源和外部存储都是可插拔的,所以可以很灵活的组建出很多监控方案,如:Heapster+ElasticSearch+Kibana等等。 Heapster的整体架构图: 2、部署 本篇我们将实践 Heapster + InfluxDB + Grafana 的监控方案 。使用官方提供的yml文件有一些小问题,请参考以下改动和说明: 2.1、创建InfluxDB资源对象 apiVersion: apps/v1 kind: Deployment metadata: name: monitoring-influxdb namespace: kube-system spec: replicas: 1 selector: matchLabels: task: monitoring k8s-app: influxdb template: metadata: labels: task: monitoring k8s-app: