全栈工程师开发手册 (作者:栾鹏)
架构系列文章


官方地址:https://linkerd.io/2/getting-started/

步骤1:安装CLI

如果这是您第一次运行Linkerd,则需要将命令行界面(CLI)下载到本地计算机上。此CLI与Linkerd进行交互,包括将控制平面安装到Kubernetes集群上。

要安装CLI,请运行:

curl -sL https://run.linkerd.io/install | sh

或者,您可以直接通过Linkerd版本页面下载CLI 。

接下来,将linkerd客户端复制到环境变量目录下/usr/local/bin/下,并重命名为linkerd:这样就能在任何地方使用linker命令了

cp linkerd-stable-2.6.0 /usr/local/bin/linkerd

使用以下命令验证CLI是否已安装并正常运行:

linkerd version

您应该看到CLI版本,以及Server version: unavailable。这是因为您尚未在集群上安装控制平面。不用担心,您将很快安装控制平面。

步骤3:将Linkerd安装到群集上

现在您已经有了在本地运行的CLI和可以使用的集群,现在该将控制平面安装到其自己的名称空间中了(默认情况下为 linkerd)。为此,请运行:

linkerd install >> deploy-linker.yaml

该linkerd install命令将生成带有所有必要控制平面资源的Kubernetes清单。(如果需要,您可以检查输出!)。

deploy-linker.yaml文件中有部分镜像是无法拉取的,需要我们转为或制作为国内镜像. 我们可以使用github和阿里云仓库来制作成国内镜像,参考:https://blog.csdn.net/luanpeng825485697/article/details/83378731
我这里已经制作了部分版本的镜像

gcr.io/linkerd-io/web:stable-2.6.0
替换为
registry.cn-shenzhen.aliyuncs.com/luanpeng/gcr.io.linkerd-io.web:stable-2.6.0gcr.io/linkerd-io/proxy:stable-2.6.0
替换为
registry.cn-shenzhen.aliyuncs.com/luanpeng/gcr.io.linkerd-io.proxy:stable-2.6.0gcr.io/linkerd-io/proxy-init:v1.2.0
替换为
registry.cn-shenzhen.aliyuncs.com/luanpeng/gcr.io.linkerd-io.proxy-init:v1.2.0prom/prometheus:v2.11.1
替换为
registry.cn-shenzhen.aliyuncs.com/luanpeng/prom.prometheus:v2.11.1gcr.io/linkerd-io/grafana:stable-2.6.0
替换为
registry.cn-shenzhen.aliyuncs.com/luanpeng/gcr.io.linkerd-io.grafana:stable-2.6.0

这样在通过kubectl apply将清单插入其中将指示Kubernetes将这些资源添加到您的集群中,要求kubernetes在1.12版本以上。

根据群集的Internet连接速度,群集可能需要一两分钟才能提取Linkerd映像。发生这种情况时,我们可以通过运行以下命令来验证安装:

linkerd check

该命令将耐心等待,直到Linkerd已安装,正在运行并变得正常为止。

打开dashboard

本地代理的方式

linkerd dashboard &

开发 linkerd-web service的端口

为应用注入

1 命令注入

kubectl get -n yournamespace deploy -o yaml |linkerd inject - |kubectl apply -f -

此命令检索在yournamespace 名称空间中运行的所有部署,通过运行linkerd inject,然后将其重新应用于集群。该linkerd inject命令将注释添加到Pod规范,指示Linkerd添加(“注入”)数据平面的代理作为容器添加到Pod规范。

2 也可以通过手动添加后apply文件

也就是在deployment的spec/template中添加 annotations: linkerd.io/inject: enabled

spec:  selector:matchLabels:app: yourappversion: v1.0.0replicas: 2  template: metadata:annotations: linkerd.io/inject: enabled
#        linkerd.io/inject: disabled  禁用自动注入labels:app: yourappversion: v1.0.0spec:

注入效果

每个应用pod会增加两个容器

  • linkerd-init,一个Kubernetes 初始化容器 ,配置iptables为通过代理自动转发所有传入和传出的TCP流量。(请注意,如果已启用Linkerd CNI插件,则此容器不存在。)
  • linkerd-proxy,Linkerd数据平面代理本身。

与控制平面一样,可以验证所有数据在数据平面上的工作方式是否正常。要执行此检查,请运行:

linkerd -n yournamespace check --proxy

监控

linkerd -n yournamespace stat deploy        实时流量指标
linkerd -n yournamespace top deploy         查看每种请求的统计情况(次数,最大时延,最小时延等)
linkerd -n yournamespace tap deploy        查看每次请求的情况

而这些都是可以在web界面中查看到的,所以我们可以通过web界面查看.

同时在web界面还配有grafana显示

参考:https://mp.weixin.qq.com/s?__biz=MzIwNDIzODExOA==&mid=2650167427&idx=1&sn=dc219a9e725d371086065fc00e78182f&chksm=8ec1c4cab9b64ddc263d97e995a91be0f38628d2452c40d15421cfa4a5fe77ca643a8ef073e1&mpshare=1&scene=1&srcid=&sharer_sharetime=1572345436364&sharer_shareid=13fe4d560ad7f178a70a6b90efad8011#rd

Linkerd2安装和使用相关推荐

  1. 微服务架构系列文章、精品教程

    python工具 python相关工具使用技巧(pip) virtualenv虚拟独立python环境使用 Python下APScheduler的快速指南 python文件夹,文件监听工具(pyino ...

  2. Linkerd2入门

    目录 1. 引言 2. Linkerd入门 2.1 安装Linkerd CLI(Command Line Interface)工具 2.2 安装Linkerd控制平面Control Plane 2.3 ...

  3. 安装kubernetes_如何在Kubernetes中安装和使用Linkerd

    安装kubernetes The author selected the Tech Education Fund to receive a donation as part of the Write ...

  4. Kubernetes生产实践系列之二十二:Service Mesh之在Kubernetes部署Linkerd2进行service mesh

    一.前言 service mesh是为复杂微服务系统提供基础设施服务的方法,支持Kubernetes的service mesh实现包括文章<kubernetes系列之十八:使用helm安装ist ...

  5. Rancher极简service mesh产品Rio安装试玩(基于k3s)

    1.简介: istio 是 service mesh 界的明星项目,今天要试玩的是它的低配版Rio. Rio 是Rancher新出的一款轻量级service mesh产品,基于linkerd2,相当轻 ...

  6. linux环境下nacos的安装+启动,阿里云服务器安装nacos

    nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...

  7. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败

    [Alibaba Cloud Linux 2.1903 LTS 64位]服务器yum源下载404 failure: repodata/repomd.xml from docker-ce-stable: ...

  8. Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!

    最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...

  9. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

最新文章

  1. DeepFake 新高度:一阶运动模型让“万物皆可动”
  2. Eclipse中安装HibernateTools插件
  3. php通用的树型类创建无限级树型菜单
  4. Linux20180528
  5. m.2接口和nvme区别_透明款散热不好,那么ORICO 全铝NVMe固态硬盘盒了解一下?
  6. java学习(82):静态代码块内部类
  7. vue项目中vue-router的使用
  8. NLP高阶实战必读:一文走遍完整自然语言处理流程 文章
  9. [Unity3D]Unity3D圣骑士模仿游戏开发传仙灵达到当局岛
  10. 面试疑点:几道题答了一个小时,应该是等答案
  11. 快速跳转到行首/行尾 快捷键
  12. 联想官方OEM分区制作
  13. py从入门到实践 第四章
  14. 快递单打印专家 免费
  15. 步行速度快慢测试软件,超准!风靡跑圈的5公里跑步测试,进来看看你是哪个等级!...
  16. Eclipse无法启动
  17. 上网课用哪种耳机好、长时间听网课耳机推荐
  18. Python自动获取邮箱验证码【上集】
  19. 实验四:无向图最短路径搜索
  20. 电脑增加内存修改注册表,让你的电脑快到停不下来

热门文章

  1. 一种提升语音识别准确率的方法与流程
  2. pythonsocket自定义协议_Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器...
  3. vue的介绍及基本使用(详细,好理解,示例代码)
  4. ES6字符串的扩展方法~超详细哦
  5. java swing html_Swing中如何使用HTML按钮
  6. 图解FFMPEG打开媒体的函数avformat_open_input
  7. idea git和svn间切换
  8. MyBatis扫描mapper
  9. DB2数据库连接问题:java.lang.NoClassDefFoundError
  10. 【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印