Prometheus

Kubernetes 部署策略详解

佐手、 提交于 2020-10-04 03:28:02
在 Kubernetes 中有几种不同的方式发布应用,所以为了让应用在升级期间依然平稳提供服务,选择一个正确的发布策略就非常重要了。 选择正确的部署策略是要依赖于我们的业务需求的,下面我们列出了一些可能会使用到的策略: 重建(recreate):停止旧版本部署新版本 滚动更新(rolling-update):一个接一个地以滚动更新方式发布新版本 蓝绿(blue/green):新版本与旧版本一起存在,然后切换流量 金丝雀(canary):将新版本面向一部分用户发布,然后继续全量发布 A/B测(a/b testing):以精确的方式(HTTP 头、cookie、权重等)向部分用户发布新版本。 A/B测 实际上是一种基于数据统计做出业务决策的技术。在 Kubernetes 中并不原生支持,需要额外的一些高级组件来完成改设置(比如Istio、Linkerd、Traefik、或者自定义 Nginx/Haproxy 等)。 你可以在 Kubernetes 集群上来对上面的这些策略进行测试,下面的仓库中有需要使用到的资源清单: https://github.com/ContainerSolutions/k8s-deployment-strategies 接下来我们来介绍下每种策略,看看在什么场景下面适合哪种策略。 重建(Recreate) - 最好在开发环境 策略定义为 Recreate 的

MQTT Broker 服务器选型

做~自己de王妃 提交于 2020-10-03 09:45:51
MQTT Broker 服务器选型 EMQ-X HiveMQ ActiveMQ Mosquitto License 开源+商用 开源+商用 开源 开源 公司 杭州映云科技 dc-square ,德国 Apache 项目维护者 Eclipse 开源社区 开发语言 Erlang Java Java C 连接数 开源 十万级 ,商用 百万级 开源25个,商用 百万级 千万级 系统性能 单机十万 单机百万 集群千万 支持集群 协议支持 MQTT、CoAP、MQTT-SN、WebSocket、LwM2M MQTT MQTT、JMS、Openwire、Stomp、AMQP、WebSocket XMPP MQTT、WebSocket MQTT 5.0 √ √ × √ 认证鉴权 TLS/DTLS、ClientID/IP地址/用户密码认证、根据IP地址/ClientID/用户名访问控制LDAP/Redis/MySQL/MongoDB/PostgreSQL/HTTP API认证 TLS/DTLS、X.509证书、JWT、OAuth2.0、应用协议(ID/用户名/密码)、配置文件形式的认证与 ACL 功能 LDAP (JAAS)、Apache Shiro × 规则引擎 开源支持 基础规则引擎 ,商用支持 增强规则引擎 × × × 消息存储 开源 不支持 ,商用支持Redis、MySQL、MongoDB

Prometheus监控PHP-FPM

可紊 提交于 2020-10-02 20:34:25
一、概述 启用php-fpm状态功能 php-fpm 和 nginx 一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助。为了后续的Prometheus监控,我们需要先了解php-fpm状态页是怎么回事。 在上一篇文章中,已经开启了php-fpm状态,链接 如下: https://www.cnblogs.com/xiao987334176/p/12918413.html pm.status_path = /fpm_status nginx配置 上篇文章中,也对nginx默认主机添加了配置 location ~ ^/(fpm_status| health)$ { fastcgi_pass 192.168 . 31.34 : 9000 ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 访问php-fpm状态页面 http://192.168.31.34/fpm_status 效果如下: php-fpm status详解 pool-fpm 池子名称,大多数为www process manager – 进程管理方式,值:static, dynamic or ondemand. dynamic start time –

Kubernetes Operator基础入门

夙愿已清 提交于 2020-10-02 00:55:44
本文转自 Rancher Labs 你是否曾经想过SRE团队是如何有效地成功管理复杂的应用?在Kubernetes生态系统中,Kubernetes Operator可以给你答案。在本文中,我们将研究Operator是什么以及它们如何工作。 Kubernetes Operator这一概念是由CoreOS的工程师于2016年提出的,这是一种原生的方式来构建和驱动Kubernetes集群上的每一个应用,它需要特定领域的知识。它提供了一种一致的方法,通过与Kubernetes API的紧密合作,自动处理所有应用操作过程,而不需要任何人工干预。换句话说,Operator是一种包装、运行和管理Kubernetes应用的方式。 Kubernetes Operator模式遵循Kubernetes的核心原则之一:控制理论(control theory)。在机器人和自动化领域,它是一种持续运行动态系统的机制。它依赖于一种快速调整工作负载需求的能力,进而能够尽可能准确地适应现有资源。其目标是开发一个具有必要逻辑的控制模型,以帮助应用程序或系统保持稳定。在Kubernetes世界中,这部分由controller处理。 在循环中,Controller是个特殊的软件,它可以对集群的变化做出响应,并执行适应动作。第一个Kubernetes controller是一个kube-controller-manager

选型必看:监控K8S和Docker的热门开源工具

血红的双手。 提交于 2020-10-01 19:12:28
Kubernetes和Docker是在DevOps圈中最常听到的两个词。Docker是一个工具,它使你能够以容器化的方式运行应用程序,Kubernetes是一个用于编排、管理容器的平台——如果你想使用Docker CLI去手动地管理数千个容器,这是不切实际的。 然而,仅仅通过Kubernetes管理并运行数千个容器是不够的,你还需要监控这些容器,以确保服务处于最佳运行状态。这一过程被称为网站可靠性工程(Site Reliability Engineering),是由谷歌提出并推广的一个术语。可观测性和分析性是SRE的重要组成部分。它可细分为以下三个部分: 监踪: 从应用程序和宿主机中提取数值指标,这些指标可以被可视化和分析,以显示资源的当前状态。一旦提取到了数值指标,就可以使用它们来设置告警规则、促进分析和调试,并更好的做出决策; 日志: 帮助开发人员在容器发生故障时,排除出错原因。容器日志随着容器生命周期的结束也就消失了。Kubernetes和Docker确实提供了一种浏览容器日志的方式,但是它的功能非常有限。因此,在任何以容器构成的环境中,集中式的管理日志是必须的; 跟踪: 帮助你调试在网络上运行的服务,并跟踪请求链路,直到找到问题的根源。在微服务体系结构中,当多个服务/容器相互发送请求以完成一个业务任务时,需要一个适当的跟踪解决方案。 本文将详细讲解六个最热门的开源工具

SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可监控)

夙愿已清 提交于 2020-10-01 12:59:39
作者 | 骐羽 阿里巴巴技术专家 导读 :本篇是“SpringCloud 应用在 Kubernetes 上的最佳实践”系列文章的第六篇,主要介绍了如何保障生产环境服务稳定,做到随时发布,从而加快业务的迭代和上线速度。 相关文章推荐: 《SpringCloud 应用在 Kubernetes 上的最佳实践 —— 开发篇》 《SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(开发部署)》 《SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(工具部署)》 《SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可灰度)》 《SpringCloud 应用在 Kubernetes 上的最佳实践 — 诊断(线上联调)》 前言 在应用发布上线的时候我们最担心的莫过于因为代码的 bug 引发业务的问题,虽然我们可以通过灰度的方式分批发布减小影响范围,但是如果能够在发布的过程中从实时监控中快速的发现问题进行回滚,那么就能缩短业务受影响的时间。因此我们可以看到 灰度、监控、回滚是整个发布过程中不可或缺的三大利器 ,有了这三大利器后,我们能够做到随时发布,从而加快业务的迭代和上线速度。而监控作为基础设施的一个重要环节,是保障生产环境服务稳定不可或缺的一部分,目前 EDAS 提供了非常丰富的监控能力

科学怪物!3D人体全身运动捕捉系统,港中文联合Facebook出品

空扰寡人 提交于 2020-10-01 02:04:59
     作者 | VVingerfly   编辑 | 陈大鑫   3D人体姿态和形状估计在最近几年是一个重要的研究热点,但大部分工作仅仅关注人体部分,忽略了手部动作,港中文联合Facebook AI研究院提出了一种从单张图片同时估计人体姿态和手部动作的新方法,展示效果好似科学怪物。      如下图左下和右下所示,易看出本文提出的方法姿态估计效果更好。       1    介绍   本文作者提出了一个3D人体全身运动捕捉系统 FrankMocap,能够从单目视频同时估计出3D人体和手部运动,在一块GeForce RTX 2080 GPU上能够达到 9.5 FPS。 作者提到 “FrankMocap” 是对现代普罗米修斯 (The Modern Prometheus)中科学怪人 (Frankenstein) 的怪物的致敬。   人们每天会拍大量的日常活动视频上传到网络,如果有一种基于普通摄像头的运动捕捉系统,能够捕捉视频中人体的运动,将在人机交互、人工智能、机器人等众多方向有所应用。   同时捕捉人体和人手的运动对这些应用同样重要,但人手只占身体的很小一部分,要想直接捕捉两者的运动是一个很难的问题。当前的大部分相关工作都只顾及图片中人体的3D姿态,忽略图片中人手的动作。有部分工作关注从单张图片同时估计人体的全身运动,但这些工作都是基于优化的方法,将参数化的人体模型拟合到图像信息