diff --git a/public/docs-static/img/how-to-guides/k8s-add-access-control-policy.png b/public/docs-static/img/how-to-guides/k8s-add-access-control-policy.png new file mode 100644 index 00000000..851088db Binary files /dev/null and b/public/docs-static/img/how-to-guides/k8s-add-access-control-policy.png differ diff --git a/public/docs-static/img/how-to-guides/k8s-add-network-route.png b/public/docs-static/img/how-to-guides/k8s-add-network-route.png new file mode 100644 index 00000000..0a0dd4e0 Binary files /dev/null and b/public/docs-static/img/how-to-guides/k8s-add-network-route.png differ diff --git a/public/docs-static/img/how-to-guides/k8s-create-setup-key.png b/public/docs-static/img/how-to-guides/k8s-create-setup-key.png new file mode 100644 index 00000000..183cd621 Binary files /dev/null and b/public/docs-static/img/how-to-guides/k8s-create-setup-key.png differ diff --git a/public/docs-static/img/how-to-guides/k8s-name-access-control-policy.png b/public/docs-static/img/how-to-guides/k8s-name-access-control-policy.png new file mode 100644 index 00000000..ffe410bb Binary files /dev/null and b/public/docs-static/img/how-to-guides/k8s-name-access-control-policy.png differ diff --git a/public/docs-static/img/how-to-guides/k8s-name-network-route.png b/public/docs-static/img/how-to-guides/k8s-name-network-route.png new file mode 100644 index 00000000..046eacba Binary files /dev/null and b/public/docs-static/img/how-to-guides/k8s-name-network-route.png differ diff --git a/public/docs-static/img/how-to-guides/k8s-netbird-agent-connected.png b/public/docs-static/img/how-to-guides/k8s-netbird-agent-connected.png new file mode 100644 index 00000000..355c0183 Binary files /dev/null and b/public/docs-static/img/how-to-guides/k8s-netbird-agent-connected.png differ diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index abbfb5da..ec5c0134 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -60,6 +60,7 @@ export const docsNavigation = [ { title: 'Running NetBird on FaaS', href: '/how-to/netbird-on-faas' }, { title: 'Delete your NetBird account', href: '/how-to/delete-account' }, { title: 'Manage access with posture checks', href: '/how-to/manage-posture-checks' }, + { title: 'Deploy routing peers to Kubernetes', href: '/how-to/routing-peers-and-kubernetes' }, { title: 'Report bugs and issues', href: '/how-to/report-bug-issues' }, { title: 'Troubleshooting client issues', href: '/how-to/troubleshooting-client' }, { title: 'Examples', href: '/how-to/examples' }, diff --git a/src/pages/how-to/routing-peers-and-kubernetes.mdx b/src/pages/how-to/routing-peers-and-kubernetes.mdx new file mode 100644 index 00000000..45acd601 --- /dev/null +++ b/src/pages/how-to/routing-peers-and-kubernetes.mdx @@ -0,0 +1,130 @@ +import {Note} from "@/components/mdx"; + +# Deploy routing peers to a Kubernetes cluster +This guide provides instructions on how to use NetBird agent within a Kubernetes cluster to establish secure, peer-to-peer +networking between your Kubernetes pods and external services or other clusters. + +## Prerequisites +- Access to a Kubernetes cluster +- Kubernetes CLI (kubectl) installed and configured +- Access to the NetBird management dashboard + +## Use Case Scenario +Imagine you're running a multi-cloud Kubernetes environment where your application components are distributed across +different cloud providers, including on-premise Kubernetes clusters. Your goal is to securely access your kubernetes services +from hosts running on a Hetzner without exposing them to the public internet. + +## Step-by-Step guide +### Step 1: Create a setup key +Navigate to Setup Keys in the NetBird management dashboard and click on "Create setup key". + +Choose a name, e.g. `Kubernetes routing peers`, mark the key as `reusable` and enable `Ephemeral peers`. This option is +ideal for stateless workloads like containers, where peers that are offline for over 10 minutes are automatically removed. + +Create or add group called `kubernetes-routers` to the `Auto-assigned groups` list. This designation can be adjusted to +suit your needs. + +See the screenshot below for reference: +
+
+
+
+
+
+
+
+
+
+
+
+