k8s与HPA--基于水位线算法的 Pod AutoScaler

2019-11-29
阅读 4 分钟
3.8k
Watermark Pod Autoscaler (WPA) 控制器是一个自定义控制器,相比Horizontal Pod Autoscaler (HPA),扩展了很多功能。

BPFILTER--下一代Linux firewall

2019-11-25
阅读 2 分钟
11.1k
Linux社区一直在不断努力以增强GNU / Linux内核。当我们查看网络流量过滤时,我们从ipchains移到了iptables。最近,我们看到了nftable的引入。接下来的是BPFILTER,它是Linux 4.18内核开发工作的一部分。

探究EnvoyProxy的流量限制

2019-11-01
阅读 2 分钟
5.2k
Envoy已在服务网格和代理世界中获得了很多欢迎。这是一项了不起的技术,但有时有些难以理解。我一直在玩的一件事是使用Envoy来执行速率限制。幸运的是,限速是Envoy的头等公民。然而,阅读率限制的文档有很多概念,这就可能导致我们很难运行一个demo。经过探索,我对Envoy的限速理念和概念做一些总结。 Envoy允许我们同...

k8s与HPA--基于Kubernetes的事件驱动自动缩放

2019-10-27
阅读 8 分钟
6.9k
KEDA可以对事件驱动的Kubernetes工作负载进行细粒度的自动缩放(包括从零到零的自动缩放)。 KEDA充当Kubernetes Metrics服务器,允许用户使用专用的Kubernetes自定义资源定义来定义自动缩放规则。

通过tensorflow serving 和 kubernetes部署你的机器学习模型

2019-10-20
阅读 5 分钟
7.5k
机器学习应用程序正在蓬勃发展,但是数据工程师没有很多工具可以将这些强大的模型集成到生产系统中。在这里,我将讨论tensorflow serving如何帮助您加速在生产中交付模型。这篇博客文章是关于服务机器学习模型的-这是什么意思?

如何从单独的容器调试运行中的Docker容器

2019-10-19
阅读 3 分钟
3.7k
容器非常适合封装软件,但是有时一味地改造容器镜像以使其尽可能小时,您可能走得太远。我们需要在“简洁”的镜像和无法调试的镜像之间找到很好的平衡。

您需要了解的有关调试Docker容器的知识

2019-10-19
阅读 4 分钟
3k
调试Docker容器可能是一个非常具有挑战性的过程。在这里,我将分享一些调试容器的基本技术,主要是Docker的技术,但是这些技术也适用于许多其他类型的Linux容器引擎。我将在此处详细介绍的方法适用于基于Linux的系统。

通过持续交付提高生产率

2019-10-19
阅读 3 分钟
1.5k
当今软件开发领域的一个有趣特征是,尽管有些人认为“持续交付”已成定局,但仍有许多团队没有看到或正在努力实现收益。release少量功能的想法通常看起来像是一种简单的解决方案,可以减轻因大量风险性发布而带来的痛苦,我们以此方式解决了非常困难的障碍。

Tekton Pipelines--Task

2019-10-18
阅读 10 分钟
3.9k
自定义资源是Kubernetes API的扩展,可以创建自定义Kubernetes对象。安装自定义资源后,用户可以使用kubectl创建和访问其对​​象,就像对pod,部署等内置资源一样。这些资源在集群上运行,并由Kubernetes自定义资源定义(CRD)实施。

Dapr,一个可让每个开发人员更轻松地构建微服务应用程序的开源项目

2019-10-17
阅读 4 分钟
13.3k
令人惊讶的是,在过去几年中,越来越多的开发人员转向利用托管服务来部署和运行可扩展的云原生应用程序。通过这种转变,微服务架构已成为构建云原生应用程序的标准,并且可以预见,到2022年,将有90%的新应用程序采用微服务架构。微服务架构提供了令人信服的好处,包括可伸缩性,松散的服务耦合和独立部署,但是这种方...

利用envoy实现安全地在运维平台显示grafana图表

2019-10-11
阅读 4 分钟
3.9k
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。在实际的运维统一平台中,经常需要将grafana的图表集成进来。之所以不选择自己利用echart自己实现,主要有以下两个原因:

TensorFlow2.0正式Release

2019-10-01
阅读 2 分钟
3k
喜大普奔,在祖国70岁生日的这一天,TensorFlow2.0正式Release,本文主要介绍一下TensorFlow2.0的新特性。TensorFlow 1.15 官方已经宣布该版本是1.X的最后一个版本了。

k8s与dns--coredns的一些实战经验

2019-09-17
阅读 2 分钟
10.2k
安装新版本k8s,coredns已经成为默认dns了。之前是kube-dns。coredns是一个灵活,可扩展的DNS服务器,可以作为Kubernetes集群DNS。与Kubernetes一样,CoreDNS项目由CNCF主持。但是在实际使用中,需要一些注意的地方。

k8s与存储--flexvolume解读

2019-09-07
阅读 3 分钟
9.8k
k8s 非常厉害的地方就在于可扩展性,而存储领域,支持flexvolume 和 csi 两种方式来进行扩展。今天主要讲下flexvolume。FlexVolume 是 Kubernetes v1.8+ 支持的一种存储插件扩展方式。类似于 CNI 插件,它需要外部插件将二进制文件放到预先配置的路径中(如 /usr/libexec/kubernetes/kubelet-plugins/volume/exec/),并...

浅谈OpenTelemetry的意义

2019-07-27
阅读 2 分钟
9.1k
之前一直在思考对于一家互联网公司如何实战落地AIOPS,曾经在某厂践行过一些关于融合监控,日志和trace三个领域,然后结合算法实现AIOPS的工作。冥冥之中,总感觉国外某些大厂,会折腾出一个标准,至于这个标准是什么,却不能特别清晰地说出来。直到看到OpenTelemetry这个项目,结合自己之前的经历,感觉这个项目对于运...

k8s与Admission--webhook admission

2019-07-22
阅读 6 分钟
4.7k
Kubernetes 对 API 访问提供了三种安全访问控制措施:认证、授权和 Admission Control。认证解决用户是谁的问题,授权解决用户能做什么的问题,Admission Control 则是资源管理方面的作用。通过合理的权限管理,能够保证系统的安全可靠。

配置 spring boot 2.X 支持 prometheus metrics

2019-04-30
阅读 11 分钟
9.1k
实际项目中,提供metrics接口,对接公司的监控系统,增加服务的可观察性,是一个基本的要求。在spring boot 1.X 中集成prometheus metrics,非常简单。但是spring boot 2.X 颇费周折。因为prometheus官方提供的prometheus-client-java不兼容spring boot 2.X 。需要借助micrometer。

k8s与aws--add-ebs-tags-controller为ebs增加tag

2019-04-15
阅读 3 分钟
3.3k
在使用aws的托管k8s--eks过程中,避免不了使用aws的LB和块存储。AWS公有云所有的资源都可以自定义tags,这样的好处就是可以根据tag具体含义来对资源进行不同维度的审计和统计。比如按照部门,按照项目,环境(test,prod,uat)等维度。在设置service的类型为Loadbanlance的时候,可以通过以下annotations来自定义tag。

k8s与configmap--安利configmap-reload组件

2019-03-10
阅读 3 分钟
8.4k
在kubernetes集群内,当ConfigMap以volume形式挂载到pod内时,更新ConfigMap,kubernetes会自动同步被挂载到pod内的文件内容。当然并不是更改立即生效的,大约是需要10S钟后,才会生效。实际生产使用案例中,假如你的应用具备hot reload 功能, 这时可以增加一些监测配置文件变更的脚本,然后reload对应服务。比如prometh...

gRPC实战--grpc服务健康检查最佳实践

2019-03-02
阅读 2 分钟
13.6k
gRPC实战包含一系列文章,包括原创和翻译。最终会形成一个完整的系列,后续会不断完善,增加新的内容: gRPC简介:why,what,how? gRPC服务健康检查最佳实践 Kubernetes中使用envoy负载均衡gRPC流量 用Golang编写通过gRPC进行通信的服务 如何在NodeJS中有效使用gRPC流 ==================================================...

使用Envoy 作Sidecar Proxy的微服务模式-5.rate limiter

2019-03-01
阅读 5 分钟
4.4k
本博客是深入研究Envoy Proxy和Istio.io 以及它如何实现更优雅的方式来连接和管理微服务系列文章的一部分。 这是接下来几个部分的想法(将在发布时更新链接): 断路器(第一部分) 重试/超时(第二部分) 分布式跟踪(第三部分) Prometheus的指标收集(第四部分) rate limiter(第五部分) 第五部分 - rate limiter Env...

使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集

2019-02-28
阅读 44 分钟
4.1k
本博客是深入研究Envoy Proxy和Istio.io 以及它如何实现更优雅的方式来连接和管理微服务系列文章的一部分。 这是接下来几个部分的想法(将在发布时更新链接): 断路器(第一部分) 重试/超时(第二部分) 分布式跟踪(第三部分) Prometheus的指标收集(第四部分) rate limiter(第五部分) 第四部分 - 使用Prometheus搜...

k8s与监控--k8s部署grafana6.0

2019-02-28
阅读 20 分钟
7.3k
前言 本文主要介绍最新版本grafana6.0的一些新特性和如何部署到k8s当中。 grafana6.0简介 Grafana的这一更新引入了一种新的查询展示数据的方式,支持日志数据和大量其他功能。 主要亮点是: Explore - 一个新的查询工作流,用于临时数据探索和故障排除。 Grafana Loki - 与Grafana Labs的新开源日志聚合系统集成。 Gauge...

NATS--NATS Streaming持久化

2019-02-26
阅读 19 分钟
11k
最近项目中需要使用到一个消息队列,主要用来将原来一些操作异步化。根据自己的使用场景和熟悉程度,选择了NATS Streaming。之所以,选择NATS Streaming。一,因为我选型一些中间件,我会优先选取一些自己熟悉的语言编写的,这样方便排查问题和进一步的深究。二,因为自己一直做k8s等云原生这块,偏向于cncf基金会管理的...

使用Envoy 作Sidecar Proxy的微服务模式-3.分布式追踪

2019-02-23
阅读 4 分钟
3k
本博客是深入研究Envoy Proxy和Istio.io 以及它如何实现更优雅的方式来连接和管理微服务系列文章的一部分。 这是接下来几个部分的想法(将在发布时更新链接): 断路器(第一部分) 重试/超时(第二部分) 分布式跟踪(第三部分) Prometheus的指标收集(第四部分) rate limiter(第五部分) 第三部分 - 使用envoy proxy ...

使用Envoy 作Sidecar Proxy的微服务模式-2.超时和重试

2019-02-22
阅读 5 分钟
4.6k
本博客是深入研究Envoy Proxy和Istio.io 以及它如何实现更优雅的方式来连接和管理微服务系列文章的一部分。 这是接下来几个部分的想法(将在发布时更新链接): 断路器(第一部分) 重试/超时(第二部分) 分布式跟踪(第三部分) Prometheus的指标收集(第四部分) rate limiter(第五部分) 第一部分 - 使用envoy proxy ...

使用Envoy 作Sidecar Proxy的微服务模式-1.熔断

2019-02-22
阅读 6 分钟
4.3k
本博客是深入研究Envoy Proxy和Istio.io 以及它如何实现更优雅的方式来连接和管理微服务系列文章的一部分。 这是接下来几个部分的想法(将在发布时更新链接): 断路器(第一部分) 重试/超时(第二部分) 分布式跟踪(第三部分) Prometheus的指标收集(第四部分) rate limiter(第五部分) 第一部分 - 使用envoy proxy ...

k8s与HPA--通过 Prometheus adaptor 来自定义监控指标

2019-02-13
阅读 18 分钟
11.9k
自动扩展是一种根据资源使用情况自动扩展或缩小工作负载的方法。 Kubernetes中的自动缩放有两个维度:Cluster Autoscaler处理节点扩展操作,Horizo​​ntal Pod Autoscaler自动扩展部署或副本集中的pod数量。 Cluster Autoscaling与Horizo​​ntal Pod Autoscaler一起用于动态调整计算能力以及系统满足SLA所需的并行度。虽然...

k8s与etcd--备份etcd数据到s3

2019-01-18
阅读 4 分钟
5.1k
整个k8s诸多组件几乎都是无状态的,所有的数据保存在etcd里,可以说etcd是整个k8s集群的数据库。可想而知,etcd的重要性。因而做好etcd数据备份工作至关重要。这篇主要讲一下我司的相关的实践。

k8s与log--利用lua为fluent bit添加一个filter

2019-01-14
阅读 5 分钟
5.5k
之前我们介绍过fluent bit这个日志收集神器。最近我们遇到奇葩的需求,不得不利用lua编写fluent bit的filter,来满足需求。