Linkerd2安装和使用
全栈工程师开发手册 (作者:栾鹏)
架构系列文章
官方地址: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安装和使用相关推荐
- 微服务架构系列文章、精品教程
python工具 python相关工具使用技巧(pip) virtualenv虚拟独立python环境使用 Python下APScheduler的快速指南 python文件夹,文件监听工具(pyino ...
- Linkerd2入门
目录 1. 引言 2. Linkerd入门 2.1 安装Linkerd CLI(Command Line Interface)工具 2.2 安装Linkerd控制平面Control Plane 2.3 ...
- 安装kubernetes_如何在Kubernetes中安装和使用Linkerd
安装kubernetes The author selected the Tech Education Fund to receive a donation as part of the Write ...
- Kubernetes生产实践系列之二十二:Service Mesh之在Kubernetes部署Linkerd2进行service mesh
一.前言 service mesh是为复杂微服务系统提供基础设施服务的方法,支持Kubernetes的service mesh实现包括文章<kubernetes系列之十八:使用helm安装ist ...
- Rancher极简service mesh产品Rio安装试玩(基于k3s)
1.简介: istio 是 service mesh 界的明星项目,今天要试玩的是它的低配版Rio. Rio 是Rancher新出的一款轻量级service mesh产品,基于linkerd2,相当轻 ...
- linux环境下nacos的安装+启动,阿里云服务器安装nacos
nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...
- 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: ...
- Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!
最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...
- 在docker上安装部署tomcat项目 超简单,拿来主义
在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...
最新文章
- DeepFake 新高度:一阶运动模型让“万物皆可动”
- Eclipse中安装HibernateTools插件
- php通用的树型类创建无限级树型菜单
- Linux20180528
- m.2接口和nvme区别_透明款散热不好,那么ORICO 全铝NVMe固态硬盘盒了解一下?
- java学习(82):静态代码块内部类
- vue项目中vue-router的使用
- NLP高阶实战必读:一文走遍完整自然语言处理流程 文章
- [Unity3D]Unity3D圣骑士模仿游戏开发传仙灵达到当局岛
- 面试疑点:几道题答了一个小时,应该是等答案
- 快速跳转到行首/行尾 快捷键
- 联想官方OEM分区制作
- py从入门到实践 第四章
- 快递单打印专家 免费
- 步行速度快慢测试软件,超准!风靡跑圈的5公里跑步测试,进来看看你是哪个等级!...
- Eclipse无法启动
- 上网课用哪种耳机好、长时间听网课耳机推荐
- Python自动获取邮箱验证码【上集】
- 实验四:无向图最短路径搜索
- 电脑增加内存修改注册表,让你的电脑快到停不下来
热门文章
- 一种提升语音识别准确率的方法与流程
- pythonsocket自定义协议_Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器...
- vue的介绍及基本使用(详细,好理解,示例代码)
- ES6字符串的扩展方法~超详细哦
- java swing html_Swing中如何使用HTML按钮
- 图解FFMPEG打开媒体的函数avformat_open_input
- idea git和svn间切换
- MyBatis扫描mapper
- DB2数据库连接问题:java.lang.NoClassDefFoundError
- 【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印