Git Product home page Git Product logo

tabby-cni's Introduction

๐Ÿ“– General Information

๐Ÿ“„ Summary

Tabby CNI is a Kubernetes operator that provides distributed SNAT, static routing, bridge, and VLAN configuration.

๐Ÿ›  Installation

The most convenient way of installing the operator is via our tabby-operator Helm chart.

helm repo add nccloud https://nccloud.github.io/charts
helm install tabby-operator --namespace tabby-operator --create-namespace nccloud/tabby-operator

๐Ÿš€ Usage

Network Resource

The operator manages network configuration via the Network CRD.

The following example will create NetworkAttachment resources for nodes that match nodeSelectors. On each matching node, the operator will create a bridge interface, enable IP masquerading, add iptables and ebtables rules for SNAT, and add static routes via a bridge:

apiVersion: cloud.spaceship.com/v1alpha1
kind: Network
metadata:
  name: test-network
  namespace: default
spec:
  bridge:
  - mtu: 1500
    name: br10
    ports:
    - mtu: 1500
      name: bond0
      vlan: 10
  ipMasq:
    bridge: br10
    egressnetwork: 10.10.10.0/24
    enabled: true
    ignore:
    - 192.168.1.0/23
    - 10.10.10.0/24
    source: 192.168.1.0/23
  nodeSelectors:
  - matchLabels:
      beta.kubernetes.io/arch: amd64
  routes:
  - destination: 192.168.1.0/23
    source: 10.10.10.0/24
    via: br10

KubeVirt Live Migration Gratuitous ARP

If you use KubeVirt and need to send a gratuitous ARP request upon the completion of a live VM migration, you can enable a controller that will watch VirtualMachineInstance events and send a gratuitous ARP request from the target node of the VM.
The controller will go through all VM networks of type Multus from the VirtualMachineInstance resource and send an ARP request to any network that has IP masquerading enabled in the corresponding Network resource.

To enable the controller, you will need to set the WATCH_KUBEVIRT_MIGRATION=true environment variable.

๐Ÿท๏ธ Versioning

We use SemVer for versioning. To see the available versions, check the Releases page.

๐Ÿค Contribution

We welcome contributions, issues, and feature requests!

Made with โ™ฅ by Namecheap Cloud Team

tabby-cni's People

Contributors

ruslanloman avatar scholzomat avatar vriabyk avatar bonysmoke avatar

Stargazers

Entrapta Jones avatar  avatar

Watchers

Nicola Ballotta avatar Sandro Modarelli avatar

Forkers

ruslanloman

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.