From d47ccb678692e441a774d11477269a4c4e430544 Mon Sep 17 00:00:00 2001 From: Mengxin Liu Date: Mon, 4 Jan 2021 22:54:18 +0800 Subject: [PATCH] release: 1.6.0 --- CHANGELOG.md | 7 ++++++- dist/images/generate-ssl-docker.sh | 2 +- dist/images/ovn-ic-db-docker.sh | 2 +- docs/cluster-interconnection.md | 4 ++-- docs/dpdk.md | 2 +- docs/high-available.md | 2 +- docs/install.md | 16 ++++++++-------- docs/ipv6.md | 2 +- docs/vlan.md | 2 +- yamls/kube-ovn-ipv6.yaml | 8 ++++---- yamls/kube-ovn.yaml | 8 ++++---- yamls/ovn-ha.yaml | 4 ++-- yamls/ovn.yaml | 4 ++-- 13 files changed, 34 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f04c43a9f69..e49b7f7ae6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,19 @@ # CHANGELOG -## 1.6.0 -- TODO +## 1.6.0 -- 2021/01/04 ### New Feature * Basic support for custom VPC * DualStack support * Overlay to underlay gateway through BGP * Support binding pod to subnet +* Support distributed eip * Support disable interconnection for specific subnet * Iface now support regex * `install.sh` supports DPDK resource configuration * Remove cluster ip dependency for ovn/ovs components * Change base image to ubuntu +* Update OVN to 20.09 ### Monitoring * Add OVN/OVS monitor @@ -34,6 +36,7 @@ * Tolerate all taints * OVN/OVS log rotation * Update Go to 1.15 +* Multi arch image ### Bugfix * Remove not alive pod in networkpolicy portGroup @@ -60,6 +63,8 @@ * OVN-IC support SSL * Pod static ip validation * Multiple rule networkpolicy issues +* Modify service vip parse error +* CNIServer default encap ip use node ip ## 1.5.2 -- 2020/12/01 diff --git a/dist/images/generate-ssl-docker.sh b/dist/images/generate-ssl-docker.sh index 8d910de84ef..9508d784977 100644 --- a/dist/images/generate-ssl-docker.sh +++ b/dist/images/generate-ssl-docker.sh @@ -2,7 +2,7 @@ set -euo pipefail exist=$(kubectl get secret -n kube-system kube-ovn-tls --ignore-not-found) if [[ $exist == "" ]];then - docker run --rm -v $PWD:/etc/ovn kubeovn/kube-ovn:v1.5.0 bash generate-ssl.sh + docker run --rm -v $PWD:/etc/ovn kubeovn/kube-ovn:v1.6.0 bash generate-ssl.sh kubectl create secret generic -n kube-system kube-ovn-tls --from-file=cacert=cacert.pem --from-file=cert=ovn-cert.pem --from-file=key=ovn-privkey.pem rm -rf cacert.pem ovn-cert.pem ovn-privkey.pem ovn-req.pem fi diff --git a/dist/images/ovn-ic-db-docker.sh b/dist/images/ovn-ic-db-docker.sh index 9f83395ffbe..7aa034ba134 100644 --- a/dist/images/ovn-ic-db-docker.sh +++ b/dist/images/ovn-ic-db-docker.sh @@ -1 +1 @@ -docker run -d --network=host -v /etc/ovn/:/etc/ovn -v /var/run/ovn:/var/run/ovn -v /var/log/ovn:/var/log/ovn kubeovn/kube-ovn:v1.5.0 bash start-ic-db.sh +docker run -d --network=host -v /etc/ovn/:/etc/ovn -v /var/run/ovn:/var/run/ovn -v /var/log/ovn:/var/log/ovn kubeovn/kube-ovn:v1.6.0 bash start-ic-db.sh diff --git a/docs/cluster-interconnection.md b/docs/cluster-interconnection.md index 265a092f1fb..4f81f087e59 100644 --- a/docs/cluster-interconnection.md +++ b/docs/cluster-interconnection.md @@ -13,7 +13,7 @@ only L3 connectivity for gateway nodes is required. ## Auto Route Step 1. Run Interconnection Controller in a region that can be accessed by other cluster ```bash -docker run --name=ovn-ic-db -d --network=host -v /etc/ovn/:/etc/ovn -v /var/run/ovn:/var/run/ovn -v /var/log/ovn:/var/log/ovn kubeovn/kube-ovn:v1.5.2 bash start-ic-db.sh +docker run --name=ovn-ic-db -d --network=host -v /etc/ovn/:/etc/ovn -v /var/run/ovn:/var/run/ovn -v /var/log/ovn:/var/log/ovn kubeovn/kube-ovn:v1.6.0 bash start-ic-db.sh ``` 2. Create `ovn-ic-config` ConfigMap in each cluster `kube-system` namespace. Edit and apply the yaml below in each cluster. ```yaml @@ -85,7 +85,7 @@ For manually adding routes, you need to find the ## Manually Route Step 1. Same as AutoRoute step 1,run Interconnection Controller in a region that can be accessed by other cluster ```bash -docker run --name=ovn-ic-db -d --network=host -v /etc/ovn/:/etc/ovn -v /var/run/ovn:/var/run/ovn -v /var/log/ovn:/var/log/ovn kubeovn/kube-ovn:v1.5.2 bash start-ic-db.sh +docker run --name=ovn-ic-db -d --network=host -v /etc/ovn/:/etc/ovn -v /var/run/ovn:/var/run/ovn -v /var/log/ovn:/var/log/ovn kubeovn/kube-ovn:v1.6.0 bash start-ic-db.sh ``` 2. Create `ic-config` ConfigMap in each cluster. Edit and apply the yaml below in each cluster. Note that `auto-route` is set to `false` ```yaml diff --git a/docs/dpdk.md b/docs/dpdk.md index 4c2cdea2f2b..43818d0ea39 100644 --- a/docs/dpdk.md +++ b/docs/dpdk.md @@ -62,7 +62,7 @@ dpdk-hugepage-dir=/dev/hugepages ## To Install 1. Download the installation script: -`wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/dist/images/install.sh` +`wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/dist/images/install.sh` 2. Use vim to edit the script variables to meet your requirement ```bash diff --git a/docs/high-available.md b/docs/high-available.md index 59990928a94..ed911e879c1 100644 --- a/docs/high-available.md +++ b/docs/high-available.md @@ -8,7 +8,7 @@ Change the replicas to 3, and add NODE_IPS environment var points to node that h replicas: 3 containers: - name: ovn-central - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: Always env: - name: POD_IP diff --git a/docs/install.md b/docs/install.md index c2ed5749d99..f425cc11ac0 100644 --- a/docs/install.md +++ b/docs/install.md @@ -24,10 +24,10 @@ Kube-OVN provides a one script install to easily install a high-available, produ 1. Download the stable release installer scripts For Kubernetes version>=1.16 -`wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/dist/images/install.sh` +`wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/dist/images/install.sh` For Kubernetes version<1.16 -`wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/dist/images/install-pre-1.16.sh` +`wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/dist/images/install-pre-1.16.sh` If you want to try the latest developing Kube-OVN, try the script below `wget https://raw.githubusercontent.com/alauda/kube-ovn/master/dist/images/install.sh` @@ -40,7 +40,7 @@ If you want to try the latest developing Kube-OVN, try the script below JOIN_CIDR="100.64.0.0/16" # Do NOT overlap with NODE/POD/SVC CIDR LABEL="node-role.kubernetes.io/master" # The node label to deploy OVN DB IFACE="" # The nic to support container network can be a nic name or a group of regex separated by comma, if empty will use the nic that the default route use - VERSION="v1.5.2" + VERSION="v1.6.0" ``` After v1.6.0 `IFACE` support regex, e.g. `IFACE=enp6s0f0,eth.*` @@ -62,19 +62,19 @@ For Kubernetes version before 1.17 please use the following command to add the n `kubectl label node kube-ovn/role=master` 2. Install Kube-OVN related CRDs - `kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/yamls/crd.yaml` + `kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/yamls/crd.yaml` 3. Install native OVS and OVN components: - `kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/yamls/ovn.yaml` + `kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/yamls/ovn.yaml` 4. Install the Kube-OVN Controller and CNI plugins: - `kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/yamls/kube-ovn.yaml` + `kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/yamls/kube-ovn.yaml` That's all! You can now create some pods and test connectivity. For high-available ovn db, see [high available](high-available.md) -If you want to enable IPv6 on default subnet and node subnet, please apply https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/yamls/kube-ovn-ipv6.yaml on Step 3. +If you want to enable IPv6 on default subnet and node subnet, please apply https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/yamls/kube-ovn-ipv6.yaml on Step 3. ## More Configuration @@ -158,7 +158,7 @@ You can use `--default-cidr` flags below to config default Pod CIDR or create a 1. Remove Kubernetes resources: ```bash - wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/dist/images/cleanup.sh + wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/dist/images/cleanup.sh bash cleanup.sh ``` diff --git a/docs/ipv6.md b/docs/ipv6.md index c729c743f4b..adf101bf52f 100644 --- a/docs/ipv6.md +++ b/docs/ipv6.md @@ -2,4 +2,4 @@ Through Kube-OVN does support both protocol subnets coexist in a cluster, Kubernetes control plan now only support one protocol. So you will lost some ability like probe and service discovery if you use a protocol other than the kubernetes control plan. We recommend you use only one same ip protocol that same with kubernetes control plan. -To enable IPv6 support you need to modify the installation yaml to specify the default subnet and node subnet cidrBlock and gateway with a ipv6 format. You can apply this [v6 version yaml](https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/yamls/kube-ovn-ipv6.yaml) at [installation step 3](install.md#to-install) for a quick start. +To enable IPv6 support you need to modify the installation yaml to specify the default subnet and node subnet cidrBlock and gateway with a ipv6 format. You can apply this [v6 version yaml](https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/yamls/kube-ovn-ipv6.yaml) at [installation step 3](install.md#to-install) for a quick start. diff --git a/docs/vlan.md b/docs/vlan.md index 9f191356d7f..2caa123fccf 100644 --- a/docs/vlan.md +++ b/docs/vlan.md @@ -14,7 +14,7 @@ We are working at combine two networks in one cluster. 1. Get the installation script -`wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.5/dist/images/install.sh` +`wget https://raw.githubusercontent.com/alauda/kube-ovn/release-1.6/dist/images/install.sh` 2. Edit the `install.sh`, modify `NETWORK_TYPE` to `vlan`, `VLAN_INTERFACE_NAME` to related host interface. diff --git a/yamls/kube-ovn-ipv6.yaml b/yamls/kube-ovn-ipv6.yaml index 008ac7879b2..ceee7318712 100644 --- a/yamls/kube-ovn-ipv6.yaml +++ b/yamls/kube-ovn-ipv6.yaml @@ -38,7 +38,7 @@ spec: hostNetwork: true containers: - name: kube-ovn-controller - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: - /kube-ovn/start-controller.sh @@ -117,7 +117,7 @@ spec: hostPID: true initContainers: - name: install-cni - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: ["/kube-ovn/install-cni.sh"] securityContext: @@ -128,7 +128,7 @@ spec: name: cni-bin containers: - name: cni-server - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: - bash @@ -231,7 +231,7 @@ spec: hostPID: true containers: - name: pinger - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" command: ["/kube-ovn/kube-ovn-pinger", "--external-address=114.114.114.114", "--external-dns=alauda.cn"] imagePullPolicy: IfNotPresent securityContext: diff --git a/yamls/kube-ovn.yaml b/yamls/kube-ovn.yaml index a07b7848db9..1f2f68726d5 100644 --- a/yamls/kube-ovn.yaml +++ b/yamls/kube-ovn.yaml @@ -38,7 +38,7 @@ spec: hostNetwork: true containers: - name: kube-ovn-controller - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: - /kube-ovn/start-controller.sh @@ -126,7 +126,7 @@ spec: hostPID: true initContainers: - name: install-cni - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: ["/kube-ovn/install-cni.sh"] securityContext: @@ -137,7 +137,7 @@ spec: name: cni-bin containers: - name: cni-server - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: - bash @@ -247,7 +247,7 @@ spec: hostPID: true containers: - name: pinger - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" command: ["/kube-ovn/kube-ovn-pinger", "--external-address=114.114.114.114", "--external-dns=alauda.cn"] imagePullPolicy: IfNotPresent securityContext: diff --git a/yamls/ovn-ha.yaml b/yamls/ovn-ha.yaml index e0cdd4145c9..d5848a47789 100644 --- a/yamls/ovn-ha.yaml +++ b/yamls/ovn-ha.yaml @@ -187,7 +187,7 @@ spec: hostNetwork: true containers: - name: ovn-central - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: ["/kube-ovn/start-db.sh"] securityContext: @@ -310,7 +310,7 @@ spec: hostPID: true containers: - name: openvswitch - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: ["/kube-ovn/start-ovs.sh"] securityContext: diff --git a/yamls/ovn.yaml b/yamls/ovn.yaml index abac6ed4c6b..4d564ac345e 100644 --- a/yamls/ovn.yaml +++ b/yamls/ovn.yaml @@ -204,7 +204,7 @@ spec: shareProcessNamespace: true containers: - name: ovn-central - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: ["/kube-ovn/start-db.sh"] securityContext: @@ -389,7 +389,7 @@ spec: hostPID: true containers: - name: openvswitch - image: "kubeovn/kube-ovn:v1.5.2" + image: "kubeovn/kube-ovn:v1.6.0" imagePullPolicy: IfNotPresent command: ["/kube-ovn/start-ovs.sh"] securityContext: