Skip to main content
Version: 1.21.X

Kubernetes Fury Networking

Kubernetes Fury Networking implements in-cluster networking functionality for the Kubernetes Fury Distribution (KFD) via Container Network Interface (CNI) plugins.

If you are new to KFD please refer to the official documentation on how to get started with KFD.

Overview

Kubernetes has adopted the Container Network Interface (CNI) specification for managing network resources on a cluster.

Kubernetes Fury Networking makes use of CNCF recommended Project Calico, open-source networking and network security solution for containers, virtual machines, and bare-metal workloads, to bring networking features to the Kubernetes Fury Distribution.

Calico deployment consists of a daemon set running on every node (including control-plane nodes) and a controller.

Packages

Kubernetes Fury Networking provides the following packages:

PackageVersionDescription
calico3.23.2Calico CNI Plugin. For cluster with < 50 nodes.
ip-masq2.5.0The ip-masq-agent configures iptables rules to implement ip-masq functionality

The resources in these packages are going to be deployed in kube-system namespace.

Click on each package to see its full documentation.

Compatibility

Kubernetes VersionCompatibilityNotes
1.20.xIncompatible
1.21.xNo known issues
1.22.xNo known issues
1.23.x⚠️Conformance tests passed. Not officially supported.

Check the compatibility matrix for additional information on previous releases of the module.

Usage

Prerequisites

ToolVersionDescription
furyctl>=0.6.0The recommended tool to download and manage KFD modules and their packages. To learn more about furyctl read the official documentation.
kustomize>=3.5.0Packages are customized using kustomize. To learn how to create your customization layer with kustomize, please refer to their repository.

Deployment

⚠️ please notice that the Calico packages is for cluster with less the 50 nodes. If your cluster has more than 50 nodes, you'll need to switch to Calico + Typha.

  1. List the packages you want to deploy and their version in a Furyfile.yml
bases:
- name: networking/calico
version: "v1.9.0"

See furyctl documentation for additional details about Furyfile.yml format.

  1. Execute furyctl vendor -H to download the packages

  2. Inspect the download packages under ./vendor/katalog/networking.

  3. Define a kustomization.yaml that includes the ./vendor/katalog/networking directory as a resource.

resources:
- ./vendor/katalog/networking/calico
  1. To deploy the packages to your cluster, execute:
kustomize build . | kubectl apply -f -