tnblog
首页
视频
资源
登录

Kubernetes Telepresence 本地上云工具

7128人阅读 2022/8/4 17:18 总访问:3470691 评论:0 收藏:0 手机
分类: 容器编排

Kubernetes Telepresence 本地上云工具


简介:它可以让集群中的环境可以在本地访问。
同样的也可以使本地开发的应用替换某个集群上的应用,使请求流量访问到本地。

Windows本地安装


用管理员打开Powershell

  1. # 下载最新的包
  2. curl -fL https://app.getambassador.io/download/tel2/windows/amd64/latest/telepresence.zip -o telepresence.zip
  3. # 解压
  4. Expand-Archive -Path telepresence.zip
  5. Remove-Item 'telepresence.zip'
  6. cd telepresence
  7. # 安装telepresence
  8. Set-ExecutionPolicy Bypass -Scope Process
  9. .\install-telepresence.ps1
  10. # 删除下载的zip包
  11. cd ..
  12. Remove-Item telepresence


然后重新打开一个新的Powershell进行登录,验证安装情况。

  1. telepresence

集群环境安装


接下来我们需要在集群中安装telepresence,方便控制我们的流量。

  1. helm repo add datawire https://app.getambassador.io
  2. helm repo update
  3. kubectl create namespace ambassador
  4. helm install traffic-manager --namespace ambassador datawire/telepresence


如果想最小化用户管理,可以添加如下的权限进行设置。(如果不想这样也是没关系的,可以跳过下面的步骤)

  1. vim telepresenceRBAC.yaml
  1. ---
  2. apiVersion: v1
  3. kind: ServiceAccount
  4. metadata:
  5. name: tp-user
  6. namespace: ambassador
  7. ---
  8. apiVersion: rbac.authorization.k8s.io/v1
  9. kind: ClusterRole
  10. metadata:
  11. name: telepresence-role
  12. rules:
  13. - apiGroups: [""]
  14. resources: ["pods/log"]
  15. verbs: ["get"]
  16. - apiGroups: [""]
  17. resources: ["pods"]
  18. verbs: ["list"]
  19. - apiGroups: ["apps"]
  20. resources: ["deployments", "replicasets", "statefulsets"]
  21. verbs: ["get", "list", "watch"]
  22. - apiGroups: [""]
  23. resources: ["namespaces", "services"]
  24. verbs: ["get", "list", "watch"]
  25. - apiGroups: [""]
  26. resources: ["pods/portforward"]
  27. verbs: ["create"]
  28. ---
  29. apiVersion: rbac.authorization.k8s.io/v1
  30. kind: ClusterRoleBinding
  31. metadata:
  32. name: telepresence-rolebinding
  33. subjects:
  34. - name: tp-user
  35. kind: ServiceAccount
  36. namespace: ambassador
  37. roleRef:
  38. apiGroup: rbac.authorization.k8s.io
  39. name: telepresence-role
  40. kind: ClusterRole
  1. kubectl apply -f telepresenceRBAC.yaml


查看tp-user用户token,并创建相关的kubeconfig.

  1. kubectl get secrets -n ambassador
  2. kubectl -n ambassador describe secrets tp-user-token-72hkg

  1. mkdir telepresence
  2. cd telepresence
  3. cp ~/.kube/config .
  4. vim config
  1. apiVersion: v1
  2. clusters:
  3. - cluster:
  4. certificate-authority-data: xx
  5. server: https://xxxxx:xxxxx
  6. name: kubernetes
  7. contexts:
  8. - context:
  9. cluster: kubernetes
  10. user: tp-user
  11. name: tp-user
  12. current-context: tp-user
  13. kind: Config
  14. preferences: {}
  15. users:
  16. - name: tp-user
  17. user:
  18. token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjB2REZjcFF6eW9SSHdid1UtTlRSaG5TUm4teFZMX3h5Y3NqVTJtVkdNMk0ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJhbWJhc3NhZG9yIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InRwLXVzZXItdG9rZW4tc2g2dnAiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoidHAtdXNlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImFhNmFiMzVmLTE1ZDQtNGE3Zi04NGYzLTRkOTkyMmJhODQ0NyIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDphbWJhc3NhZG9yOnRwLXVzZXIifQ.leUMyrh6GZUNUWwYnBf6-jfUDwTb_N5a5jk866Q9sCuBHs8p4jwwRDq6sTdE1MkhiIWpDx-ZTX1ofcoBY2sn-CdzQZ2ifFTApMUT7yA5XJAoMppBWPnAF7E7BYR0n0MKdoQVdN_v6WjJEGx6_Bos1dhaQyFBJ2rVGIeZRokyK-S1nV81wM4Hg6AqdQWoUwGH5uS_IAnnD62E6HW6PzA9MSpLK3codZguVEvXKHLcOM_StDW-RW11Le4iowZBVLYX1jnmyatXoAEisBUV3uzcaFAdeV09lwVLNLBv9kB0VP19vNkMCOQlQ-36tnbhEvgtLTYcQumCVLT_j1ursZPm5w


这样我们的kubeconfig就创建好了。

本地连接


我们可以直接通过如下命令来连接到我们的集群中。

  1. telepresence connect


测试访问default名称空间下的kubernetes服务。


当然我们还可以访问集群中的其他服务。
如果想使用我们指定用户的kubeconfig的话需要加--kubeconfig参数。

  1. telepresence connect --kubeconfig ./config


然后我们想断开连接的话可以执行如下命令。

  1. telepresence quit

本机应用映射到集群中


本地的网站应用在9090开放的端口,集群中对应的myserver服务9090端口将会导入流量到本地。

  1. telepresence --swap-deployment myserver --expose 9090

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

常用的很厉害的工具

图片压缩相对图片无损放大来说是小kiss。下面是非常非常帅气的图片无损放大http://bigjpg.com/图片压缩https://www.upyun.c...

一些有用的资源分享(工具+电子书)

工具类图片相关工具TinyPNG:https://tinypng.com/ 免费的在线图片压缩工具,压缩率高,无损画质,直接拖拽使用,很方便。p...

开发自己的代码生成工具

在一个项目中其实有很多代码都是重复的,几乎每个基础模块的代码都有增删改查的功能,而这些功能都是大同小异,如果这些功...

windoes 强力下载工具Internet Download Manager

大家好,我是刘小贱,今天呢我给大家推荐一款Windows系统上的下载神器:Internet Download Manager ,这款软件通过在浏览器上...

net core使用jwt 三: 使用过滤器实现通用token验证Token验证工具

net core使用jwt二 : 验证前台传递的tokenhttp://www.tnblog.net/aojiancc2/article/details/2845过滤器实现通用token验证...

oralce plsql打开执行sql的工具

如果不小心关闭了,要打开执行sql的工具栏如下箭头的地方右键即可

maven与工具(eclipse)的集成

1、下载maven插件apache-maven-3.6.22、下载jdk1.8并安装配置环境变量3、解压插件并配置环境变量(JAVA_HOME配置jdk根目录、...

editor.md自定义工具

editor.md自定义工具栏很简单,下载后例子自带了,怎么配置和百度编辑器的很类似也是返回一个数组配置即可你可能不知道这些...

nodejs编写工具--WebStorm

前言:hello老铁们我们又见面了,前面给大家简单的说了ABP框架 今天给大家分享的是Node.js的编写工具WebStom因为ABP要用到...

Linux 文本处理工具 sed

文本处理工具 sed[TOC] sed 介绍 sed 是一种非交互式的流编辑器,它会集于原文件进行文本处理,但并不会修改原有的文...

Jemeter压力测试工具

Jemeter 压力测试工具[TOC] JMeter 简介 阿帕奇JMeter的?应用程序是开源软件,100%纯Java应用而设计的负载测试功能...

如何破解傲软GIF录制工具

前言:hello 小伙伴们 大家好 咋们又见面了 我是小付今天要和大家分享的是破解版的傲软GIF录制工具,有些时候我们在编写博客...

开发winform xml文件生成C类文件工具

最近项目中用到了博通PLC采集图像数据保存的业务,需要解析软件返回的xml文件,然后保存到数据库。为了方便就自己整了一个x...

微软开发工具 Tye 宣布开源

微软近期开源了一款开发人员工具 Tye,能够用于简化微服务以及分布式应用程序的开发、测试以及部署过程。该项目负责人 Amie...

git管理工具SourceTreeSetup介绍

SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mn版本控制系统工具。支持创建、克隆、提...
这一世以无限游戏为使命!
排名
2
文章
635
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术