📅 2018-12-05
Hubot是Github开发并开源的chatbot,将其部署到运维环境中后,可通过编写自定义的脚本,将之前的web端、shell命令等人工进行的运维工作,通过聊天工具交给机器人来代替。
搭建hubot本地开发环境
#
安装Node.js:
下载Node.js LTS的Binary版本:https://nodejs.org/en/download/current/。将binary压缩包解压缩到安装目录NODE_INSTALL_PATH
中。 设置环境变量NODE_HOME
指向到解压缩后的目录,并设置PATH环境变量包含NODE_HOME
。
...📅 2018-11-06
Go语言interface的运行时实现的源码位于$GOROOT/src/runtime/runtime2.go
中。
在Go的不同版本中,interface的实现可能会有不同,但整体结构变化不大,本文基于Go 1.17。
1.两类接口的运行时实现
#
可以在runtime/runtime2.go
中找到Go的接口类型变量在运行时的表示,如下是iface
和eface
两个结构体:
...📅 2018-11-05
1.istio sidecar代理默认只处理集群内部的目标
#
先做一个测试,首先将default namespace开启sidecar代理的自动注入:
1kubectl label namespace default istio-injection=enabled
部署sleep示例应用:
1kubectl apply -f samples/sleep/sleep.yaml
sleep应用启动后,进入到容器内部,使用curl访问http://httpbin.org/uuid,出现404:
...📅 2018-11-02
ECMAScript Modules(ES Modules)是ECMAScript 6(ES6)规范中引入的一项重要特性,于2015年发布。ES6是ECMAScript标准的第六个版本,也被称为ECMAScript 2015。
ES Modules提供了一种新的模块系统,以改进JavaScript中模块化的方式。它引入了import
和export
关键字,允许开发者更方便地组织和管理JavaScript代码。
...📅 2018-10-24
在Kubernetes中,可以使用Ingress资源将集群内部的Service暴露到集群外部,可参见之前整理的《Kubernetes Ingress实战》。
而Istio这个Service Mesh则推荐使用另一个更好的配置模型,即Istio Gateway。Istio Gateway可以允许我们将Istio的功能(如:监控和路由规则)应用到进入集群的流量。
...📅 2018-10-22
Kubernetes 1.8关于资源使用情况的metrics(例如容器的CPU和内存),可以通过Metrics API获取到。
前面在做Kubernetes 1.11的升级工作时,Kubernetes 1.11已经废弃heapster那套监控的东东。因此是时候了解一下Kubernetes的Metrics API和Metrics Server了。
...📅 2018-10-21
前面我们基于Keepavlied实现了Kubernetes集群边缘节点的高可用,详见《Kubernetes Ingress实战(四):Bare metal环境下Kubernetes Ingress边缘节点的高可用》。当kube-proxy开启了ipvs模式后,可以不再使用keepalived,ingress controller的采用externalIp的Service,externalIp指定的就是VIP,由kube-proxy ipvs接管。试验环境如下:
...📅 2018-10-20
IPVS(IP Virtual Server)是lvs项目的一部分,作为Linux内核的一部分,提供4层负载均衡器的功能,即传输层负载均衡。ipvs运行在主机内核中,作为真是服务器集群前的负载均衡器,将到对服务的请求转发到真实的服务器上,并将多个ip的真实服务器集群的服务显示为单个ip的虚拟机服务。
...📅 2018-10-12
1.Kubernetes基于DNS的服务发现
#
在Kubernetes集群推荐使用Service Name作为服务的访问地址,因此需要一个Kubernetes集群范围的DNS服务实现从Service Name到Cluster Ip的解析,这就是Kubernetes基于DNS的服务发现功能。
...📅 2018-10-03
Kubernetes 1.12已经发布。我们线上的版本升级都是按照比官方低一个版本的节奏。
因此可以开始考虑将团队线上环境的Kubernetes集群从1.10升级到1.11了。
本文记录了在测试环境中的演练过程。
1.准备
#
当前Kubernetes 1.11的小版本是1.11.3。
在升级之前一定要多读几遍官方的升级须知Kubernetes 1.11 - Action Required Before Upgrading。
...