在 Windows Server 2019 上安裝 Kubernetes

  • 系統(tǒng)要求
    • Windows Server 2019 Datacenter or Standard
    • 請盡量安裝英文操作系統(tǒng)
    • 確保更新了最新補丁
    • 確保已經(jīng)激活 Windows
    • 關(guān)閉防火墻
    • 設(shè)置主機名 hosts 或 使用 DNS 解析
    • 以管理員模式打開 PowerShell
  • 配置 Master (兼容 Windows 節(jié)點)
    • 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 網(wǎng)絡(luò)的節(jié)點!
  • 安裝 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
    • 若要代理則加上參數(shù) -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
  • 復(fù)制 k8s 證書
    • mkdir c:\k
    • 從 Master 節(jié)點復(fù)制 $HOME/.kube/configc:\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 (若使用了英文系統(tǒng)請忽略)
    • .\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 服務(wù)
    • 下載 nssm https://nssm.cc/release/nssm-2.24.zip
    • 解壓 64位的 nssm.exec:\k
    • cd c:\k
    • .\stop.ps1 (確保相關(guān)進程已經(jīng)停止)
    • 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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容