Skip to main content
Version: 1.27.X

Kubernetes Fury Networking

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

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.27.3Calico CNI Plugin. For cluster with < 50 nodes.
cilium1.15.2Cilium CNI Plugin. For cluster with < 200 nodes.
tigera1.32.7Tigera Operator, a Kubernetes Operator for Calico, provides pre-configured installations for on-prem and for EKS in policy-only mode.
ip-masq2.8.0The ip-masq-agent configures iptables rules to implement IP masquerading functionality

The resources in these packages are going to be deployed in kube-system namespace. Except for the operator.

Click on each package to see its full documentation.

Compatibility​

Kubernetes VersionCompatibilityNotes
1.26.x✅No known issues
1.27.x✅No known issues
1.28.x✅No known issues
1.29.x✅No known issues

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.3Packages 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 or to the Tigera Operator.

  1. List the packages you want to deploy and their version in a Furyfile.yml

    bases:
    - name: networking
    version: "v1.17.0"

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

  2. Execute furyctl vendor -H to download the packages

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

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

    resources:
    - ./vendor/katalog/networking/calico

    Or if you want to use Cilium:

    resources:
    - ./vendor/katalog/networking/cilium
  5. To deploy the packages to your cluster, execute:

    kustomize build . | kubectl apply -f -

Monitoring​

The Networking module includes out-of-the-box metrics monitoring and alerting features for its components.

You can monitor the status of the networking stack from the provided Grafana dashboards:

Calico Felix dashboard screenshot Calico Typha dashboard screenshot

click on each screenshot for the full screen version

The following set of alerts is included with the networking module:

Alert NameSummaryDescription
CalicoDataplaneFailuresHighA high number of dataplane failures within Felix are happeningCalico node pod {{ $labels.pod }} ({{ $labels.instance }}) has seen {{ $value }} dataplane failures within the last hour
CalicoIpsetErrorsHighA high number of ipset errors within Felix are happeningCalico node pod {{ $labels.pod }} ({{ $labels.instance }}) has seen {{ $value }} ipset errors within the last hour
CalicoIptableSaveErrorsHighA high number of iptable save errors within Felix are happeningCalico node pod {{ $labels.pod }} ({{ $labels.instance }}) has seen {{ $value }} iptable save errors within the last hour
CalicoIptableRestoreErrorsHighA high number of iptable restore errors within Felix are happeningCalico node pod {{ $labels.pod }} ({{ $labels.instance }}) has seen {{ $value }} iptable restore errors within the last hour
CalicoErrorsWhileLoggingHighA high number of errors within Felix while loggging are happeningCalico node pod {{ $labels.pod }} ({{ $labels.instance }}) has seen {{ $value }} errors while logging within the last ten minutes
TyphaPingLatencyTypha Round-trip ping latency to client (cluster {{ $labels.cluster }})Typha latency is growing (ping operations > 100ms). VALUE = {{ $value }}. LABELS = {{ $labels }}
TyphaClientWriteLatencyTypha unusual write latency (instance {{ $labels.cluster }})Typha client latency is growing (write operations > 100ms). VALUE = {{ $value }}. LABELS = {{ $labels }}
TyphaErrorsWhileLoggingHighA high number of errors within Typha while loggging are happeningTypha pod {{ $labels.pod }} ({{ $labels.instance }}) has seen {{ $value }} errors while logging within the last ten minutes