Comments (5)
Hi @plunder-app @thebsdbox, first of all, great job so far!
I have 3 general questions:
-
Is Kube-vip production-ready? I couldn't find any information about that
-
Does Kube-vip work with Kubespray (uses kubeadm) in the HA mode? If not, it would be great if we can find a way to integrate Kube-vip into Kubespray. Please, see the following link: https://kubespray.io/#/docs/ha-mode
-
Does Kube-vip has any disadvantages compared to traditional approaches like envoy + keepalived from the load balancer perspective?
Thanks in advance!
from kube-vip.
Hello @ThomasLohmann,
-
Hard to answer really, It does what it says on the tin but more "production-ready" functionality could be added (monitoring or advanced logging etc..). Best option is to test it out and give feedback.
-
Not at this time, there is documentation for using it with kubeadm -> https://github.com/kubernetes/kubeadm/blob/master/docs/ha-considerations.md#kube-vip but I presume additional work would be required in order to have it automated.
-
Kube-vip was written in order to simplify the process of having multiple tooling and multiple configurations required just to provide load balancing capabilities to the control plane. So the hope is that it only has advantages :)
from kube-vip.
Potentially, a consumer of kube-vip may not execute kubeadm init
and instead use phases. Ultimately, I guess you could check the /readyz
status of API server and kubelet, and then you're partially agnostic of using kubeadm or not.
from kube-vip.
I’ve modified kube-vip to “mirror” kubeadm join|init commands, which should make the usage a lot cleaner. I guess it will be in the 0.1.5 version once I’ve tidied things up a little bit, although it’s relatively stable at the moment (my demo is working)
Init process
With Docker
sudo docker run --network host --rm plndr/kube-vip:0.1.5 kubeadm init --interface ens192 --vip 192.168.0.81 --startAsLeader=true | sudo tee /etc/kubernetes/manifests/vip.yaml
Without Docker
sudo ./kube-vip kubeadm init --interface ens192 --vip 192.168.0.81 --startAsLeader=true | sudo tee /etc/kubernetes/manifests/vip.yaml
Init Kubernetes Cluster
sudo kubeadm init --kubernetes-version 1.17.0 --control-plane-endpoint 192.168.0.81 --upload-certs
Join Process
Join Kubernetes Cluster
sudo kubeadm join 192.168.0.81:6443 --token w5atsr.blahblahblah --control-plane --certificate-key abc123
With Docker
sudo docker run -v /etc/kubernetes/admin.conf:/etc/kubernetes/admin.conf --network host --rm plndr/kube-vip:0.1.5 kubeadm join --interface ens192 --vip 192.168.0.81 --startAsLeader=false | sudo tee /etc/kubernetes/manifests/vip.yaml
Without Docker
sudo ./kube-vip kubeadm join --interface ens192 --vip 192.168.0.81 --startAsLeader=false | sudo tee /etc/kubernetes/manifests/vip.yaml
from kube-vip.
This has been merged and documentation has been updated (#46 )
from kube-vip.
Related Issues (20)
- Better support for offline deployment HOT 1
- The enable service security feature is not working in some environment due to the iptables-legacy executable not being found HOT 3
- Kube-vip depends on `nodename == hostname` for service election, which easily breaks HOT 2
- kube-vip didn't add VIP to the network interface HOT 3
- Node preferences/priorities for loadbalancer services
- Cannot start in just services mode in Equinix Metal HOT 4
- Allow vip_interface to be set on a per-node basis using node labels or annotations HOT 6
- kube-vip deletes route if second service with same IP has no backends HOT 5
- Cleanup on VIP/Iptables/IPVS on kube-vip deletion (SIGTERM or SIGINT) fails
- Defaults the control plane LB mode to use masquerade forwarding method
- panic: open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory when starting static pod HOT 1
- Support table mode for CP mode HOT 1
- The load balancer IP addresses are not being release after the LB-type Services are deleted HOT 1
- kube-vip announcing k3s nodeips as vips HOT 1
- Allow disable upnp for one service
- Egress + service without selector
- Kube-VIP does not recover after network outages
- Report the use of components with vulnerabilities in kube-vip
- DHCP for control plane VIP fails: got an error while the discovery request: no matching response packet received
- [Question / Bug] kube-vip keeps assigning used IP to LoadBalancer HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kube-vip.