Tag Archives | cloud

kubernetes liveness probe 流程

1 概述

kubernetes提供了的Probe可以进行健康检查。
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
对pod中的每个容器通过配置liveness或者readiness。
当liveness probe failed后,该container会杀掉,并重新创建;而readinessProbe失败,则该pod ip 会从service的endpoints列表中删除,即隔离到该后端的请求。
如liveness 配置如下:

文中尝试端到端的看下整个过程有哪些组件参与进来,怎么配合工作的。

2 配置

pkg/api/types.go#Probe结构描述了Probe的[......]

阅读全文

Tags: , ,

Comments { 0 }

内推职位–华为云计算

 

发布一个招聘信息,有意向的同学简历可以发到下面的两个邮箱,机会比较好,部门正在扩大规模。

部门:华为云计算PaaS

职位:云计算开发工程师,架构师,解决方案架构师,测试工程师,测试架构师

技术关键字:Kubernetes、Mesos、Openstack、Docker、Kafka、Redis、Nginx、Netflix等。

开发语言:GO、Java、C/C++、Python等

要求:本科以上,5年+

Base:杭州、深圳、西安、北京、南京

加分:了解熟悉AWS、AZURE、GAE等相关

级别:15,16,17,18。。。

 

Mail:idouba@idouba.net  cc: zhangchaomeng@huawei.com

Tags: , ,

Comments { 1 }

Netflix源码解析之Ribbon:Ribbon的区域亲和性(Zone Affinity)

前面文章介绍了通过ribbon集成eurekaclient来获取注册的服务列表。
其实仔细观察DynamicServerListLoadBalancer更新server的方法updateListOfServers会发现,在动态的从erueka 获取注册服务器后,还会用一个filter对得到的server列表再进行过滤。这个filter从配置获取,如果没有,默认是ZoneAffinityServerListFilter。根据配置会选择和服务消费者在一个zone的服务(术语区域感知,Zone Affinity),这样一般可以降低延迟。

 

检查server的zone属性,只是选择本区域的server。

根据配置会选择和服务消费者在一个zo[......]

阅读全文

Tags: , , ,

Comments { 0 }

Netflix源码解析之Ribbon:负载均衡策略的定义和实现

上篇文章说到LB是通过负载均衡策略来实现后端服务的选择的。

Ribbon负载均衡策略定义

IRule其实就只做了一件事情Server choose(Object key),可以看到这个功能是在LB中定义(要求)的,LB把这个功能委托给IRule来实现。不同的IRule可以向LB提供不同的负载均衡算法。

com.netflix.loadbalancer包下面的提供了常用的几种策略。有RoundRobinRule、RandomRule这样的不依赖于Server运行状况的策略,也有AvailabilityFilteringRule、WeightedResponseTimeRule等多种基于收集到的Server运行状况决策的策略。判断运行状况时有,判断单个server的,也有判断整个zone的,适用于各种不同场景需求。[......]

阅读全文

Tags: , , , ,

Comments { 2 }

Netflix源码解析之Ribbon:看客户端如何使用Ribbon

前面描述了netfix的ribbon基本功能和其实现方式。这里从调用的地方入手跟踪下ribbon使用的过程,了解下ribbon是如何被使用的。

关注下AbstractLoadBalancerAwareClient,一个集成了一个ribbon,因而具备客户端负载均衡功能的客户端抽象父类。下面的com.netflix.niws.client.http.RestClient和org.springframework.cloud.netflix.feign.ribbon.FeignLoadBalancer都是在继承这个抽象类的基础上实现一个有负载均衡功能的客户端。 如SampleApp.java提供的这个例子中,就是使用了RestClient。

调用的入口是com.netflix.client.AbstractLoadBalancerAwareClient.executeWithLoad[......]

阅读全文

Tags: , , , ,

Comments { 1 }