Skip to content

Commit 7e3b859

Browse files
committed
feat(k8s): add tutorial hubble
1 parent b30da9c commit 7e3b859

File tree

1 file changed

+112
-0
lines changed
  • tutorials/deploying-hubble-add-on-scaleway-kubernetes-clusters

1 file changed

+112
-0
lines changed
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
---
2+
meta:
3+
title: Deploying Hubble as an add-on to Scaleway Kubernetes clusters
4+
description: Learn how to deploy Hubble, a network observability and security monitoring tool for Cilium, to your Scaleway Kubernetes cluster using the Scaleway console or the CLI with Helm.
5+
content:
6+
h1: Deploying Hubble as an add-on to Scaleway Kubernetes clusters
7+
paragraph: Learn how to deploy Hubble, a network observability and security monitoring tool for Cilium, to your Scaleway Kubernetes cluster using the Scaleway Console or the CLI with Helm.
8+
tags: hubble kubernetes k8s
9+
categories:
10+
- kubernetes
11+
dates:
12+
validation: 2025-03-05
13+
posted: 2025-03-05
14+
---
15+
16+
Hubble is a network observability and security monitoring tool for Cilium. This guide covers two methods to deploy Hubble on a Scaleway Kubernetes cluster:
17+
18+
- [Using the Scaleway Console (Easy Deploy)](#deploying-via-scaleway-console-easy-deploy)
19+
- [Using the Scaleway CLI with Helm](#deploying-via-cli-with-helm)
20+
21+
<Macro id="requirements" />
22+
23+
- A Scaleway account logged into the [console](https://console.scaleway.com)
24+
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
25+
- A [Scaleway Kubernetes cluster](/kubernetes/) (v1.31.0 or higher)** with **Cilium CNI enabled**.
26+
- `kubectl` and `helm` installed and configured on your local machine to interact with your Scaleway Kubernetes cluster.
27+
28+
## Deploying via Scaleway console (Easy Deploy)
29+
30+
You can deploy Hubble using Scaleway's Easy Deploy feature directly from the [console](https://console.scaleway.com), which simplifies the deployment process.
31+
32+
1. Navigate to the [Scaleway Console](https://console.scaleway.com) and go to: **Containers \> Kubernetes \> Your Cluster \> Applications**.
33+
2. Click **Create** and select **Application Library**.
34+
3. Search for **Cilium Hubble** and select it.
35+
4. Review the default configuration and modify it if needed (see configuration options below).
36+
5. Enter an **application name** and **namespace** (use `kube-system` as required).
37+
6. Click **Deploy Application** to start the deployment.
38+
7. Once deployed, restart Cilium agents and check roll out status as follows:
39+
```
40+
kubectl -n kube-system rollout restart daemonset cilium
41+
```
42+
Then,
43+
```
44+
kubectl -n kube-system rollout status daemonset cilium
45+
```
46+
47+
### Accessing Hubble UI
48+
49+
1. Once deployed, forward the Hubble UI service to your local machine:
50+
```
51+
kubectl -n kube-system port-forward svc/hubble-ui 12000:80
52+
```
53+
54+
2. Open a browser and go to:
55+
```
56+
http://localhost:12000
57+
```
58+
59+
## Deploying via CLI with Helm
60+
61+
Alternatively, you can deploy Hubble using the CLI with Helm, which offers a more customizable and fine-grained deployment experience.
62+
This method is ideal for users who require advanced configuration options and control over the deployment process.
63+
64+
1. Add the Scaleway Helm repository and update it:
65+
```
66+
helm repo add scaleway https://helm.scw.cloud/
67+
helm repo update
68+
```
69+
2. Deploy Hubble in the `kube-system` namespace:
70+
```
71+
helm -n kube-system upgrade --install scaleway-cilium-hubble scaleway/scaleway-cilium-hubble
72+
```
73+
3. Restart Cilium agents to apply the configuration:
74+
```
75+
kubectl -n kube-system rollout restart daemonset cilium
76+
```
77+
4. Check rollout status:
78+
```
79+
kubectl -n kube-system rollout status daemonset cilium
80+
```
81+
82+
### Accessing Hubble UI
83+
84+
1. Forward the Hubble UI service to your local machine once the application is deployed:
85+
```
86+
kubectl -n kube-system port-forward svc/hubble-ui 12000:80
87+
```
88+
2. Open a browser and navigate to:
89+
```
90+
http://localhost:12000
91+
```
92+
93+
## Configuration options
94+
95+
Hubble can be customized using Helm values. Example key parameters:
96+
97+
| Parameter | Description | Default Value |
98+
| ----- | ----- | ----- |
99+
| `nodeConfig.hubble-event-buffer-capacity` | Capacity of the buffer to store recent events. | `32767` |
100+
| `nodeConfig.hubble-metrics` | A space separated list of metrics to enable. | see `values.yam`l for the default list |
101+
| `nodeConfig.hubble-metrics-server` | Address to expose Hubble metrics | `:9965` |
102+
| `nodeConfig.enable-hubble-open-metrics` | Enable OpenMetrics | `false` |
103+
| `nodeConfig.enable-hubble` | Enable Hubble gRPC service | `true` |
104+
| `nodeConfig.hubble-socket-path` | UNIX domain socket for Hubble server | `/var/run/cilium/hubble.sock` |
105+
106+
For additional options, refer to the [Helm charts documentation](https://github.com/scaleway/helm-charts/tree/master/charts/scaleway-cilium-hubble).
107+
108+
<Message type="note">
109+
* Hubble **must** be deployed in the `kube-system` namespace.
110+
* Do **not** enable `operator/envoy/agent` as it may break managed Cilium.
111+
* Costs may arise based on usage.
112+
</Message>

0 commit comments

Comments
 (0)