diff --git a/v1.12.x/en/reference/dev-env/index.html b/v1.12.x/en/reference/dev-env/index.html index 495eddab8..7492ee01f 100644 --- a/v1.12.x/en/reference/dev-env/index.html +++ b/v1.12.x/en/reference/dev-env/index.html @@ -6,7 +6,7 @@ var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); -

Development Setup

Environmental Preparation

Kube-OVN uses Golang 1.18 to develop and Go Modules to manage dependency, please check env GO111MODULE="on"

gosec is used to scan for code security related issues and requires to be installed in the development environment:

go get github.com/securego/gosec/v2/cmd/gosec
+    

Development Setup

Environmental Preparation

Kube-OVN uses Golang 1.20 to develop and Go Modules to manage dependency, please check env GO111MODULE="on"

gosec is used to scan for code security related issues and requires to be installed in the development environment:

go get github.com/securego/gosec/v2/cmd/gosec
 

To reduce the size of the final generated image, Kube-OVN uses some of the Docker buildx experimental features, please update Docker to the latest version and enable buildx:

docker buildx create --use
 

Build Image

Use the following command to download the code and generate the image required to run Kube-OVN:

git clone https://github.com/kubeovn/kube-ovn.git
 cd kube-ovn
@@ -17,7 +17,7 @@
 
 # build arm base image
 make base-arm64
-

Run E2E

Kube-OVN uses KIND to build local Kubernetes cluster, j2cli to render templates, and Ginkgo to run test cases. Please refer to the relevant documentation for dependency installation.

Run E2E locally:

make kind-init
+

Run E2E

Kube-OVN uses KIND to build local Kubernetes cluster, j2cli to render templates, and Ginkgo to run test cases. Please refer to the relevant documentation for dependency installation.

Run E2E locally:

make kind-init
 make kind-install
 make e2e
 

To run the Underlay E2E test, run the following commands:

make kind-init
diff --git a/v1.12.x/en/start/prepare/index.html b/v1.12.x/en/start/prepare/index.html
index 8c1100d5a..6c4011b6a 100644
--- a/v1.12.x/en/start/prepare/index.html
+++ b/v1.12.x/en/start/prepare/index.html
@@ -6,7 +6,7 @@
   var s = document.getElementsByTagName("script")[0];
   s.parentNode.insertBefore(hm, s);
 })();
-    

Prerequisites

Kube-OVN is a CNI-compliant network system that depends on the Kubernetes environment and the corresponding kernel network module for its operation. Below are the operating system and software versions tested, the environment configuration and the ports that need to be opened.

Software Version

  • Kubernetes >= 1.16,1.19 and above is recommended.
  • Docker >= 1.12.6, Containerd >= 1.3.4.
  • OS: CentOS 7/8, Ubuntu 16.04/18.04/20.04.
  • For other Linux distributions, please make sure geneve, openvswitch, ip_tables and iptable_nat kernel modules exist.

Attention

  1. For CentOS kernel version 3.10.0-862 bug exists in netfilter modules that lead Kube-OVN embed nat and lb failure.Please update kernel and check Floating IPs broken after kernel upgrade to Centos/RHEL 7.5 - DNAT not working.
  2. Kernel version 4.18.0-372.9.1.el8.x86_64 in Rocky Linux 8.6 has a TCP connection problem TCP connection failed in Rocky Linux 8.6,please update kernel to 4.18.0-372.13.1.el8_6.x86_64 or later。
  3. For kernel version 4.4, the related openvswitch module has some issues for ct,please update kernel version or manually compile openvswitch kernel module.
  4. When building Geneve tunnel IPv6 in kernel should be enabled,check the kernel bootstrap options with cat /proc/cmdline.Check Geneve tunnels don't work when ipv6 is disabled for the detail bug info.

Environment Setup

  • Kernel should enable IPv6, if kernel bootstrap options contain ipv6.disable=1, it should be set to 0.
  • kube-proxy works, Kube-OVN can visit kube-apiserver from Service ClusterIP.
  • Make sure kubelet enabled CNI and find cni-bin and cni-conf in default directories, kubelet bootstrap options should contain --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d.
  • Make sure no other CNI installed or has been removed,check if any config files still exist in/etc/cni/net.d/.

Ports Need Open

Component Port Usage
ovn-central 6641/tcp, 6642/tcp, 6643/tcp, 6644/tcp ovn-db and raft server listen ports
ovs-ovn Geneve 6081/udp, STT 7471/tcp, Vxlan 4789/udp tunnel ports
kube-ovn-controller 10660/tcp metrics port
kube-ovn-daemon 10665/tcp metrics port
kube-ovn-monitor 10661/tcp metrics port

微信群 Slack Twitter Support


Last update: February 15, 2023
Created: June 30, 2022

Comments

Prerequisites

Kube-OVN is a CNI-compliant network system that depends on the Kubernetes environment and the corresponding kernel network module for its operation. Below are the operating system and software versions tested, the environment configuration and the ports that need to be opened.

Software Version

  • Kubernetes >= 1.23.
  • Docker >= 1.12.6, Containerd >= 1.3.4.
  • OS: CentOS 7/8, Ubuntu 16.04/18.04/20.04.
  • For other Linux distributions, please make sure geneve, openvswitch, ip_tables and iptable_nat kernel modules exist.

Attention

  1. For CentOS kernel version 3.10.0-862 bug exists in netfilter modules that lead Kube-OVN embed nat and lb failure.Please update kernel and check Floating IPs broken after kernel upgrade to Centos/RHEL 7.5 - DNAT not working.
  2. Kernel version 4.18.0-372.9.1.el8.x86_64 in Rocky Linux 8.6 has a TCP connection problem TCP connection failed in Rocky Linux 8.6,please update kernel to 4.18.0-372.13.1.el8_6.x86_64 or later。
  3. For kernel version 4.4, the related openvswitch module has some issues for ct,please update kernel version or manually compile openvswitch kernel module.
  4. When building Geneve tunnel IPv6 in kernel should be enabled,check the kernel bootstrap options with cat /proc/cmdline.Check Geneve tunnels don't work when ipv6 is disabled for the detail bug info.

Environment Setup

  • Kernel should enable IPv6, if kernel bootstrap options contain ipv6.disable=1, it should be set to 0.
  • kube-proxy works, Kube-OVN can visit kube-apiserver from Service ClusterIP.
  • Make sure kubelet enabled CNI and find cni-bin and cni-conf in default directories, kubelet bootstrap options should contain --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d.
  • Make sure no other CNI installed or has been removed,check if any config files still exist in/etc/cni/net.d/.

Ports Need Open

Component Port Usage
ovn-central 6641/tcp, 6642/tcp, 6643/tcp, 6644/tcp ovn-db and raft server listen ports
ovs-ovn Geneve 6081/udp, STT 7471/tcp, Vxlan 4789/udp tunnel ports
kube-ovn-controller 10660/tcp metrics port
kube-ovn-daemon 10665/tcp metrics port
kube-ovn-monitor 10661/tcp metrics port

微信群 Slack Twitter Support


Last update: July 20, 2023
Created: June 30, 2022

Comments

开发环境构建

环境准备

Kube-OVN 使用 Go 1.18 开发并使用 Go Modules 管理依赖, 请确认环境变量 GO111MODULE="on"

gosec 被用来扫描代码安全相关问题,需要在开发环境安装:

go get github.com/securego/gosec/v2/cmd/gosec
+    

开发环境构建

环境准备

Kube-OVN 使用 Go 1.20 开发并使用 Go Modules 管理依赖, 请确认环境变量 GO111MODULE="on"

gosec 被用来扫描代码安全相关问题,需要在开发环境安装:

go get github.com/securego/gosec/v2/cmd/gosec
 

为了降低最终生成镜像大小,Kube-OVN 使用了部分 Docker buildx 试验特性,请更新 Docker 至最新版本 并开启 buildx:

docker buildx create --use
 

构建镜像

使用下面的命令下载代码,并生成运行 Kube-OVN 所需镜像:

git clone https://github.com/kubeovn/kube-ovn.git
 cd kube-ovn
@@ -35,7 +35,7 @@
 make kind-install-lb-svc
 make kube-ovn-lb-svc-conformance-e2e
 

如需清理,执行下列命令:

make kind-clean
-

微信群 Slack Twitter Support


最后更新: 2023年7月16日
创建日期: 2022年5月24日

评论

准备工作

Kube-OVN 是一个符合 CNI 规范的网络组件,其运行需要依赖 Kubernetes 环境及对应的内核网络模块。 以下是通过测试的操作系统和软件版本,环境配置和所需要开放的端口信息。

软件版本

  • Kubernetes >= 1.16,推荐 1.19 以上版本。
  • Docker >= 1.12.6, Containerd >= 1.3.4。
  • 操作系统: CentOS 7/8, Ubuntu 16.04/18.04/20.04。
  • 其他 Linux 发行版,需要检查一下内核模块是否存在 geneve, openvswitch, ip_tablesiptable_nat,Kube-OVN 正常工作依赖上述模块。

注意事项

  1. 如果内核版本为 3.10.0-862 内核 netfilter 模块存在 bug 会导致 Kube-OVN 内置负载均衡器无法工作,需要对内核升级,建议使用 CentOS 官方对应版本最新内核保证系统的安全。相关内核 bug 参考 Floating IPs broken after kernel upgrade to Centos/RHEL 7.5 - DNAT not working
  2. Rocky Linux 8.6 的内核 4.18.0-372.9.1.el8.x86_64 存在 TCP 通信问题 TCP connection failed in Rocky Linux 8.6,请升级内核至 4.18.0-372.13.1.el8_6.x86_64 或更高版本。
  3. 如果内核版本为 4.4 则对应的内核 openvswitch 模块存在问题,建议升级或手动编译 openvswitch 新版本模块进行更新
  4. Geneve 隧道建立需要检查 IPv6,可通过 cat /proc/cmdline 检查内核启动参数, 相关内核 bug 请参考 Geneve tunnels don't work when ipv6 is disabled

环境配置

  • Kernel 启动需要开启 ipv6, 如果 kernel 启动参数包含 ipv6.disable=1 需要将其设置为 0。
  • kube-proxy 正常工作,Kube-OVN 可以通过 SVC IP 访问到 kube-apiserver
  • 确认 kubelet 配置参数开启了 CNI,并且配置在标准路径下, kubelet 启动时应包含如下参数 --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d
  • 确认未安装其他网络插件,或者其他网络插件已经被清除,检查 /etc/cni/net.d/ 路径下无其他网络插件配置文件。如果之前安装过其他网络插件,建议删除后重启机器清理残留网络资源。

端口信息

组件 端口 用途
ovn-central 6641/tcp, 6642/tcp, 6643/tcp, 6644/tcp ovn-db 和 raft server 监听端口
ovs-ovn Geneve 6081/udp, STT 7471/tcp, Vxlan 4789/udp 隧道端口
kube-ovn-controller 10660/tcp 监控监听端口
kube-ovn-daemon 10665/tcp 监控监听端口
kube-ovn-monitor 10661/tcp 监控监听端口

微信群 Slack Twitter Support


最后更新: 2023年2月15日
创建日期: 2022年5月20日

评论

准备工作

Kube-OVN 是一个符合 CNI 规范的网络组件,其运行需要依赖 Kubernetes 环境及对应的内核网络模块。 以下是通过测试的操作系统和软件版本,环境配置和所需要开放的端口信息。

软件版本

  • Kubernetes >= 1.23。
  • Docker >= 1.12.6, Containerd >= 1.3.4。
  • 操作系统: CentOS 7/8, Ubuntu 16.04/18.04/20.04。
  • 其他 Linux 发行版,需要检查一下内核模块是否存在 geneve, openvswitch, ip_tablesiptable_nat,Kube-OVN 正常工作依赖上述模块。

注意事项

  1. 如果内核版本为 3.10.0-862 内核 netfilter 模块存在 bug 会导致 Kube-OVN 内置负载均衡器无法工作,需要对内核升级,建议使用 CentOS 官方对应版本最新内核保证系统的安全。相关内核 bug 参考 Floating IPs broken after kernel upgrade to Centos/RHEL 7.5 - DNAT not working
  2. Rocky Linux 8.6 的内核 4.18.0-372.9.1.el8.x86_64 存在 TCP 通信问题 TCP connection failed in Rocky Linux 8.6,请升级内核至 4.18.0-372.13.1.el8_6.x86_64 或更高版本。
  3. 如果内核版本为 4.4 则对应的内核 openvswitch 模块存在问题,建议升级或手动编译 openvswitch 新版本模块进行更新
  4. Geneve 隧道建立需要检查 IPv6,可通过 cat /proc/cmdline 检查内核启动参数, 相关内核 bug 请参考 Geneve tunnels don't work when ipv6 is disabled

环境配置

  • Kernel 启动需要开启 ipv6, 如果 kernel 启动参数包含 ipv6.disable=1 需要将其设置为 0。
  • kube-proxy 正常工作,Kube-OVN 可以通过 SVC IP 访问到 kube-apiserver
  • 确认 kubelet 配置参数开启了 CNI,并且配置在标准路径下, kubelet 启动时应包含如下参数 --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d
  • 确认未安装其他网络插件,或者其他网络插件已经被清除,检查 /etc/cni/net.d/ 路径下无其他网络插件配置文件。如果之前安装过其他网络插件,建议删除后重启机器清理残留网络资源。

端口信息

组件 端口 用途
ovn-central 6641/tcp, 6642/tcp, 6643/tcp, 6644/tcp ovn-db 和 raft server 监听端口
ovs-ovn Geneve 6081/udp, STT 7471/tcp, Vxlan 4789/udp 隧道端口
kube-ovn-controller 10660/tcp 监控监听端口
kube-ovn-daemon 10665/tcp 监控监听端口
kube-ovn-monitor 10661/tcp 监控监听端口

微信群 Slack Twitter Support


最后更新: 2023年7月20日
创建日期: 2022年5月20日

评论

开发环境构建

环境准备

Kube-OVN 使用 Go 1.18 开发并使用 Go Modules 管理依赖, 请确认环境变量 GO111MODULE="on"

gosec 被用来扫描代码安全相关问题,需要在开发环境安装:

go get github.com/securego/gosec/v2/cmd/gosec
+    

开发环境构建

环境准备

Kube-OVN 使用 Go 1.20 开发并使用 Go Modules 管理依赖, 请确认环境变量 GO111MODULE="on"

gosec 被用来扫描代码安全相关问题,需要在开发环境安装:

go get github.com/securego/gosec/v2/cmd/gosec
 

为了降低最终生成镜像大小,Kube-OVN 使用了部分 Docker buildx 试验特性,请更新 Docker 至最新版本 并开启 buildx:

docker buildx create --use
 

构建镜像

使用下面的命令下载代码,并生成运行 Kube-OVN 所需镜像:

git clone https://github.com/kubeovn/kube-ovn.git
 cd kube-ovn
@@ -35,7 +35,7 @@
 make kind-install-lb-svc
 make kube-ovn-lb-svc-conformance-e2e
 

如需清理,执行下列命令:

make kind-clean
-

微信群 Slack Twitter Support


最后更新: 2023年7月16日
创建日期: 2022年5月24日

评论

准备工作

Kube-OVN 是一个符合 CNI 规范的网络组件,其运行需要依赖 Kubernetes 环境及对应的内核网络模块。 以下是通过测试的操作系统和软件版本,环境配置和所需要开放的端口信息。

软件版本

  • Kubernetes >= 1.16,推荐 1.19 以上版本。
  • Docker >= 1.12.6, Containerd >= 1.3.4。
  • 操作系统: CentOS 7/8, Ubuntu 16.04/18.04/20.04。
  • 其他 Linux 发行版,需要检查一下内核模块是否存在 geneve, openvswitch, ip_tablesiptable_nat,Kube-OVN 正常工作依赖上述模块。

注意事项

  1. 如果内核版本为 3.10.0-862 内核 netfilter 模块存在 bug 会导致 Kube-OVN 内置负载均衡器无法工作,需要对内核升级,建议使用 CentOS 官方对应版本最新内核保证系统的安全。相关内核 bug 参考 Floating IPs broken after kernel upgrade to Centos/RHEL 7.5 - DNAT not working
  2. Rocky Linux 8.6 的内核 4.18.0-372.9.1.el8.x86_64 存在 TCP 通信问题 TCP connection failed in Rocky Linux 8.6,请升级内核至 4.18.0-372.13.1.el8_6.x86_64 或更高版本。
  3. 如果内核版本为 4.4 则对应的内核 openvswitch 模块存在问题,建议升级或手动编译 openvswitch 新版本模块进行更新
  4. Geneve 隧道建立需要检查 IPv6,可通过 cat /proc/cmdline 检查内核启动参数, 相关内核 bug 请参考 Geneve tunnels don't work when ipv6 is disabled

环境配置

  • Kernel 启动需要开启 ipv6, 如果 kernel 启动参数包含 ipv6.disable=1 需要将其设置为 0。
  • kube-proxy 正常工作,Kube-OVN 可以通过 SVC IP 访问到 kube-apiserver
  • 确认 kubelet 配置参数开启了 CNI,并且配置在标准路径下, kubelet 启动时应包含如下参数 --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d
  • 确认未安装其他网络插件,或者其他网络插件已经被清除,检查 /etc/cni/net.d/ 路径下无其他网络插件配置文件。如果之前安装过其他网络插件,建议删除后重启机器清理残留网络资源。

端口信息

组件 端口 用途
ovn-central 6641/tcp, 6642/tcp, 6643/tcp, 6644/tcp ovn-db 和 raft server 监听端口
ovs-ovn Geneve 6081/udp, STT 7471/tcp, Vxlan 4789/udp 隧道端口
kube-ovn-controller 10660/tcp 监控监听端口
kube-ovn-daemon 10665/tcp 监控监听端口
kube-ovn-monitor 10661/tcp 监控监听端口

微信群 Slack Twitter Support


最后更新: 2023年2月15日
创建日期: 2022年5月20日

评论

准备工作

Kube-OVN 是一个符合 CNI 规范的网络组件,其运行需要依赖 Kubernetes 环境及对应的内核网络模块。 以下是通过测试的操作系统和软件版本,环境配置和所需要开放的端口信息。

软件版本

  • Kubernetes >= 1.23。
  • Docker >= 1.12.6, Containerd >= 1.3.4。
  • 操作系统: CentOS 7/8, Ubuntu 16.04/18.04/20.04。
  • 其他 Linux 发行版,需要检查一下内核模块是否存在 geneve, openvswitch, ip_tablesiptable_nat,Kube-OVN 正常工作依赖上述模块。

注意事项

  1. 如果内核版本为 3.10.0-862 内核 netfilter 模块存在 bug 会导致 Kube-OVN 内置负载均衡器无法工作,需要对内核升级,建议使用 CentOS 官方对应版本最新内核保证系统的安全。相关内核 bug 参考 Floating IPs broken after kernel upgrade to Centos/RHEL 7.5 - DNAT not working
  2. Rocky Linux 8.6 的内核 4.18.0-372.9.1.el8.x86_64 存在 TCP 通信问题 TCP connection failed in Rocky Linux 8.6,请升级内核至 4.18.0-372.13.1.el8_6.x86_64 或更高版本。
  3. 如果内核版本为 4.4 则对应的内核 openvswitch 模块存在问题,建议升级或手动编译 openvswitch 新版本模块进行更新
  4. Geneve 隧道建立需要检查 IPv6,可通过 cat /proc/cmdline 检查内核启动参数, 相关内核 bug 请参考 Geneve tunnels don't work when ipv6 is disabled

环境配置

  • Kernel 启动需要开启 ipv6, 如果 kernel 启动参数包含 ipv6.disable=1 需要将其设置为 0。
  • kube-proxy 正常工作,Kube-OVN 可以通过 SVC IP 访问到 kube-apiserver
  • 确认 kubelet 配置参数开启了 CNI,并且配置在标准路径下, kubelet 启动时应包含如下参数 --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d
  • 确认未安装其他网络插件,或者其他网络插件已经被清除,检查 /etc/cni/net.d/ 路径下无其他网络插件配置文件。如果之前安装过其他网络插件,建议删除后重启机器清理残留网络资源。

端口信息

组件 端口 用途
ovn-central 6641/tcp, 6642/tcp, 6643/tcp, 6644/tcp ovn-db 和 raft server 监听端口
ovs-ovn Geneve 6081/udp, STT 7471/tcp, Vxlan 4789/udp 隧道端口
kube-ovn-controller 10660/tcp 监控监听端口
kube-ovn-daemon 10665/tcp 监控监听端口
kube-ovn-monitor 10661/tcp 监控监听端口

微信群 Slack Twitter Support


最后更新: 2023年7月20日
创建日期: 2022年5月20日

评论