-
Notifications
You must be signed in to change notification settings - Fork 450
Windows 支持
从 v1.10 版本开始, Kube-OVN 支持运行在包含有 Windows 节点的 Kubernetes 集群中。
- 安装 Kube-OVN 时必须禁用 SSL,如果通过安装脚本进行部署,
ENABLE_SSL
必须设置为false
; - 暂不支持在 Windows 节点上部署
kube-proxy
,因此 Kubernetes Service 无法通过 Windows 节点访问; - 暂不支持 IPv6 单栈网络或 IPv4/IPv6 双栈网络;
- 暂不支持 Pod/Workload QoS;
- Windows 节点不支持子网的动态增删,在 Windows 节点上部署 Kube-OVN 前必须先创建好所有子网;
- Windows 节点不支持多个 ProviderNetwork 资源,Underlay 网络只支持一个名为
provider
的 ProviderNetwork; - Windows 节点不支持动态隧道接口配置,部署完成后隧道接口配置无法改变;
- Windows 节点不支持动态 ProviderNetwork 桥接网口配置。
- Kubernetes 版本不低于 v1.17;
- Windows 节点仅支持 64 位 Windows Server 2019;
- Windows 节点需要至少包含 Windows Server 2019 License 以运行容器;
- Windows 节点必须安装 KB4489899 补丁以使 Overlay/VXLAN 网络正常工作,建议更新系统至最新版本;
- Windows 节点必须安装 Hyper-V 及管理工具;
目前仅支持 Docker Engine。
在 PowerShell 中运行以下命令,开启 Containers 特性:
Install-WindowsFeature -Name containers
参考官方文档,安装 Docker Engine:Install Docker Engine - Enterprise on Windows Servers。
在 Windows 节点中执行 PrepareNode.ps1,安装 kubeadm
and kubelet
。示例如下:
.\PrepareNode.ps1 -KubernetesVersion v1.22.9 -ContainerRuntime Docker
在使用 kubeadm init
创建集群时,kubeadm 会给出一个 kubeadm join
命令,你可以在 Windows 节点上执行此命令来添加节点。你也可以在 Master 节点上执行 kubeadm token create --print-join-command
来生成一个新的 kubeadm join
命令。
添加成功后,可以查看到节点信息:
kubectl get nodes -o wide
下载 Windows 安装包并解压。
使用以下命令打开 Windows 节点的 TESTSIGNING
启动项:
bcdedit /set LOADOPTIONS DISABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING ON
bcdedit /set nointegritychecks ON
执行成功后需要重启系统才能生效。重启系统后,打开 OpenvSwitch.msi,安装 Open vSwitch。
安装完成后,确认服务正常运行:
PS > Get-Service | findstr ovs
Running ovsdb-server Open vSwitch DB Service
Running ovs-vswitchd Open vSwitch Service
执行 install.ps1
,在 Windows 节点上安装 OVN 及 Kube-OVN,示例如下:
.\install.ps1 -KubeConfig C:\k\admin.conf -ApiServer https://192.168.140.180:6443 -ServiceCIDR 10.96.0.0/12
安装脚本详细参数说明请参考 install.ps1。
默认情况下, Kube-OVN 使用节点 IP 所在的网卡作为隧道接口。如果需要使用其它网卡,需要在安装前给节点添加指定的 Annotation,如 ovn.kubernetes.io/tunnel_interface=Ethernet1
。
- 如果 Windows 节点缺少 Hyper-V 所需的虚拟化特性,Hyper-V 无法安装。此时可以通过以下命令安装 Hyper-V:
Install-WindowsFeature containers
Install-WindowsFeature Hyper-V-Powershell
dism /online /enable-feature /featurename:Microsoft-Hyper-V /all /NoRestart
dism /online /disable-feature /featurename:Microsoft-Hyper-V-Online /NoRestart
Restart-Computer
- Pod 一直处于
Terminating
状态,无法删除。此时可以通过重启 Windows 节点解决。