PRODUCT RELEASE

Run Telepresence Anywhere Part 1: Containers

Telepresence 2.3.0 supports running Telepresence in a container among other new features and fixes

Kelsey Evans
Ambassador Labs
Published in
3 min readJun 3, 2021

--

Today, we’re excited to announce Telepresence 2.3.0 — a feature release that brings us closer to our mission of supporting Telepresence in any environment. 2.3.0 adds support for running Telepresence inside a Docker container, enabling users to run Telepresence in CI, as well as several other new features and fixes.

Running Telepresence in a Docker Container

As of Telepresence 2.3.0, Telepresence now runs inside of a Docker Container. This can be useful for avoiding side effects on a work station’s network, establishing multiple sessions with the traffic manager, or working with different clusters simultaneously. It also enables users to run Telepresence inside of their Continuous Integration (CI) systems.

To run Telepresence inside of a container today, follow the instructions in the documentation.

In our mission to make Telepresence more accessible, we have been focusing our efforts on supporting Telepresence in any environment. Supporting Telepresence running in a Docker container is just one step on this journey — stay tuned for (highly requested) Windows support coming soon! To be notified when Windows support is available, sign up for updates in the Windows tab in the install instructions.

Other New Features — Install via Brew, TCP and UDP routing via VIF, configurable log levels, and more

Telepresence 2.3.0 also includes the following new features:

  • Telepresence can now be installed via brew on MacOS, making it easier for users to stay up-to-date with the latest version of Telepresence. To install via brew use the following command: brew install datawire/blackbird/telepresence2 Docs
  • Telepresence will now perform routing of outbound TCP and UDP traffic via a Virtual Network Interface (VIF), a layer 3 TUN-device that exists while Telepresence is connected. Previously Telepresence used firewall rules and was only capable of routing TCP, with 2.3.0 pods with custom DNS configuration will work as expected. Docs
  • Telepresence now supports configuring the log level for Root Daemon and User Daemon logs. Docs

Additionally, Telepresence no longer uses ssh tunnels. Traffic between the client and the cluster is now tunneled via the traffic manager gRPC API. This means that the manager no longer has an sshd installed. Volume mounts are still established using sshfs, but it is now configured to communicate using the sftp-protocol directly, which means that the traffic agent also runs without sshd. As a result, the manager and agent containers no longer need a special user configuration. You can read more about this change in the documentation.

Bug Fixes

Telepresence 2.3.0 includes the following fixes — thanks to community members @aliok, @AntonBlomstrom, @justinfiore, and @gnanderson for reporting:

  • #1610: [macos] Daemon fails at pfctl
  • #1618: The daemon ignores errors from iptables
  • #1620: Errors from ssh are poorly detected
  • #1621: Can’t detect when there’s a problem with the SOCKS server
  • #1622: Doesn’t work inside of a Docker container
  • #1682: telepresence connect fails connecting to the traffic-manager
  • #1711: telepresence should be able to be installed via brew
  • #1745: SSHFS additional arg / option

New Release Notes

Lastly, we’ve added new release notes to our documentation. Be sure to bookmark https://www.getambassador.io/docs/telepresence/latest/release-notes to be sure you’re always up to date with the latest version of Telepresence.

Get Started

Get started in under 5 minutes with the Telepresence Quick Start today! Telepresence supports developing with any language, and to make it easier for you to get up and running we’ve added specific tutorials in Golang, NodeJS, Python (Flask) and Python (Fast API) . More tutorials are coming soon, and we welcome community contributions

If you’re already a Telepresence user, follow the instructions to upgrade here.

If you have feedback or need help, please join #telepresence on our Slack channel. We’re happy to help!

--

--