On 15/11/2017 01:22, Guru Shetty wrote:


On 14 November 2017 at 14:40, Sébastien Bernard <[email protected] <mailto:[email protected]>> wrote:

    Hello,

    I'm looking for some pieces of advise to use a network based on
    openvswitch with kubernetes.

    I've tried to follow the following document
    https://github.com/openvswitch/ovn-kubernetes
    <https://github.com/openvswitch/ovn-kubernetes>, with some success
    and some failures.


    First, it's not really clear what version of kubernetes is
    supported with this software. I followed all the recipe, and at
    the end when starting the ovs-k8s-watcher, I get error about the
    system:anonymous-user not having the right to list services (tried
    with kubernetes 1.8).


I have seen it work till k8s 1.7. Haven't tried k8s 1.8 yet.
This is most likely some permission issue. Haven't seen it before. Are you running it as a root? Can you use kubectl to list services? How about curl. For e.g:
curl http://127.0.0.1:8080/api/v1/watch/endpoints
I'm indeed running as root. The setup is ok up to the point of interacting with the kubernetes cluster. At this point it breaks with the error message. The install Doc may be amended for the new way of building kube cluster the kubernetes team is pushing (RBAC + kubeadm setup see below).
I'll post a followup with the errors later.


    Second, I was puzzled by the install procedure, I don't really
    know where the kubernetes configuration is modified. I was
    expecting some yaml to apply with the kubectl, and nothing seems
    to change the kube configuration. Where's the link between the
    pods and the ovs ?


When you do the "minion-init", it installs a OVN CNI plugin. The plugin gets invoked by kubelet when a pod gets scheduled. The plugin will setup the IP address and also add the pod's network interface to OVS.


    Third, is the 'ovn-k8s-overlay minion-init ' to be run on all
    minion and the master also or only on the nodes ?

minion-init only on the nodes.
The kubernetes setup is now done through the kubeadm.
A master is an ordinary node with only pods of kube-system namespace scheduled. apiserver / controller-manager / scheduler are just pods scheduled statically.

Let me ask this in a different way : should the ovn-k8s-overlay minion-init be run on each machine running a kubelet service ?



    And last, what is the ovn-kube exectutable and how do you use it ?


This is a golang watcher which right now is only for advanced users, which calls things like "minion-init", "master-init" etc on its own, allocating subnets etc. We need to do a better job documenting it.

I would suggest starting from the vagrant here. To get familiar with installation procedure. I often run it on my mac and it works.
https://github.com/openvswitch/ovn-kubernetes/tree/master/vagrant

You can then look at the installation scripts the vagrant uses.

e.g:
https://github.com/openvswitch/ovn-kubernetes/blob/master/vagrant/provisioning/setup-master.sh
https://github.com/openvswitch/ovn-kubernetes/blob/master/vagrant/provisioning/setup-k8s-master.sh
Thanks for the links. Vagrant setup is working ok. I'll try to reproduce it on a real setup (i.e. by hand).

Seb
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to