Kube-#02.0.1 Windows上的一些Minikube脚本
- MetricVoid
- 8月 12, 2021
- 未分类
- 0 Comments
脚本安装Minikube
function Install-Minikube {
if(Get-CommandExists("winget")) {
Write-Host "Found winget. Using winget for installation."
if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Host "You are not running in an elevated shell and winget need admin rights."
Write-Host "Please complete installation in the new window"
Start-Process "cmd" -ArgumentList @("/c winget install minikube -y & pause") -Wait -PassThru -Verb RunAs
} else {
Start-Process "cmd" -ArgumentList @("/c winget install minikube -y & pause") -Wait -PassThru -NoNewWindow
}
Write-Host "Minikube has been installed."
} elseif (Get-CommandExists("choco")) {
Write-Host "Found Chocolatey. Using chocolatey for installation."
if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Host "You are not running in an elevated shell and chocolatey need admin rights."
Write-Host "Please complete installation in the new window"
Start-Process "cmd" -ArgumentList @("/c choco install minikube -y & pause") -Wait -PassThru -Verb RunAs
} else {
Start-Process "cmd" -ArgumentList @("/c choco install minikube -y & pause") -Wait -PassThru -NoNewWindow
}
Write-Host "Minikube has been installed."
} else {
Write-Host "No winget or chocolatey. Downloading installer for manual install."
Start-BitsTransfer -Source "https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe" -Destination "$env:TEMP\minikube-install.exe"
Write-Host "Starting installer and waiting for it to finish..."
cmd /c "$env:TEMP\minikube-install.exe"
Write-Host "Removing installer..."
Remove-Item "$env:TEMP\minikube-install.exe"
}
}启动minikube集群。Windows可以使用HyperV,比docker快一些
function Start-MinikubeCluster {
Param (
[Parameter()]
[string]$Memory = "4g",
[Parameter()]
[string]$CPU = "4",
[Parameter()]
[string]$Nodes = "1",
[Parameter()]
[Switch]$HyperV = $false
)
if($HyperV) {
if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Host "You are not running in an elevated shell and using HyperV need admin rights."
Write-Host "Please complete startup in the new window"
Start-Process "cmd" -ArgumentList @("/c", "minikube start --cpus=$CPU --memory=$memory --driver=hyperv --nodes=$Nodes && pause") -Verb RunAs -Wait
} else {
cmd /c "minikube start --cpus=$CPU --memory=$memory --driver=docker --nodes=$Nodes --driver=hyperv"
}
} else {
cmd /c "minikube start --cpus=$CPU --memory=$memory --driver=docker --nodes=$Nodes"
}
}关闭并清理Minikube集群
function Stop-MinikubeCluster {
minikube stop
minikube delete --all --purge
}在本地用Docker Compose构建镜像,并复制到Minikube环境中
function Install-BuildAndLoadMinikubeImages {
$ImageList =
"list",
"your", "images",
"here"
Write-Host "Building Docker images with docker-compose..."
docker compose build
Write-Host "Loading image into Minikube"
ForEach($image in $ImageList) {
minikube image load $image
Write-Host "$image loaded."
}
Write-Host "Minikube now has the following images"
minikube image list
}