在 Windows Server 2019 上安装 Kubern
2019-05-23 本文已影响0人
chenj23986526
- 系统要求
- Windows Server 2019 Datacenter or Standard
- 请尽量安装英文操作系统
- 确保更新了最新补丁
- 确保已经激活 Windows
- 关闭防火墙
- 设置主机名 hosts 或 使用 DNS 解析
- 以管理员模式打开 PowerShell
- 配置 Master (兼容 Windows 节点)
sudo sysctl net.bridge.bridge-nf-call-iptables=1
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- 找到
net-conf.json
,在Backend
下增加两个字段(注意逗号不要漏了) "VNI" : 4096
"Port": 4789
- 找到
cni-conf.json
,修改name
的值为vxlan0
kubectl apply -f kube-flannel.yml
wget https://raw.githubusercontent.com/microsoft/SDN/master/Kubernetes/flannel/l2bridge/manifests/node-selector-patch.yml
kubectl patch ds/kube-flannel-ds-amd64 --patch "$(cat node-selector-patch.yml)" -n=kube-system
kubectl patch ds/kube-proxy --patch "$(cat node-selector-patch.yml)" -n=kube-system
- 重启所有使用老 flannel 网络的节点!
- 安装 Docker
Install-Module -Name DockerMsftProvider -Repository PSGallery -Verbose -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Verbose -Force
- 若失败则用手动方式下载
cd C:\Users\Administrator\AppData\Local\Temp\2\DockerMsftProvider
Start-BitsTransfer -Source https://dockermsft.blob.core.windows.net/dockercontainer/docker-18-09-6.zip -Destination docker-18-09-6.zip
- 若要代理则加上参数
-ProxyUsage Override -ProxyList <ip>:<port>
- 验证 hash 值
Get-FileHash -Path docker-18-09-6.zip -Algorithm SHA256
- 再次尝试
Install-Package -Name docker -ProviderName DockerMsftProvider -Verbose
Restart-Computer -Force
- 配置 Docker 代理(可选)
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://<ip>:<port>/", [EnvironmentVariableTarget]::Machine)
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://<ip>:<port>/", [EnvironmentVariableTarget]::Machine)
Restart-Service Docker
- 测试 Docker(可选)
docker info
docker run microsoft/dotnet-samples:dotnetapp-nanoserver-1809
docker pull mcr.microsoft.com/k8s/core/pause:1.0.0
- 复制 k8s 证书
mkdir c:\k
- 从 Master 节点复制
$HOME/.kube/config
到c:\k
下
- 安装 kubeadm, kubelet, kube-proxy,kubectl
- 下载 kubernetes 二进制文件(需要代理)
Start-BitsTransfer -Source https://dl.k8s.io/v1.14.2/kubernetes-node-windows-amd64.tar.gz -ProxyUsage Override -ProxyList <ip>:<port>
- 安装
7-zip
或其他解压软件 Start-BitsTransfer -Source https://www.7-zip.org/a/7z1900-x64.exe
- 把里面所有的
.exe
解压到c:\k
下
- 加入集群
cd c:\k
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
wget https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/flannel/start.ps1 -o c:\k\start.ps1
-
chcp 437
(若使用了英文系统请忽略) .\start.ps1 -ManagementIP <Windows Node IP> -NetworkMode overlay -LogDir c:\k\logs
- 加入成功后可进行验证
https://kubernetes.io/docs/setup/windows/user-guide-windows-containers/
- 安装必要镜像
docker pull mcr.microsoft.com/windows/servercore:1809
docker pull mcr.microsoft.com/windows/nanoserver:1809
- 若下载慢,可用其他方式下载镜像后使用
docker load
加载 wget https://github.com/microsoft/SDN/raw/master/Kubernetes/windows/InstallImages.ps1 -o c:\k\InstallImages.ps1
cd c:\k
.\InstallImages.ps1
- 配置成 windows 服务
- 下载
nssm
https://nssm.cc/release/nssm-2.24.zip - 解压 64位的
nssm.exe
到c:\k
下 cd c:\k
-
.\stop.ps1
(确保相关进程已经停止) wget https://github.com/microsoft/SDN/raw/master/Kubernetes/flannel/register-svc.ps1 -o c:\k\register-svc.ps1
.\register-svc.ps1 -ManagementIP <Windows Node IP> -NetworkMode overlay -LogDir c:\k\logs
Restart-Computer
- 下载