Linkerd 是 Service Mesh(服务网格)技术的一个实现,另一个实现是 Istio。Linkerd 技术最早由 Twitter 公司贡献,而 Istio 背景更大,由 Google、IBM 等公司贡献。
计算机领域有这么一句话:没有什么问题不是抽象出一层解决不了的。如果有,那就再抽象一层。服务网格就是使用了这样的思想,抽象出专门的一层,提供服务治理领域所需的服务注册发现、负载均衡、熔断降级、监控等功能。
闲话少数,进入Kubernetes部署Linkerd的正题。
目录
国人的障碍
按照官方文档,安装不过六步!
按照的第三步直接卡死,原因只有一个:gcr.io 这个google提供的容器仓库无法访问!
跨越极限
- 代理比较难配置,因为kubernetes支持不够给力;
- 自备梯子上网,好吧,你是人生赢家;
- 利用docker hub网站中转,经济实惠!
我这里采用中转
已经成功拉取linkerd的2.1.0版本:
# tagname 包含: proxy、proxy-init、web、controller、grafana、prometheus
docker push webmote/linkered:tagname
中转时访问github遇到一个配置问题,摘录如下:
建立docker register
docker push 192.168.232.202:5000/proxy
docker push 192.168.232.202:5000/proxy-init
docker push 192.168.232.202:5000/web
docker pull 192.168.232.202:5000/controller
docker pull 192.168.232.202:5000/grafana
docker pull 192.168.232.202:5000/prometheus
修改第三步的文件
linkerd install > linkerd.yaml
# 替换所有的gcr.io/linkerd-io 为私有仓储地址
一路安装,OK
kubectl -n linkerd get deploy
=========================以下是输出结果========================
NAME READY UP-TO-DATE AVAILABLE AGE
linkerd-controller 1/1 1 1 26m
linkerd-grafana 1/1 1 1 26m
linkerd-prometheus 1/1 1 1 26m
linkerd-web 1/1 1 1 26m