Offene Netzwerk-Fabric

Hedgehog Open Network Fabric enables you to design, procure, and operate your physical network like a cloud native application.

Open Network Fabric Cluster Design

Hedgehog Open Network Fabric provides physical network connectivity for Kubernetes compute clusters.  Hedgehog deployments have two or more Kubernetes clusters. 

The Fabric Cluster is composed of Hedgehog SONiC network devices including ethernet switches, processing nodes, and service nodes.  The Fabric Cluster provides all of the necessary services to support one or more Application Clusters. 

Application Clusters are Kubernetes clusters with the user selected k8s distribution and CNI.

Fabric Cluster Components

Fabric Cluster

A Hedgehog fabric is managed as a Kubernetes cluster.  The fabric cluster contains the nodes and services responsible for transporting the application cluster’s traffic.

Switch Nodes

Switch nodes are ethernet switches that are running Hedgehog SONiC NOS.  These are typically 10-400 Gigabit switches that boot via ONIE.  Compatible devices are found HIER.

Control Nodes

Control Nodes are lightweight compute devices responsible for running the Kubernetes control plane. They are created by the Fabric Designer and are typically connected to the management network to assist with ZTP/ONIE and attestation.

DPU/IPU/SmartNIC

These PCI cards are installed in Processing Nodes and provide acceleration resources to the Fabric Cluster.  These services typically include Load Balancers, Firewalls, VPNs and more.

Processing Nodes

Standard servers can be connected to the Fabric Cluster to provide additional network services, for example edge gateways, API gateways, and more.

Control Plane

The Kubernetes control plane is responsible for distributing applications and configurations to each managed device. Containers are used to distribute the binary components of each application, and individually crafted configurations are deployed to each node via kubelets. With this design, the network can be updated as easily as any application.

 Extensible Fabric Operator

Hedgehog uses a Kubernetes operator in the Fabric Cluster to provide an abstraction for simplified operations and services.

operational model

services model

software

  • initialization
  • distribution
  • resilience
  • scaling
  • smart updates

config

  • config distribution
  • failsafe/fusing
  • exceptions

network

  • network definition
  • policy
  • security services

operations

  • ops distribution
  • observability
  • debug services
  • integration w/ de facto

Infrastructure as Code

These models can be deployed and modified with Kubernetes CRDs

Fabric TopologyYAML

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
        name: stars.example.crd.com
        spec:
            group: example.crd.com
            scope: Namespaced
            names:
            kind: Star
            listKind: StarList
            plural: stars
            singular: star
            subresources:
            status: {}

Programmierbarkeit

Fabric Operations & CI/CD

A Hedgehog network is a real Kubernetes cluster, which means you can use all of your favorite CI/CD methods to operate it.

Anmeldung zum Newsletter