Web Analytics

使用nomad实现工作负载版本升级

书接上文。 在《使用nomad实现集群管理和微服务部署调度》一文中,我们介绍了使用nomad进行集群管理和工作负载调度的轻量级方案(相较于Kubernetes方案)。在本文中,我们继续对方案进行延展,介绍一下在nomad集群中工作负载版本升级的一些常用模式和实现方法,包括滚动升级、蓝绿部署和金丝雀部署。 一. 初始状态 ------- 这里我们利用基于tcp+sni路由(listener端口为99...

April 9, 2019 · 13 min · Tony Bai

记一次go panic问题的解决过程

一. Panic问题概述 ------------ 本周收到客户在bugclose上填写的一个issue:添加一个下发通道后,pushd程序panic并退出了!程序panic时输出的stacktrace信息摘录如下: panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: se...

April 4, 2019 · 7 min · Tony Bai

使用nomad实现集群管理和微服务部署调度

在“云原生”、“容器化”、“微服务”、“服务网格”等概念大行其道的今天,一提到集群管理、容器工作负载调度,人们首先想到的是Kubernetes。 Kubernetes经过多年的发展,目前已经成为了云原生计算平台的事实标准,得到了诸如谷歌、微软、红帽、亚马逊、IBM、阿里等大厂的大力支持,各大云计算提供商也都提供了专属Kubernetes集群服务。开发人员可以**一键**在这些大厂的云上创建k8s集...

March 30, 2019 · 22 min · Tony Bai

Go 1.12中值得关注的几个变化

Go team如期在2月末发布了Go 1.12版本。从Go 1.12的Release Notes粗略来看,这个版本相较于之前增加了go modules机制、WebAssembly支持的Go 1.11,变化略“小”。这也给下一个Go 1.13版本预留了足够的“惊喜”空间:)。从目前的plan来看,Go 1.13很可能落地的包括:Go2的几个proposals:Go 2 number literals...

March 2, 2019 · 9 min · Tony Bai

YAML入门:以创建一个Kubernetes deployment为例

YAML语言似乎已经成为了事实标准的“云配置”语言,无论是容器事实标准docker(主要是docker-compose使用)、SDN,还是容器编排王者kubernetes,又或是虚拟机时代的王者openstack采用的配置文件都是yaml文件格式。不过需要承认的是我个人最初刚接触yaml时还不是很适应(个人更适应json),在后续运维kubernetes时,每每都要去参考k8s doc中的各种k8...

February 25, 2019 · 13 min · Tony Bai