Skip to content

Commit

Permalink
release 1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
oilbeater committed Apr 7, 2020
1 parent a0ba627 commit de9b003
Show file tree
Hide file tree
Showing 13 changed files with 114 additions and 28 deletions.
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,45 @@
# CHANGELOG

## v1.1.0 -- 2020/04/07

In this version, we refactor IPAM to separate IP allocation logical from OVN.
On top of that we provide a general cluster wide IPAM utility for other CNI plugins.
Now other CNI plugins like macvlan/host-device/vlan etc can take advantage of subnet and static ip allocation functions in Kube-OVN.
Please check [this document](docs/multi-nic.md) to see how we combine Kube-OVN and Multus-CNI to provide multi-nic container network.

### IPAM
* Separate IPAM logical form OVN
* Add support for Multus-CNI

### Performance
* Recycle address if pod is in failed or succeeded phase
* Delete chassis form ovn-sb when node deleted
* Only enqueue updatePod when needed
* Add x86 optimization CFLAGS
* Add support to disable encapsulation checksum

### Monitor
* Diagnose will check Kube-OVN components status
* Diagnose will check crd status
* Diagnose will check kube-proxy and coredns status

### Bugfix
* Use uuid to fetch lb vips
* Add inactivity_probe back
* Update svc might remove other svc that with same prefix
* IP prefix might be empty
* Enqueue subnet update to add route
* Add iptables to accept container traffic

### Chore
* Update OVN to 20.03 and OVS to 2.13
* Add support for Kubernetes 1.17
* Put all component in one image to reduce distribute burden
* Add scripts to build ovs
* Add one script installer
* Add uninstall script
* Add more e2e tests

## v1.0.1 -- 2020/03/31

This release fix bugs found in v1.0.0
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v1.1.0-pre
v1.1.0
8 changes: 7 additions & 1 deletion dist/images/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@ SVC_CIDR="10.96.0.0/12" # Do NOT overlap with NODE/POD/JOIN CIDR
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, if empty will use the nic that the default route use
VERSION="v1.1.0-pre"
VERSION="v1.1.0"

echo "[Step 1] Label kube-ovn-master node"
count=$(kubectl get no -l$LABEL --no-headers -o wide | wc -l | sed 's/ //g')
if [ "$count" = "0" ]; then
echo "ERROR: No node with label $LABEL"
exit 1
fi
kubectl label no -lbeta.kubernetes.io/os=linux kubernetes.io/os=linux --overwrite
kubectl label no -l$LABEL kube-ovn/role=master --overwrite
echo "-------------------------------"
echo ""
Expand Down Expand Up @@ -302,6 +303,8 @@ spec:
readOnly: true
- mountPath: /etc/openvswitch
name: host-config-openvswitch
- mountPath: /etc/ovn
name: host-config-ovn
- mountPath: /var/log/openvswitch
name: host-log-ovs
- mountPath: /var/log/ovn
Expand Down Expand Up @@ -336,6 +339,9 @@ spec:
- name: host-config-openvswitch
hostPath:
path: /etc/origin/openvswitch
- name: host-config-ovn
hostPath:
path: /etc/origin/ovn
- name: host-log-ovs
hostPath:
path: /var/log/openvswitch
Expand Down
1 change: 1 addition & 0 deletions dist/images/uninstall.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ rm -rf /etc/openvswitch/*
rm -rf /etc/ovn/*
rm -rf /var/log/openvswitch/*
rm -rf /var/log/ovn/*
rm -rf /etc/cni/net.d/00-kube-ovn.conflist
rm -rf /etc/cni/net.d/01-kube-ovn.conflist
3 changes: 3 additions & 0 deletions docs/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@

Kube-OVN is developed by [Go](https://golang.org/) and uses [Go Modules](https://github.com/golang/go/wiki/Modules) to manage dependency.

To minimize image size we use docker experiment buildx features, please enable it through the [reference](https://docs.docker.com/develop/develop-images/build_enhancements/).

```
git clone https://github.com/alauda/kube-ovn.git
cd kube-ovn
make ovs
make release
```

Expand Down
41 changes: 36 additions & 5 deletions docs/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,52 @@ Kube-OVN includes two parts:

## To Install

### One Script Installer

Kube-OVN provides a one script install to easily install Kube-OVN

1. Download the installer scripts
`wget https://raw.githubusercontent.com/alauda/kube-ovn/v1.1.0/dist/images/install.sh`

2. Use vim to edit the script variables to meet your requirement
```bash
REGISTRY="index.alauda.cn/alaudak8s"
NAMESPACE="kube-system" # The ns to deploy kube-ovn
POD_CIDR="10.16.0.0/16" # Do NOT overlap with NODE/SVC/JOIN CIDR
SVC_CIDR="10.96.0.0/12" # Do NOT overlap with NODE/POD/JOIN CIDR
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, if empty will use the nic that the default route use
VERSION="v1.1.0"
```

3. Execute the script
`bash install.sh`

### Step by Step Install

If you want to know the detail steps to install Kube-OVN, please follow the steps.

For Kubernetes version before 1.17 please use the following command to add the node label

1. Add the following label to the Node which will host the OVN DB and the OVN Control Plane:

`kubectl label node <Node on which to deploy OVN DB> kube-ovn/role=master`
2. Install Kube-OVN related CRDs

`kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/v1.0.1/yamls/crd.yaml`
`kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/v1.1.0/yamls/crd.yaml`
3. Install native OVS and OVN components:

`kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/v1.0.1/yamls/ovn.yaml`
`kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/v1.1.0/yamls/ovn.yaml`
4. Install the Kube-OVN Controller and CNI plugins:

`kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/v1.0.1/yamls/kube-ovn.yaml`
`kubectl apply -f https://raw.githubusercontent.com/alauda/kube-ovn/v1.1.0/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/v1.0.1/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/v1.1.0/yamls/kube-ovn-ipv6.yaml on Step 3.

## More Configuration

Expand Down Expand Up @@ -83,17 +111,20 @@ 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/v1.0.1/dist/images/cleanup.sh
wget https://raw.githubusercontent.com/alauda/kube-ovn/v1.1.0/dist/images/cleanup.sh
bash cleanup.sh
```
For version before v1.1 you need the following steps
2. Delete OVN/OVS DB and config files on every Node:
```bash
rm -rf /var/run/openvswitch
rm -rf /etc/origin/openvswitch/
rm -rf /etc/openvswitch
rm -rf /etc/cni/net.d/00-kube-ovn.conflist
rm -rf /etc/cni/net.d/01-kube-ovn.conflist
rm -rf /var/log/openvswitch
```
3. Reboot the Node to remove ipset/iptables rules and nics.
2 changes: 1 addition & 1 deletion docs/kubectl-plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ To enable kubectl plugin, kubectl version of 1.12 or later is recommended. You c

1. Get the `kubectl-ko` file
```bash
wget https://raw.githubusercontent.com/alauda/kube-ovn/master/dist/images/kubectl-ko
wget https://raw.githubusercontent.com/alauda/kube-ovn/v1.1.0/dist/images/kubectl-ko
```

2. Move the file to one of $PATH directories
Expand Down
8 changes: 4 additions & 4 deletions yamls/kube-ovn-ipv6.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ spec:
hostNetwork: true
containers:
- name: kube-ovn-controller
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command:
- /kube-ovn/start-controller.sh
Expand Down Expand Up @@ -110,7 +110,7 @@ spec:
hostPID: true
initContainers:
- name: install-cni
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/install-cni.sh"]
securityContext:
Expand All @@ -123,7 +123,7 @@ spec:
name: cni-bin
containers:
- name: cni-server
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
command: ["sh", "/kube-ovn/start-cniserver.sh"]
args:
- --enable-mirror=false
Expand Down Expand Up @@ -206,7 +206,7 @@ spec:
hostPID: true
containers:
- name: pinger
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/kube-ovn-pinger"]
securityContext:
Expand Down
8 changes: 4 additions & 4 deletions yamls/kube-ovn-pre17.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ spec:
hostNetwork: true
containers:
- name: kube-ovn-controller
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command:
- /kube-ovn/start-controller.sh
Expand Down Expand Up @@ -108,7 +108,7 @@ spec:
hostPID: true
initContainers:
- name: install-cni
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/install-cni.sh"]
securityContext:
Expand All @@ -121,7 +121,7 @@ spec:
name: cni-bin
containers:
- name: cni-server
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command:
- sh
Expand Down Expand Up @@ -216,7 +216,7 @@ spec:
hostPID: true
containers:
- name: pinger
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
command: ["/kube-ovn/kube-ovn-pinger", "--external-address=114.114.114.114"]
imagePullPolicy: IfNotPresent
securityContext:
Expand Down
8 changes: 4 additions & 4 deletions yamls/kube-ovn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ spec:
hostNetwork: true
containers:
- name: kube-ovn-controller
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command:
- /kube-ovn/start-controller.sh
Expand Down Expand Up @@ -108,7 +108,7 @@ spec:
hostPID: true
initContainers:
- name: install-cni
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/install-cni.sh"]
securityContext:
Expand All @@ -121,7 +121,7 @@ spec:
name: cni-bin
containers:
- name: cni-server
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command:
- sh
Expand Down Expand Up @@ -216,7 +216,7 @@ spec:
hostPID: true
containers:
- name: pinger
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
command: ["/kube-ovn/kube-ovn-pinger", "--external-address=114.114.114.114"]
imagePullPolicy: IfNotPresent
securityContext:
Expand Down
13 changes: 9 additions & 4 deletions yamls/ovn-ha.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ spec:
hostNetwork: true
containers:
- name: ovn-central
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/start-db.sh"]
securityContext:
Expand Down Expand Up @@ -190,6 +190,8 @@ spec:
readOnly: true
- mountPath: /etc/openvswitch
name: host-config-openvswitch
- mountPath: /etc/ovn
name: host-config-ovn
- mountPath: /var/log/openvswitch
name: host-log-ovs
- mountPath: /var/log/ovn
Expand All @@ -209,7 +211,7 @@ spec:
periodSeconds: 7
failureThreshold: 5
nodeSelector:
beta.kubernetes.io/os: "linux"
kubernetes.io/os: "linux"
kube-ovn/role: "master"
volumes:
- name: host-run-ovs
Expand All @@ -224,6 +226,9 @@ spec:
- name: host-config-openvswitch
hostPath:
path: /etc/origin/openvswitch
- name: host-config-ovn
hostPath:
path: /etc/origin/ovn
- name: host-log-ovs
hostPath:
path: /var/log/openvswitch
Expand Down Expand Up @@ -262,7 +267,7 @@ spec:
hostPID: true
containers:
- name: openvswitch
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/start-ovs.sh"]
securityContext:
Expand Down Expand Up @@ -312,7 +317,7 @@ spec:
cpu: 1000m
memory: 800Mi
nodeSelector:
beta.kubernetes.io/os: "linux"
kubernetes.io/os: "linux"
volumes:
- name: host-modules
hostPath:
Expand Down
4 changes: 2 additions & 2 deletions yamls/ovn-pre17.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ spec:
hostNetwork: true
containers:
- name: ovn-central
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/start-db.sh"]
securityContext:
Expand Down Expand Up @@ -261,7 +261,7 @@ spec:
hostPID: true
containers:
- name: openvswitch
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/start-ovs.sh"]
securityContext:
Expand Down
4 changes: 2 additions & 2 deletions yamls/ovn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ spec:
hostNetwork: true
containers:
- name: ovn-central
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/start-db.sh"]
securityContext:
Expand Down Expand Up @@ -261,7 +261,7 @@ spec:
hostPID: true
containers:
- name: openvswitch
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0-pre"
image: "index.alauda.cn/alaudak8s/kube-ovn:v1.1.0"
imagePullPolicy: IfNotPresent
command: ["/kube-ovn/start-ovs.sh"]
securityContext:
Expand Down

0 comments on commit de9b003

Please sign in to comment.