You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/architecture/management.md
+13-33
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,12 @@
1
1
# Fabric Management
2
2
3
+
This section focuses on operational aspects of Hedgehog Fabric, explaining available tools and typical workflows for administrators. It builds upon the architectural concepts explained in the [Overview](overview.md).
4
+
3
5
The installation of a Hedgehog Fabric deployment is carried out using Fabricator (hhfab CLI). Once deployed, ongoing operations are managed via the [Kubernetes](https://kubernetes.io) CLI, [`kubectl`](https://kubernetes.io/docs/reference/kubectl/).
4
6
5
-
In this workflow, the Kubernetes API Server processes the Fabric Custom Resources (CRs) and forwards them to the Fabric Controller. The Fabric Controller then generates the required SONiC configurations and dispatches them to the Fabric Agent, which applies these configurations to the SONiC Config DB via gNMI. Simultaneously, Alloy collects metrics and logs from the SONiC switches, sending this information to the monitoring tools for continuous monitoring.
7
+
In this workflow, the Kubernetes API Server processes the Fabric Custom Resources (CRs) and forwards them to the Fabric Controller. The Fabric Controller then translates these high-level network intents into concrete network configurations and manages their application to the underlying infrastructure. The Controller continuously monitors the state of the network resources, ensuring they match the desired state defined in the CRs.
6
8
7
-
The diagram below illustrates the general workflow for fabric management as well as the interactions between control plane components and the SONiC switches that form the Fabric.
9
+
The diagram below illustrates the general workflow for fabric management:
-**Creates Fabric CR YAMLs** and commits them to version control.
44
+
-**Creates Fabric CR YAMLs** and applies them through standard Kubernetes resource management.
57
45
-**Directly interacts with SONiC switches** via the Fabricator CLI.
58
46
-**Uses [`kubectl`](https://kubernetes.io/docs/reference/kubectl/) and `kubectl fabric`** to interact with the Kubernetes API for fabric resource management.
- A Kubernetes UI that provides visibility and control over Kubernetes resources, allowing you to manage pods, nodes, services, logs, and Fabric resources efficiently. It includes some helper plugins:
74
-
-**SSH** – SSH into a fabric switch
75
-
-**Serial** – Open a serial connection to a fabric switch
76
-
-**Reboot** – Reboot a fabric switch
77
-
-**Power Reset** Perform a power reset on a fabric switch in the NOS
78
-
-**Reinstall** – Reinstall a fabric switch
79
-
80
-
### **SONiC Switch Relevant Components**
81
-
-**Fabric Agent:** Receives configurations from the Fabric Controller and applies them to the SONiC switches via gNMI.
82
-
-**Alloy:** Monitors SONiC and reports metrics.
83
-
-**SONiC Config DB:** Stores and manages switch configuration data.
84
-
85
-
### **Monitoring**
86
-
- Logs and metrics from SONiC are collected and sent to [Loki](https://grafana.com/oss/loki/) and [Mimir](https://grafana.com/oss/mimir/) for visualization and analysis through [Grafana](https://grafana.com).
62
+
-**SSH** – SSH into a fabric switch
63
+
-**Serial** – Open a serial connection to a fabric switch
64
+
-**Reboot** – Reboot a fabric switch
65
+
-**Power Reset** Perform a power reset on a fabric switch in the NOS
GitOps workflows can be leveraged using [ArgoCD](https://argo-cd.readthedocs.io/en/stable/). This is an alternative approach to show that a Fabric can be used with industry standard tools seamlessly.
93
73
94
74
-**User Actions:**
95
-
- The user **creates Fabric CR YAMLs** and pushes them to a [Git repository](https://git-scm.com) for version control.
75
+
- The user **creates Fabric CR YAMLs** and pushes them to a [Git repository](https://git-scm.com) for version control.
96
76
-**ArgoCD Actions:**
97
-
-[ArgoCD](https://argo-cd.readthedocs.io/en/stable/) monitors the Git repository.
98
-
- ArgoCD **pulls the CRs from Git** and applies them to [Kubernetes](https://kubernetes.io) via the Kubernetes API Server.
77
+
-[ArgoCD](https://argo-cd.readthedocs.io/en/stable/) monitors the Git repository.
78
+
- ArgoCD **pulls the CRs from Git** and applies them to [Kubernetes](https://kubernetes.io) via the Kubernetes API Server.
Copy file name to clipboardExpand all lines: docs/architecture/overview.md
+2
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# Overview
2
2
3
+
This section provides an architectural understanding of Hedgehog Open Network Fabric, explaining its components and their relationships.
4
+
3
5
Hedgehog Open Network Fabric leverages the Kubernetes API to manage its resources. All user-facing APIs are exposed as Kubernetes Custom Resources Definitions (CRDs), allowing users to manage Fabric resources using standard Kubernetes tools.
4
6
5
7
To make network switches Kubernetes-aware, the Fabric employs an **Agent** running on each switch. This agent acts as an interface between the Kubernetes control plane and the switch internal network configuration mechanisms. It continuously syncs desired state from Kubernetes via the Fabric Controller and applies configurations using **gNMI** (gRPC Network Management Interface).
0 commit comments