Telepresence开源工具使用

Telepresence是一款开源工具,方便在本地快速开发kubernetes微服务。它通过创建代理让本地代码直接访问远程k8s集群资源,简化了CICD流程中的调试步骤。本文介绍了telepresence的安装、原理、使用方法及其限制,包括vpn-tcp、inject-tcp和container三种代理方式,以及快速本地开发和容器内编译运行代码的场景。
摘要由CSDN通过智能技术生成

一、概述


telepresence是一款为kubernetes微服务框架提供快速本地化开发功能的开源软件。

目前国内很少关于该软件的介绍,本文内容全部基于官网文档: https://www.telepresence.io/

kubernetes集群内部的微服务的特点是,各微服务之间在集群内可以互相访问,集群外部没有很好的方法来获取集群内部的功能,比如获取数据库中的数据。(实际上借助于service的nodePort可以实现)

此外,当前的CICD流程步骤为: 提交代码 -> jenkins 拉取源码 -> maven编译 -> docker编译 -> 部署
多个步骤,虽然该过程由jenkins自动完成,但是每次调试均需要经历该步骤,降低效率。

而通过telepresence,则可以实现在本机运行本地代码,本地代码能够获取远端k8s集群的各项资源。

直白一点,telepresence就是给本机提供了k8s集群的代理,使本机直连到远程k8s集群,能够访问集群内部资源。


实际调试中发现,telepresence最新版本(0.92)中存在一些bug与限制,下文中体现

  • 本文中涉及k8s与docker中的概念,不再展开
  • 本文内容若结合IDEA的Source Synchronizer插件,可以提高效率。
  • 该插件可以将代码改动部分或指定文件同步到指定的linux环境

 

二、安装


telepresence提供对多种操作系统或提供商的支持,本文重点说明centos版本linux的安装与使用

1. OS X
 

brew cask install osxfuse

brew install socat datawire/blackbird/telepresence

 

2. Ubuntu 16.04 or later


curl -s https://packagecloud.io/install/repositories/datawireio/telepresence/script.deb.sh | sudo bash

sudo apt install --no-install-recommends telepresence

 

3. Fedora 26 or later


curl -s https://packagecloud.io/install/repositories/datawireio/telepresence/script.rpm.sh | sudo bash

sudo dnf install telepresence

 

4. Arch Linux


其它linux版本只能通过源码包的方式来安装,这种方式所依赖的其它软件均需要安装:


4.1 python3.7

参考 https://www.centos.bz/2018/01/%E5%9C%A8centos%E4%B8%8A%E5%AE%89%E8%A3%85python3%E7%9A%84%E4%B8%89%E7%A7%8D%E6%96%B9%E6%B3%95/

$ yum install -y yum-utils
$ yum-builddep python
$ curl -O https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
$ tar xf Python-3.7.0.tgz
$ cd Python-3.7.0
$ ./configure
$ make
$ make install

4.2 其它依赖软件

$ yum install -y sshfs conntrack torsocks socat git docker
$ systemctl start docker
$ systemctl enable docker

4.3 kubectl

从k8s集群的master节点拷贝 /usr/local/bin/kubectl 与 /root/.kube/config 到本机相应目录


4.4 telepresence

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值