赞
踩
安装windows server 2019 虚拟机。
如果使用 VXLAN/覆盖(Overlay)联网设施,必须安装 KB4489899,见官方文档。
可下载、安装最新独立程序包,若安装时提示“此更新不适用于此系统”,没有关系,点击“开始菜单”->“设置”->”更新和安全”,立即更新、重启操作系统。
建议使用 datacenter版本,不能使用 essential及以下版本。
建议更新到最新状态。
参考微软官方文档windows server安装docker。
官方文档未指定版本,建议确定版本
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
输入’Y’,进行安装。
Install-Package -Name docker -RequiredVersion 19.03 -ProviderName DockerMsftProvider
输入’A’,进行安装。
Restart-Computer -Force
sudo sysctl net.bridge.bridge-nf-call-iptables=1
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
修改 kube-flannel.yml 清单中的 net-conf.json 部分,将 VNI 设置为 4096,并将 Port 设置为 4789。 结果看起来像下面这样:
net-conf.json: |
{
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan",
"VNI": 4096,
"Port": 4789
}
}
如果有多个网卡,注意指定。
kubectl create -f kube-flannel.yml
注意版本,这里使用版本v1.18.20。
curl -L https://github.com/kubernetes-sigs/sig-windows-tools/releases/download/v0.1.5/kube-proxy.yml | sed 's/VERSION/v1.18.20/g' | kubectl apply -f -
注意flannel网卡,这里使用网卡Ethernet0
curl -L https://github.com/kubernetes-sigs/sig-windows-tools/releases/download/v0.1.5/flannel-overlay.yml | sed 's/Ethernet/Ethernet0/g' | kubectl apply -f -
注意:若 windows节点上容器不能ping node_ip,可修改flannel-overlay.yml 中配置,增加节点网段:
#$cniJson.delegate.policies[0].Value.ExceptionList = $serviceSubnet, $podSubnet
$cniJson.delegate.policies[0].Value.ExceptionList = $serviceSubnet, $podSubnet, "192.168.3.0/24"
curl.exe -LO https://github.com/kubernetes-sigs/sig-windows-tools/releases/download/v0.1.5/PrepareNode.ps1
.\PrepareNode.ps1 -KubernetesVersion v1.18.20
kubeadm join 192.168.146.131:6443 --token h1czvj.pksgum8s9yw3a683 --discovery-token-ca-cert-hash sha256:33bec7e235a7c621c83ec24ff3992df60754d90828c754192c1ab67d54050e3a
如果加入集群有bug,证书文件路径不对。
第一次加入失败后,执行下面2步:
cp -r C:\etc C:\var\lib\kubelet
kubeadm join 192.168.146.131:6443 --token h1czvj.pksgum8s9yw3a683 --discovery-token-ca-cert-hash sha256:33bec7e235a7c621c83ec24ff3992df60754d90828c754192c1ab67d54050e3a --skip-phases=preflight,control-plane-prepare
vim hello-win.yml
输入如下内容
apiVersion: v1
kind: Pod
metadata:
name: hello
spec:
containers:
- name: hello-c
image: mcr.microsoft.com/windows/servercore:1809
resources:
limits:
memory: "2000Mi"
requests:
memory: "100Mi"
command: ['powershell.exe','-command','while(1 -le 2) { echo hello; Get-Date; Start-Sleep -s 3 }']
kubectl create -f hello-win.yml
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。