|
| 1 | +$ErrorActionPreference = "Stop" |
| 2 | + |
| 3 | +#install golang |
| 4 | +choco install --limitoutput --no-progress -y golang |
| 5 | +refreshenv |
| 6 | + |
| 7 | +#install containerd |
| 8 | +$Version="1.5.7" |
| 9 | +curl.exe -L https://github.com/containerd/containerd/releases/download/v$Version/containerd-$Version-windows-amd64.tar.gz -o containerd-windows-amd64.tar.gz |
| 10 | +tar xvf containerd-windows-amd64.tar.gz |
| 11 | +mkdir -force "$Env:ProgramFiles\containerd" |
| 12 | +mv ./bin/* "$Env:ProgramFiles\containerd" |
| 13 | + |
| 14 | +& $Env:ProgramFiles\containerd\containerd.exe config default | Out-File "$Env:ProgramFiles\containerd\config.toml" -Encoding ascii |
| 15 | +& $Env:ProgramFiles\containerd\containerd.exe --register-service |
| 16 | +Start-Service containerd |
| 17 | + |
| 18 | +#configure cni |
| 19 | +mkdir -force "$Env:ProgramFiles\containerd\cni\bin" |
| 20 | +mkdir -force "$Env:ProgramFiles\containerd\cni\conf" |
| 21 | +curl.exe -LO https://github.com/microsoft/windows-container-networking/releases/download/v0.2.0/windows-container-networking-cni-amd64-v0.2.0.zip |
| 22 | +Expand-Archive windows-container-networking-cni-amd64-v0.2.0.zip -DestinationPath "$Env:ProgramFiles\containerd\cni\bin" -Force |
| 23 | + |
| 24 | +curl.exe -LO https://raw.githubusercontent.com/microsoft/SDN/master/Kubernetes/windows/hns.psm1 |
| 25 | +ipmo ./hns.psm1 |
| 26 | + |
| 27 | +# cirrus already has nat net work configured for docker. We can re-use that for testing |
| 28 | +$sn=(get-hnsnetwork | ? Name -Like "nat" | select -ExpandProperty subnets) |
| 29 | +$subnet=$sn.AddressPrefix |
| 30 | +$gateway=$sn.GatewayAddress |
| 31 | +@" |
| 32 | +{ |
| 33 | + "cniVersion": "0.2.0", |
| 34 | + "name": "nat", |
| 35 | + "type": "nat", |
| 36 | + "master": "Ethernet", |
| 37 | + "ipam": { |
| 38 | + "subnet": "$subnet", |
| 39 | + "routes": [ |
| 40 | + { |
| 41 | + "gateway": "$gateway" |
| 42 | + } |
| 43 | + ] |
| 44 | + }, |
| 45 | + "capabilities": { |
| 46 | + "portMappings": true, |
| 47 | + "dns": true |
| 48 | + } |
| 49 | +} |
| 50 | +"@ | Set-Content "$Env:ProgramFiles\containerd\cni\conf\0-containerd-nat.conf" -Force |
| 51 | + |
| 52 | +echo "configuration complete! Printing configuration..." |
| 53 | +echo "Service:" |
| 54 | +get-service containerd |
| 55 | +echo "cni configuraiton" |
| 56 | +cat "$Env:ProgramFiles\containerd\cni\conf\0-containerd-nat.conf" |
| 57 | +ls "$Env:ProgramFiles\containerd\cni\bin" |
| 58 | +echo "containerd install" |
| 59 | +ls "$Env:ProgramFiles\containerd\" |
| 60 | +& "$Env:ProgramFiles\containerd\containerd.exe" --version |
0 commit comments