---
title: Charmhub | Deploy Tailscale Beacon using Charmhub - The Open Operator Collection
description: Deploy the latest version of Tailscale Beacon on any cloud. A Juju charm
  to expose Kubernetes workloads onto a tailnet.
url: https://charmhub.io/tailscale-beacon-k8s
---

# Tailscale Beacon

[Leon](https://charmhub.io/publisher/sed-i "View all packages from Leon")

* [Leon](https://charmhub.io/publisher/sed-i "View all packages from Leon")

Platform:

26.04

1.x/candidate 5

```
juju deploy tailscale-beacon-k8s --channel 1.x/candidate
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

#### Contacts

* [Submit a bug](https://github.com/canonical/service-mesh/issues)

---

Share your thoughts on this charm with the community on discourse.

[Join the discussion](https://discourse.charmhub.io/)

---

[Add docs to a charm](https://juju.is/docs/sdk/add-docs-to-your-charmhub-page)

#### A Juju charm to expose Kubernetes workloads onto a tailnet.

tailscale-beacon-k8s lives in a user application's model and acts as an
entrypoint to the tailnet. When an application relates to it over the
`ingress` relation, the beacon creates a LoadBalancer Service with
`loadBalancerClass: tailscale`. A cluster-wide Tailscale operator (deployed by
tailscale-k8s) reconciles that Service onto the tailnet, exposing the app.

The charm has no workload container: it only writes Kubernetes Service objects
via lightkube. It is useless on its own; a tailscale-k8s operator must be
running somewhere on the cluster for the Service to be reconciled onto the
tailnet.
