# Kube-OVN-helm

Currently supported version: 1.9

Installation :

```bash
$ kubectl label node -lbeta.kubernetes.io/os=linux kubernetes.io/os=linux --overwrite
$ kubectl label node -lnode-role.kubernetes.io/control-plane  kube-ovn/role=master --overwrite
$ kubectl label node -lovn.kubernetes.io/ovs_dp_type!=userspace ovn.kubernetes.io/ovs_dp_type=kernel  --overwrite

# standard install 
$ helm install --debug kubeovn ./charts --set MASTER_NODES=${Node0}

# high availability install
$ helm install --debug kubeovn ./charts --set MASTER_NODES=${Node0},${Node1},${Node2}

# upgrade to this version
$ helm upgrade --debug kubeovn ./charts --set MASTER_NODES=${Node0},${Node1},${Node2}
```

If `MASTER_NODES` unspecified Helm will take internal IPs of nodes with `kube-ovn/role=master` label

### Talos Linux

To install Kube-OVN on Talos Linux, declare openvswitch module in machine config:

```
machine:
  kernel:
    modules:
    - name: openvswitch
```

and use the following options for install this Helm-chart:

```
--set cni_conf.MOUNT_LOCAL_BIN_DIR=false
--set OPENVSWITCH_DIR=/var/lib/openvswitch
--set OVN_DIR=/var/lib/ovn
--set DISABLE_MODULES_MANAGEMENT=true
```
