Code Monkey home page Code Monkey logo

kube-pipework's Introduction

Kube-Pipework

A docker image of jpetazzo's pipework optimized for Kubernetes

Status

Actually this project is a fork of dreamcat4/pipework, it uses updated image and includes some fixes for make pipework working with Kubernetes annotations, and add VLAN support for linux bridges.

Despite all the great features of Kubernetes, Pipework is still the easiest way to pastrough a static IP or physical interface into a container. Nevertheless, I would suggest you to avoid using pipework in situations where you can do without it.

Check bridget - this cni-plugin was created under impressed with Pipework, it is more native for Kubernetes and provides similar L2-network connectivity (except static IPs).

Of course you can use pipework with bridget together as well.

Requirements

  • Requires Docker 1.8.1
  • Needs to be run in privileged mode etc.

Credit

kube-pipework's People

Contributors

kvaps avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

kube-pipework's Issues

Can you get this to work?

I am trying to run both yours and dreamcat4's version of this and upon running, I get:

ln: failed to create symbolic link '/sys/fs/cgroup/systemd/name=systemd': Operation not permitted
Device "eth1" does not exist.

and pipework fails to add the eth1 interface to my test container.

I tried both on Centos 8 and Arch 5.3.8, Docker version 19.03.5-ce, build 633a0ea838

Correct setting of host routes for single IPs (/32 netmask)

Hello,
first I'd like to say thank you. I stumbled across this today and instantly switched from the env based config to your new the annotation based config.

Unfortunately there's an issue with setting host routes for single IPs (i.e. the netmask is /32). This issue is also pressent on dreamcat4/pipework.
The problem is that the script tries to set up a new network including routing which fails for /32.
In https://github.com/kvaps/kube-pipework/blob/master/entrypoint.sh#L226 sipcalc returns nothing, the following ping command either fails or simply hangs.

For a single IP, it's sufficient to add a route to the host device to make routing work (e.g. route add -host 1.2.3.4 dev eth0). So all the IP calculation is not required. This could even work with a subnet (I can't see why it should not), so the whole macvlan creation and stuff is maybe not necessary.

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.