Merge branch 'master' into DELETE_ALL_PROFILES

# Conflicts:
#	cmd/minikube/cmd/delete.go
#	translations/fr-FR.json
#	translations/zh-CN.json
pull/4780/head
Marek Schwarz 2019-08-27 17:04:01 +02:00
commit 24d4eda27d
20 changed files with 356 additions and 168 deletions

View File

@ -68,7 +68,7 @@ var ProfileCmd = &cobra.Command{
}
if err == nil {
if cc.MachineConfig.KeepContext {
out.SuccessT("Skipped switching kubectl context for {{.profile_name}} , because --keep-context", out.V{"profile_name": profile})
out.SuccessT("Skipped switching kubectl context for {{.profile_name}} because --keep-context was set.", out.V{"profile_name": profile})
out.SuccessT("To connect to this cluster, use: kubectl --context={{.profile_name}}", out.V{"profile_name": profile})
} else {
err := kubeconfig.SetCurrentContext(constants.KubeconfigPath, profile)

View File

@ -70,6 +70,9 @@ func (error DeletionError) Error() string {
// runDelete handles the executes the flow of "minikube delete"
func runDelete(cmd *cobra.Command, args []string) {
if len(args) > 0 {
exit.UsageT("Usage: minikube delete")
}
profileFlag, err := cmd.Flags().GetString("profile")
if err != nil {
exit.WithError("Could not get profile flag", err)

View File

@ -177,26 +177,26 @@ func initDriverFlags() {
startCmd.Flags().Bool(disableDriverMounts, false, "Disables the filesystem mounts provided by the hypervisors")
// kvm2
startCmd.Flags().String(kvmNetwork, "default", "The KVM network name. (only supported with KVM driver)")
startCmd.Flags().String(kvmQemuURI, "qemu:///system", "The KVM QEMU connection URI. (works only with kvm2 driver on linux)")
startCmd.Flags().String(kvmNetwork, "default", "The KVM network name. (kvm2 driver only)")
startCmd.Flags().String(kvmQemuURI, "qemu:///system", "The KVM QEMU connection URI. (kvm2 driver only)")
startCmd.Flags().Bool(kvmGPU, false, "Enable experimental NVIDIA GPU support in minikube")
startCmd.Flags().Bool(kvmHidden, false, "Hide the hypervisor signature from the guest in minikube")
startCmd.Flags().Bool(kvmHidden, false, "Hide the hypervisor signature from the guest in minikube (kvm2 driver only)")
// virtualbox
startCmd.Flags().String(hostOnlyCIDR, "192.168.99.1/24", "The CIDR to be used for the minikube VM (only supported with Virtualbox driver)")
startCmd.Flags().Bool(dnsProxy, false, "Enable proxy for NAT DNS requests (virtualbox)")
startCmd.Flags().Bool(hostDNSResolver, true, "Enable host resolver for NAT DNS requests (virtualbox)")
startCmd.Flags().Bool(noVTXCheck, false, "Disable checking for the availability of hardware virtualization before the vm is started (virtualbox)")
startCmd.Flags().String(hostOnlyCIDR, "192.168.99.1/24", "The CIDR to be used for the minikube VM (virtualbox driver only)")
startCmd.Flags().Bool(dnsProxy, false, "Enable proxy for NAT DNS requests (virtualbox driver only)")
startCmd.Flags().Bool(hostDNSResolver, true, "Enable host resolver for NAT DNS requests (virtualbox driver only)")
startCmd.Flags().Bool(noVTXCheck, false, "Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)")
// hyperkit
startCmd.Flags().StringSlice(vsockPorts, []string{}, "List of guest VSock ports that should be exposed as sockets on the host (Only supported on with hyperkit now).")
startCmd.Flags().String(uuid, "", "Provide VM UUID to restore MAC address (only supported with Hyperkit driver).")
startCmd.Flags().String(vpnkitSock, "", "Location of the VPNKit socket used for networking. If empty, disables Hyperkit VPNKitSock, if 'auto' uses Docker for Mac VPNKit connection, otherwise uses the specified VSock.")
startCmd.Flags().StringSlice(nfsShare, []string{}, "Local folders to share with Guest via NFS mounts (Only supported on with hyperkit now)")
startCmd.Flags().String(nfsSharesRoot, "/nfsshares", "Where to root the NFS Shares (defaults to /nfsshares, only supported with hyperkit now)")
startCmd.Flags().StringSlice(vsockPorts, []string{}, "List of guest VSock ports that should be exposed as sockets on the host (hyperkit driver only)")
startCmd.Flags().String(uuid, "", "Provide VM UUID to restore MAC address (hyperkit driver only)")
startCmd.Flags().String(vpnkitSock, "", "Location of the VPNKit socket used for networking. If empty, disables Hyperkit VPNKitSock, if 'auto' uses Docker for Mac VPNKit connection, otherwise uses the specified VSock (hyperkit driver only)")
startCmd.Flags().StringSlice(nfsShare, []string{}, "Local folders to share with Guest via NFS mounts (hyperkit driver only)")
startCmd.Flags().String(nfsSharesRoot, "/nfsshares", "Where to root the NFS Shares, defaults to /nfsshares (hyperkit driver only)")
// hyperv
startCmd.Flags().String(hypervVirtualSwitch, "", "The hyperv virtual switch name. Defaults to first found. (only supported with HyperV driver)")
startCmd.Flags().String(hypervVirtualSwitch, "", "The hyperv virtual switch name. Defaults to first found. (hyperv driver only)")
}
// initNetworkingFlags inits the commandline flags for connectivity related flags for start
@ -204,7 +204,7 @@ func initNetworkingFlags() {
startCmd.Flags().StringSliceVar(&insecureRegistry, "insecure-registry", nil, "Insecure Docker registries to pass to the Docker daemon. The default service CIDR range will automatically be added.")
startCmd.Flags().StringSliceVar(&registryMirror, "registry-mirror", nil, "Registry mirrors to pass to the Docker daemon")
startCmd.Flags().String(imageRepository, "", "Alternative image repository to pull docker images from. This can be used when you have limited access to gcr.io. Set it to \"auto\" to let minikube decide one for you. For Chinese mainland users, you may use local gcr.io mirrors such as registry.cn-hangzhou.aliyuncs.com/google_containers")
startCmd.Flags().String(imageMirrorCountry, "", "Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn")
startCmd.Flags().String(imageMirrorCountry, "", "Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn.")
startCmd.Flags().String(serviceCIDR, pkgutil.DefaultServiceCIDR, "The CIDR to be used for service cluster IPs.")
startCmd.Flags().StringArrayVar(&dockerEnv, "docker-env", nil, "Environment variables to pass to the Docker daemon. (format: key=value)")
startCmd.Flags().StringArrayVar(&dockerOpt, "docker-opt", nil, "Specify arbitrary flags to pass to the Docker daemon. (format: key=value)")
@ -583,7 +583,7 @@ func validateRegistryMirror() {
glog.Errorln("Error Parsing URL: ", err)
}
if (URL.Scheme != "http" && URL.Scheme != "https") || URL.Path != "" {
exit.UsageT("Sorry, url provided with --registry-mirror flag is invalid {{.url}}", out.V{"url": loc})
exit.UsageT("Sorry, the url provided with the --registry-mirror flag is invalid: {{.url}}", out.V{"url": loc})
}
}
@ -657,9 +657,9 @@ func generateCfgFromFlags(cmd *cobra.Command, k8sVersion string) (cfg.Config, er
if !found {
if autoSelectedRepository == "" {
exit.WithCodeT(exit.Failure, "None of known repositories is accessible. Consider specifying an alternative image repository with --image-repository flag")
exit.WithCodeT(exit.Failure, "None of the known repositories is accessible. Consider specifying an alternative image repository with --image-repository flag")
} else {
out.WarningT("None of known repositories in your location is accessible. Use {{.image_repository_name}} as fallback.", out.V{"image_repository_name": autoSelectedRepository})
out.WarningT("None of the known repositories in your location are accessible. Using {{.image_repository_name}} as fallback.", out.V{"image_repository_name": autoSelectedRepository})
}
}
@ -751,8 +751,7 @@ func prepareNone(vmDriver string) {
if os.Getenv("CHANGE_MINIKUBE_NONE_USER") == "" {
home := os.Getenv("HOME")
out.WarningT("kubectl and minikube configuration will be stored in {{.home_folder}}", out.V{"home_folder": home})
out.WarningT("To use kubectl or minikube commands as your own user, you may")
out.WarningT("need to relocate them. For example, to overwrite your own settings:")
out.WarningT("To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:")
out.T(out.Empty, "")
out.T(out.Command, "sudo mv {{.home_folder}}/.kube {{.home_folder}}/.minikube $HOME", out.V{"home_folder": home})
@ -763,7 +762,7 @@ func prepareNone(vmDriver string) {
}
if err := pkgutil.MaybeChownDirRecursiveToMinikubeUser(constants.GetMinipath()); err != nil {
exit.WithCodeT(exit.Permissions, "Failed to chown {{.minikube_dir_path}}: {{.error}}", out.V{"minikube_dir_path": constants.GetMinipath(), "error": err})
exit.WithCodeT(exit.Permissions, "Failed to change permissions for {{.minikube_dir_path}}: {{.error}}", out.V{"minikube_dir_path": constants.GetMinipath(), "error": err})
}
}
@ -808,7 +807,7 @@ func validateNetwork(h *host.Host) string {
ipExcluded := proxy.IsIPExcluded(ip) // Skip warning if minikube ip is already in NO_PROXY
k = strings.ToUpper(k) // for http_proxy & https_proxy
if (k == "HTTP_PROXY" || k == "HTTPS_PROXY") && !ipExcluded && !warnedOnce {
out.WarningT("You appear to be using a proxy, but your NO_PROXY environment does not include the minikube IP ({{.ip_address}}). Please see https://minikube.sigs.k8s.io/docs/reference/networking/proxy/ for more details", out.V{"ip_address": ip})
out.WarningT("You appear to be using a proxy, but your NO_PROXY environment does not include the minikube IP ({{.ip_address}}). Please see {{.documentation_url}} for more details", out.V{"ip_address": ip, "documentation_url": "https://minikube.sigs.k8s.io/docs/reference/networking/proxy/"})
warnedOnce = true
}
}

View File

@ -13,7 +13,7 @@
# limitations under the License.
---
apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-ingress-controller

View File

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: metrics-server

View File

@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
@ -7,9 +7,14 @@ metadata:
name: registry-proxy
namespace: kube-system
spec:
selector:
matchLabels:
registry-proxy: "true"
kubernetes.io/minikube-addons: registry
template:
metadata:
labels:
registry-proxy: "true"
kubernetes.io/minikube-addons: registry
addonmanager.kubernetes.io/mode: Reconcile
spec:

View File

@ -15,6 +15,8 @@ metadata:
spec:
selector:
matchLabels:
glusterfs: pod
glusterfs-node: pod
k8s-app: storage-provisioner-gluster
template:
metadata:

View File

@ -86,7 +86,7 @@ data:
---
kind: Deployment
apiVersion: extensions/v1beta1
apiVersion: apps/v1
metadata:
namespace: storage-gluster
name: heketi
@ -100,6 +100,11 @@ metadata:
description: Defines how to deploy Heketi
spec:
replicas: 1
selector:
matchLabels:
glusterfs: heketi-pod
heketi: pod
k8s-app: storage-provisioner-gluster
template:
metadata:
namespace: storage-gluster

View File

@ -77,7 +77,7 @@ subjects:
name: glusterfile-provisioner
---
kind: Deployment
apiVersion: extensions/v1beta1
apiVersion: apps/v1
metadata:
namespace: storage-gluster
name: glusterfile-provisioner
@ -89,6 +89,10 @@ metadata:
description: Defines how to deploy the glusterfile provisioner pod.
spec:
replicas: 1
selector:
matchLabels:
glusterfs: file-provisioner-pod
glusterfile: provisioner-pod
strategy:
type: Recreate
template:

10
go.mod
View File

@ -36,7 +36,14 @@ require (
github.com/intel-go/cpuid v0.0.0-20181003105527-1a4a6f06a1c6 // indirect
github.com/jimmidyson/go-download v0.0.0-20161028105827-7f9a90c8c95b
github.com/johanneswuerbach/nfsexports v0.0.0-20181204082207-1aa528dcb345
github.com/juju/fslock v0.0.0-20160525022230-4d5c94c67b4b
github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c
github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d // indirect
github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8 // indirect
github.com/juju/mutex v0.0.0-20180619145857-d21b13acf4bf
github.com/juju/retry v0.0.0-20180821225755-9058e192b216 // indirect
github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2 // indirect
github.com/juju/utils v0.0.0-20180820210520-bf9cc5bdd62d // indirect
github.com/juju/version v0.0.0-20180108022336-b64dbd566305 // indirect
github.com/libvirt/libvirt-go v3.4.0+incompatible
github.com/machine-drivers/docker-machine-driver-vmware v0.1.1
github.com/mattn/go-isatty v0.0.8
@ -67,6 +74,7 @@ require (
golang.org/x/text v0.3.2
gopkg.in/airbrake/gobrake.v2 v2.0.9 // indirect
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2 // indirect
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect
k8s.io/api v0.0.0
k8s.io/apimachinery v0.0.0
k8s.io/client-go v0.0.0

21
go.sum
View File

@ -179,6 +179,7 @@ github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4er
github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=
github.com/golang/mock v0.0.0-20160127222235-bd3c8e81be01/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0 h1:28o5sBqPkBsMGnC6b4MvE2TzSr5/AT4c/1fLqVGIwlk=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@ -279,8 +280,22 @@ github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCV
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jteeuwen/go-bindata v0.0.0-20151023091102-a0ff2567cfb7/go.mod h1:JVvhzYOiGBnFSYRyV00iY8q7/0PThjIYav1p9h5dmKs=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/juju/fslock v0.0.0-20160525022230-4d5c94c67b4b h1:FQ7+9fxhyp82ks9vAuyPzG0/vVbWwMwLJ+P6yJI5FN8=
github.com/juju/fslock v0.0.0-20160525022230-4d5c94c67b4b/go.mod h1:HMcgvsgd0Fjj4XXDkbjdmlbI505rUPBs6WBMYg2pXks=
github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c h1:3UvYABOQRhJAApj9MdCN+Ydv841ETSoy6xLzdmmr/9A=
github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c/go.mod h1:nD0vlnrUjcjJhqN5WuCWZyzfd5AHZAC9/ajvbSx69xA=
github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d h1:hJXjZMxj0SWlMoQkzeZDLi2cmeiWKa7y1B8Rg+qaoEc=
github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q=
github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8 h1:UUHMLvzt/31azWTN/ifGWef4WUqvXk0iRqdhdy/2uzI=
github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U=
github.com/juju/mutex v0.0.0-20180619145857-d21b13acf4bf h1:2d3cilQly1OpAfZcn4QRuwDOdVoHsM4cDTkcKbmO760=
github.com/juju/mutex v0.0.0-20180619145857-d21b13acf4bf/go.mod h1:Y3oOzHH8CQ0Ppt0oCKJ2JFO81/EsWenH5AEqigLH+yY=
github.com/juju/retry v0.0.0-20180821225755-9058e192b216 h1:/eQL7EJQKFHByJe3DeE8Z36yqManj9UY5zppDoQi4FU=
github.com/juju/retry v0.0.0-20180821225755-9058e192b216/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4=
github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2 h1:Pp8RxiF4rSoXP9SED26WCfNB28/dwTDpPXS8XMJR8rc=
github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
github.com/juju/utils v0.0.0-20180820210520-bf9cc5bdd62d h1:irPlN9z5VCe6BTsqVsxheCZH99OFSmqSVyTigW4mEoY=
github.com/juju/utils v0.0.0-20180820210520-bf9cc5bdd62d/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk=
github.com/juju/version v0.0.0-20180108022336-b64dbd566305 h1:lQxPJ1URr2fjsKnJRt/BxiIxjLt9IKGvS+0injMHbag=
github.com/juju/version v0.0.0-20180108022336-b64dbd566305/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U=
github.com/kardianos/osext v0.0.0-20150410034420-8fef92e41e22/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
@ -616,6 +631,8 @@ gopkg.in/inf.v0 v0.9.0 h1:3zYtXIO92bvsdS3ggAdA8Gb4Azj0YU+TVY1uGYNFA8o=
gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw=
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/square/go-jose.v2 v2.0.0-20180411045311-89060dee6a84/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=

View File

@ -1,33 +0,0 @@
:: Copyright 2019 The Kubernetes Authors All rights reserved.
::
:: Licensed under the Apache License, Version 2.0 (the "License");
:: you may not use this file except in compliance with the License.
:: You may obtain a copy of the License at
::
:: http://www.apache.org/licenses/LICENSE-2.0
::
:: Unless required by applicable law or agreed to in writing, software
:: distributed under the License is distributed on an "AS IS" BASIS,
:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
:: See the License for the specific language governing permissions and
:: limitations under the License.
:: Periodically cleanup and reboot if no Jenkins subprocesses are running.
@echo off
call :jenkins
echo waiting to see if any jobs are coming in...
timeout 30
call :jenkins
echo doing it
taskkill /IM putty.exe
taskkill /F /IM java.exe
powershell -Command "Stop-VM minikube"
powershell -Command "Delete-VM minikube"
rmdir /S /Q C:\Users\admin\.minikube
shutdown /r
:jenkins
tasklist | find /i /n "e2e-windows-amd64.exe">NUL
if %ERRORLEVEL% == 0 exit 1
exit /B 0

View File

@ -0,0 +1,27 @@
function Jenkins {
Get-Process e2e-windows-amd64 2>$NULL
if ($?) {
return $TRUE
}
return $FALSE
}
if (Jenkins) {
exit 0
}
echo "waiting to see if any jobs are coming in..."
timeout 30
if (Jenkins) {
exit 0
}
echo "doing it"
taskkill /IM putty.exe
taskkill /F /IM java.exe
Get-VM | Where-Object {$_.Name -ne "DockerDesktopVM"} | Foreach {
C:\var\jenkins\workspace\Hyper-V_Windows_integration\out\minikube-windows-amd64.exe delete -p $_.Name
Suspend-VM $_.Name
Stop-VM $_.Name -Force
Remove-VM $_.Name -Force
}
Remove-Item -path C:\Users\admin\.minikube -recurse -force
shutdown /r

View File

@ -0,0 +1,30 @@
function Jenkins {
Get-Process e2e-windows-amd64 2>$NULL
if ($?) {
return $TRUE
}
return $FALSE
}
if (Jenkins) {
exit 0
}
echo "waiting to see if any jobs are coming in..."
timeout 30
if (Jenkins) {
exit 0
}
echo "doing it"
taskkill /IM putty.exe
taskkill /F /IM java.exe
VBoxManage list vms | Foreach {
$m = $_.Substring(1, $_.LastIndexOf('"')-1)
VBoxManage controlvm $m poweroff
VBoxManage unregistervm $m --delete
}
Remove-Item -path C:\Users\jenkins\.minikube -recurse -force
shutdown /r

View File

@ -114,7 +114,7 @@ func DeleteProfile(profile string, miniHome ...string) error {
// ListProfiles returns all valid and invalid (if any) minikube profiles
// invalidPs are the profiles that have a directory or config file but not usable
// invalidPs would be suggeted to be deleted
// invalidPs would be suggested to be deleted
func ListProfiles(miniHome ...string) (validPs []*Profile, inValidPs []*Profile, err error) {
pDirs, err := profileDirs(miniHome...)
if err != nil {

View File

@ -17,45 +17,67 @@ limitations under the License.
package lock
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"strconv"
"strings"
"time"
"github.com/golang/glog"
"github.com/juju/fslock"
"github.com/juju/clock"
"github.com/juju/mutex"
"github.com/pkg/errors"
"k8s.io/minikube/pkg/util/retry"
)
// WriteWithLock decorates ioutil.WriteFile with a file lock and retry
func WriteFile(filename string, data []byte, perm os.FileMode) (err error) {
lock := fslock.New(filename)
// WriteFile decorates ioutil.WriteFile with a file lock and retry
func WriteFile(filename string, data []byte, perm os.FileMode) error {
spec := mutex.Spec{
Name: getMutexName(filename),
Clock: clock.WallClock,
Delay: 13 * time.Second,
}
glog.Infof("attempting to write to file %q with filemode %v", filename, perm)
getLock := func() error {
lockErr := lock.TryLock()
if lockErr != nil {
glog.Warningf("temporary error : %v", lockErr.Error())
return errors.Wrapf(lockErr, "failed to acquire lock for %s > ", filename)
}
return nil
}
defer func() { // release the lock
err = lock.Unlock()
if err != nil {
err = errors.Wrapf(err, "error releasing lock for file: %s", filename)
}
}()
err = retry.Expo(getLock, 500*time.Millisecond, 13*time.Second)
releaser, err := mutex.Acquire(spec)
if err != nil {
return errors.Wrapf(err, "error acquiring lock for %s", filename)
}
defer releaser.Release()
if err = ioutil.WriteFile(filename, data, perm); err != nil {
return errors.Wrapf(err, "error writing file %s", filename)
}
return err
}
func getMutexName(filename string) string {
// Make the mutex name the file name and its parent directory
dir, name := filepath.Split(filename)
// Replace underscores and periods with dashes, the only valid punctuation for mutex name
name = strings.ReplaceAll(name, ".", "-")
name = strings.ReplaceAll(name, "_", "-")
p := strings.ReplaceAll(filepath.Base(dir), ".", "-")
p = strings.ReplaceAll(p, "_", "-")
mutexName := fmt.Sprintf("%s-%s", p, strings.ReplaceAll(name, ".", "-"))
// Check if name starts with an int and prepend a string instead
if _, err := strconv.Atoi(mutexName[:1]); err == nil {
mutexName = "m" + mutexName
}
// There's an arbitrary hard max on mutex name at 40.
if len(mutexName) > 40 {
mutexName = mutexName[:40]
}
// Make sure name doesn't start or end with punctuation
mutexName = strings.TrimPrefix(mutexName, "-")
mutexName = strings.TrimSuffix(mutexName, "-")
return mutexName
}

View File

@ -0,0 +1,67 @@
/*
Copyright 2019 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package lock
import "testing"
func TestGetMutexName(t *testing.T) {
var tests = []struct {
description string
path string
expected string
}{
{
description: "standard",
path: "/foo/bar",
expected: "foo-bar",
},
{
description: "deep directory",
path: "/foo/bar/baz/bat",
expected: "baz-bat",
},
{
description: "underscores",
path: "/foo_bar/baz",
expected: "foo-bar-baz",
},
{
description: "starts with number",
path: "/foo/2bar/baz",
expected: "m2bar-baz",
},
{
description: "starts with punctuation",
path: "/.foo/bar",
expected: "foo-bar",
},
{
description: "long filename",
path: "/very-very-very-very-very-very-very-very-long/bar",
expected: "very-very-very-very-very-very-very-very",
},
}
for _, tc := range tests {
t.Run(tc.description, func(t *testing.T) {
got := getMutexName(tc.path)
if got != tc.expected {
t.Errorf("Unexpected mutex name for path %s. got: %s, expected: %s", tc.path, got, tc.expected)
}
})
}
}

View File

@ -206,10 +206,7 @@ func testRegistry(t *testing.T) {
if err := kapi.WaitForPodsWithLabelRunning(client, "kube-system", rs); err != nil {
t.Fatalf("waiting for registry pods: %v", err)
}
ps, err := labels.Parse("kubernetes.io/minikube-addons=registry,actual-registry!=true")
if err != nil {
t.Fatalf("Unable to parse selector: %v", err)
}
ps := labels.SelectorFromSet(labels.Set(map[string]string{"registry-proxy": "true"}))
if err := kapi.WaitForPodsWithLabelRunning(client, "kube-system", ps); err != nil {
t.Fatalf("waiting for registry-proxy pods: %v", err)
}

View File

@ -2,9 +2,9 @@
"\n\tOutputs minikube shell completion for the given shell (bash or zsh)\n\n\tThis depends on the bash-completion binary. Example installation instructions:\n\tOS X:\n\t\t$ brew install bash-completion\n\t\t$ source $(brew --prefix)/etc/bash_completion\n\t\t$ minikube completion bash \u003e ~/.minikube-completion # for bash users\n\t\t$ minikube completion zsh \u003e ~/.minikube-completion # for zsh users\n\t\t$ source ~/.minikube-completion\n\tUbuntu:\n\t\t$ apt-get install bash-completion\n\t\t$ source /etc/bash-completion\n\t\t$ source \u003c(minikube completion bash) # for bash users\n\t\t$ source \u003c(minikube completion zsh) # for zsh users\n\n\tAdditionally, you may want to output the completion to a file and source in your .bashrc\n\n\tNote for zsh users: [1] zsh completions are only supported in versions of zsh \u003e= 5.2\n": "",
"\"{{.minikube_addon}}\" was successfully disabled": "",
"\"{{.name}}\" cluster does not exist": "",
"\"{{.name}}\" profile does not exist": "",
"\"{{.profile_name}}\" VM does not exist, nothing to stop": "",
"\"{{.profile_name}}\" host does not exist, unable to show an IP": "",
"\"{{.profile_name}}\" profile does not exist": "",
"\"{{.profile_name}}\" stopped.": "\"{{.profile_name}}\" est arrêté.",
"'none' driver does not support 'minikube docker-env' command": "",
"'none' driver does not support 'minikube mount' command": "",
@ -25,7 +25,7 @@
"Aliases": "",
"Alternative image repository to pull docker images from. This can be used when you have limited access to gcr.io. Set it to \\\"auto\\\" to let minikube decide one for you. For Chinese mainland users, you may use local gcr.io mirrors such as registry.cn-hangzhou.aliyuncs.com/google_containers": "",
"Alternatively, you may delete the existing VM using `minikube delete -p {{.profile_name}}`": "",
"Amount of RAM allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g)": "",
"Amount of RAM allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g).": "",
"Amount of time to wait for a service in seconds": "",
"Amount of time to wait for service in seconds": "",
"Available Commands": "",
@ -38,9 +38,11 @@
"Configures the addon w/ADDON_NAME within minikube (example: minikube addons configure registry-creds). For a list of available addons use: minikube addons list ": "",
"Configuring environment for Kubernetes {{.k8sVersion}} on {{.runtime}} {{.runtimeVersion}}": "Configuration de l'environment pour Kubernetes {{.k8sVersion}} sur {{.runtime}} {{.runtimeVersion}}",
"Configuring local host environment ...": "",
"Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn.": "",
"Created a new profile : {{.profile_name}}": "",
"Could not get profile flag": "",
"Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn": "",
"Creating %s VM (CPUs=%d, Memory=%dMB, Disk=%dMB) ...": "Création d'une VM %s (CPUs=%d, Mémoire=%dMB, Disque=%dMB)...",
"Creating a new profile failed": "",
"Creating mount {{.name}} ...": "",
"Creating {{.driver_name}} VM (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB, Disk={{.disk_size}}MB) ...": "Création d'une VM {{.driver_name}} (CPUs={{.number_of_cpus}}, Mémoire={{.memory_size}}MB, Disque={{.disk_size}}MB)...",
"Default group id used for the mount": "",
@ -50,18 +52,19 @@
"Deletes a local kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
"Deleting \"{{.profile_name}}\" in {{.driver_name}} ...": "Suppression de \"{{.profile_name}}\" sur {{.driver_name}}...",
"Disable Hyper-V when you want to run VirtualBox to boot the VM": "",
"Disable checking for the availability of hardware virtualization before the vm is started (virtualbox)": "",
"Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)": "",
"Disable dynamic memory in your VM manager, or pass in a larger --memory value": "",
"Disable real-time anti-virus software, reboot, and reinstall VirtualBox if the problem continues.": "",
"Disables the addon w/ADDON_NAME within minikube (example: minikube addons disable dashboard). For a list of available addons use: minikube addons list ": "",
"Disables the filesystem mounts provided by the hypervisors": "",
"Disk size allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g)": "",
"Disk size allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g).": "",
"Display dashboard URL instead of opening a browser": "",
"Display the kubernetes addons URL in the CLI instead of opening it in the default browser": "",
"Display the kubernetes service URL in the CLI instead of opening it in the default browser": "",
"Display values currently set in the minikube config file": "",
"Display values currently set in the minikube config file.": "",
"Docker inside the VM is unavailable. Try running 'minikube delete' to reset the VM.": "",
"Docs have been saved at - {{.path}}": "",
"Documentation: {{.url}}": "",
"Done! kubectl is now configured to use \"{{.name}}\"": "Terminé! kubectl est maintenant configuré pour utiliser \"{{.name}}\".",
"Download complete!": "",
@ -71,9 +74,9 @@
"ERROR creating `registry-creds-ecr` secret: {{.error}}": "",
"ERROR creating `registry-creds-gcr` secret: {{.error}}": "",
"Enable experimental NVIDIA GPU support in minikube": "",
"Enable host resolver for NAT DNS requests (virtualbox)": "",
"Enable proxy for NAT DNS requests (virtualbox)": "",
"Enable the default CNI plugin (/etc/cni/net.d/k8s.conf). Used in conjunction with \\\"--network-plugin=cni\\\"": "",
"Enable host resolver for NAT DNS requests (virtualbox driver only)": "",
"Enable proxy for NAT DNS requests (virtualbox driver only)": "",
"Enable the default CNI plugin (/etc/cni/net.d/k8s.conf). Used in conjunction with \\\"--network-plugin=cni\\\".": "",
"Enables the addon w/ADDON_NAME within minikube (example: minikube addons enable dashboard). For a list of available addons use: minikube addons list ": "",
"Enabling dashboard ...": "",
"Environment variables to pass to the Docker daemon. (format: key=value)": "",
@ -107,8 +110,9 @@
"Error loading api": "",
"Error loading profile config": "",
"Error loading profile config: {{.error}}": "",
"Error loading profile {{.name}}: {{.error}}": "",
"Error opening service": "",
"Error parsing minukube version: {{.error}}": "",
"Error parsing minikube version: {{.error}}": "",
"Error parsing vmDriver version: {{.error}}": "",
"Error reading {{.path}}: {{.error}}": "",
"Error restarting cluster": "",
@ -118,17 +122,18 @@
"Error unsetting shell variables": "",
"Error while setting kubectl current context : {{.error}}": "",
"Error writing mount pid": "",
"Error: You have selected Kubernetes v{{.new}}, but the existing cluster for your profile is running Kubernetes v{{.old}}. Non-destructive downgrades are not supported, but you can proceed by performing one of the following options:\n\n* Recreate the cluster using Kubernetes v{{.new}}: Run \"minikube delete {{.profile}}\", then \"minikube start {{.profile}} --kubernetes-version={{.new}}\"\n* Create a second cluster with Kubernetes v{{.new}}: Run \"minikube start -p \u003cnew name\u003e --kubernetes-version={{.new}}\"\n* Reuse the existing cluster with Kubernetes v{{.old}} or newer: Run \"minikube start {{.profile}} --kubernetes-version={{.old}}\"": "",
"Error: [{{.id}}] {{.error}}": "",
"Examples": "",
"Exiting": "",
"Failed runtime": "",
"Failed to cache ISO": "",
"Failed to cache and load images": "",
"Failed to cache binaries": "",
"Failed to cache images": "",
"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "",
"Failed to check if machine exists": "",
"Failed to check main repository and mirrors for images for images": "",
"Failed to chown {{.minikube_dir_path}}: {{.error}}": "",
"Failed to delete cluster": "",
"Failed to delete cluster: {{.error}}": "",
"Failed to delete images": "",
"Failed to delete images from config": "",
@ -157,6 +162,7 @@
"For best results, install kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl/": "",
"For more information, see:": "",
"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "",
"Force minikube to perform possibly dangerous operations": "",
"Found network options:": "",
"Found {{.number}} invalid profile(s) ! ": "",
"Gets the kubernetes URL(s) for the specified service in your local cluster": "",
@ -172,7 +178,7 @@
"Go template format string for the status output. The format for Go templates can be found here: https://golang.org/pkg/text/template/\nFor the list accessible variables for the template, see the struct values here: https://godoc.org/k8s.io/minikube/cmd/minikube/cmd#Status": "",
"Group ID: {{.groupID}}": "",
"Have you set up libvirt correctly?": "",
"Hide the hypervisor signature from the guest in minikube": "",
"Hide the hypervisor signature from the guest in minikube (kvm2 driver only)": "",
"If the above advice does not help, please let us know: ": "",
"If true, cache docker images for the current bootstrapper and load them into the machine. Always false with --vm-driver=none.": "",
"If true, only download and cache files for later use - don't install or start anything.": "",
@ -187,18 +193,17 @@
"Invalid size passed in argument: {{.error}}": "",
"IsEnabled failed": "",
"Kill the mount process spawned by minikube start": "",
"Kubernetes downgrade is not supported, will continue to use {{.version}}": "",
"Launching Kubernetes ... ": "Lancement de Kubernetes...",
"Launching proxy ...": "",
"List all available images from the local cache.": "",
"List of guest VSock ports that should be exposed as sockets on the host (Only supported on with hyperkit now).": "",
"List of guest VSock ports that should be exposed as sockets on the host (hyperkit driver only)": "",
"Lists all available minikube addons as well as their current statuses (enabled/disabled)": "",
"Lists all minikube profiles.": "",
"Lists all valid minikube profiles and detects all possible invalid profiles.": "",
"Lists the URLs for the services in your local cluster": "",
"Local folders to share with Guest via NFS mounts (Only supported on with hyperkit now)": "",
"Location of the VPNKit socket used for networking. If empty, disables Hyperkit VPNKitSock, if 'auto' uses Docker for Mac VPNKit connection, otherwise uses the specified VSock.": "",
"Location of the minikube iso": "",
"Local folders to share with Guest via NFS mounts (hyperkit driver only)": "",
"Location of the VPNKit socket used for networking. If empty, disables Hyperkit VPNKitSock, if 'auto' uses Docker for Mac VPNKit connection, otherwise uses the specified VSock (hyperkit driver only)": "",
"Location of the minikube iso.": "",
"Log into or run a command on a machine with SSH; similar to 'docker-machine ssh'": "",
"Log into or run a command on a machine with SSH; similar to 'docker-machine ssh'.": "",
"Message Size: {{.size}}": "",
@ -213,9 +218,9 @@
"NOTE: This process must stay alive for the mount to be accessible ...": "",
"Networking and Connectivity Commands:": "",
"No minikube profile was found. You can create one using `minikube start`.": "",
"None of known repositories in your location is accessible. Use {{.image_repository_name}} as fallback.": "",
"None of known repositories is accessible. Consider specifying an alternative image repository with --image-repository flag": "",
"Number of CPUs allocated to the minikube VM": "",
"None of the known repositories in your location are accessible. Using {{.image_repository_name}} as fallback.": "",
"None of the known repositories is accessible. Consider specifying an alternative image repository with --image-repository flag": "",
"Number of CPUs allocated to the minikube VM.": "",
"Number of lines back to go within the log": "",
"OS release is {{.pretty_name}}": "",
"Open the addons URL with https instead of http": "",
@ -227,14 +232,13 @@
"Outputs minikube shell completion for the given shell (bash or zsh)": "",
"Permissions: {{.octalMode}} ({{.writtenMode}})": "",
"Please check your BIOS, and ensure that you are running without HyperV or other nested virtualization that may interfere": "",
"Please don't run minikube as root or with 'sudo' privileges. It isn't necessary with {{.driver}} driver.": "",
"Please enter a value:": "",
"Please install the minikube hyperkit VM driver, or select an alternative --vm-driver": "",
"Please install the minikube kvm2 VM driver, or select an alternative --vm-driver": "",
"Please make sure the service you are looking for is deployed or is in the correct namespace.": "",
"Please run with sudo. the vm-driver \"{{.driver_name}}\" requires sudo.": "",
"Please specify the directory to be mounted: \n\tminikube mount \u003csource directory\u003e:\u003ctarget directory\u003e (example: \"/host-home:/vm-home\")": "",
"Please upgrade the '{{.driver_executable}}'. {{.documentation_url}}": "",
"Populates the specified folder with documentation in markdown about minikube": "",
"Powering off \"{{.profile_name}}\" via SSH ...": "",
"Preparing Kubernetes {{.k8sVersion}} on {{.runtime}} {{.runtimeVersion}} ...": "Préparation de Kubernetes {{.k8sVersion}} sur {{.runtime}} {{.runtimeVersion}}...",
"Print current and latest version number": "",
@ -243,7 +247,7 @@
"Problems detected in {{.entry}}:": "",
"Problems detected in {{.name}}:": "",
"Profile gets or sets the current minikube profile": "",
"Provide VM UUID to restore MAC address (only supported with Hyperkit driver).": "",
"Provide VM UUID to restore MAC address (hyperkit driver only)": "",
"Pulling images ...": "Extraction des images... ",
"Re-run 'minikube start' with --alsologtostderr -v=8 to see the VM driver error message": "",
"Reboot to complete VirtualBox installation, and verify that VirtualBox is not blocked by your system": "",
@ -253,6 +257,7 @@
"Reinstall VirtualBox and verify that it is not blocked: System Preferences -\u003e Security \u0026 Privacy -\u003e General -\u003e Some system software was blocked from loading": "",
"Related issues:": "",
"Relaunching Kubernetes using {{.bootstrapper}} ... ": "",
"Removing {{.directory}} ...": "",
"Requested disk size {{.requested_size}} is less than minimum of {{.minimum_size}}": "",
"Requested memory allocation ({{.memory}}MB) is less than the default memory allocation of {{.default_memorysize}}MB. Beware that minikube might not work correctly or crash unexpectedly.": "",
"Requested memory allocation {{.requested_size}} is less than the minimum allowed of {{.minimum_size}}": "",
@ -277,11 +282,11 @@
"Setting profile failed": "",
"Show only log entries which point to known problems": "",
"Show only the most recent journal entries, and continuously print new entries as they are appended to the journal.": "",
"Skipped switching kubectl context for {{.profile_name}} , because --keep-context": "",
"Skipped switching kubectl context for {{.profile_name}} because --keep-context was set.": "",
"Sorry that minikube crashed. If this was unexpected, we would love to hear from you:": "",
"Sorry, completion support is not yet implemented for {{.name}}": "",
"Sorry, the kubeadm.{{.parameter_name}} parameter is currently not supported by --extra-config": "",
"Sorry, url provided with --registry-mirror flag is invalid {{.url}}": "",
"Sorry, the url provided with the --registry-mirror flag is invalid: {{.url}}": "",
"Specify --kubernetes-version in v\u003cmajor\u003e.\u003cminor.\u003cbuild\u003e form. example: 'v1.1.14'": "",
"Specify an alternate --host-only-cidr value, such as 172.16.0.1/24": "",
"Specify arbitrary flags to pass to the Docker daemon. (format: key=value)": "",
@ -297,50 +302,58 @@
"Suggestion: {{.advice}}": "",
"Target directory {{.path}} must be an absolute path": "",
"The \"{{.cluster_name}}\" cluster has been deleted.": "Le cluster \"{{.cluster_name}}\" a été supprimé.",
"The \"{{.driver_name}}\" driver requires root privileges. Please run minikube using 'sudo minikube --vm-driver={{.driver_name}}'.": "",
"The \"{{.name}}\" cluster has been deleted.": "",
"The 'none' driver provides limited isolation and may reduce system security and reliability.": "",
"The CIDR to be used for service cluster IPs.": "",
"The CIDR to be used for the minikube VM (only supported with Virtualbox driver)": "",
"The KVM QEMU connection URI. (works only with kvm2 driver on linux)": "",
"The CIDR to be used for the minikube VM (virtualbox driver only)": "",
"The KVM QEMU connection URI. (kvm2 driver only)": "",
"The KVM driver is unable to resurrect this old VM. Please run `minikube delete` to delete it and try again.": "",
"The KVM network name. (only supported with KVM driver)": "",
"The KVM network name. (kvm2 driver only)": "",
"The VM driver exited with an error, and may be corrupt. Run 'minikube start' with --alsologtostderr -v=8 to see the error": "",
"The apiserver listening port": "",
"The apiserver name which is used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine": "",
"The argument to pass the minikube mount command on start": "",
"The argument to pass the minikube mount command on start.": "",
"The cluster dns domain name used in the kubernetes cluster": "",
"The container runtime to be used (docker, crio, containerd)": "",
"The cri socket path to be used": "",
"The container runtime to be used (docker, crio, containerd).": "",
"The cri socket path to be used.": "",
"The docker host is currently not running": "",
"The docker service is currently not active": "",
"The driver '{{.driver}}' is not supported on {{.os}}": "",
"The hyperv virtual switch name. Defaults to first found. (only supported with HyperV driver)": "",
"The hyperv virtual switch name. Defaults to first found. (hyperv driver only)": "",
"The initial time interval for each check that wait performs in seconds": "",
"The kubernetes version that the minikube VM will use (ex: v1.2.3)": "",
"The minikube VM is offline. Please run 'minikube start' to start it again.": "",
"The name of the network plugin": "",
"The name of the network plugin.": "",
"The number of bytes to use for 9p packet payload": "",
"The path on the file system where the docs in markdown need to be saved": "",
"The service namespace": "",
"The services namespace": "",
"The time interval for each check that wait performs in seconds": "",
"The value passed to --format is invalid": "",
"The value passed to --format is invalid: {{.error}}": "",
"The vmwarefusion driver is deprecated and support for it will be removed in a future release.\n\t\t\tPlease consider switching to the new vmware unified driver, which is intended to replace the vmwarefusion driver.\n\t\t\tSee https://minikube.sigs.k8s.io/docs/reference/drivers/vmware/ for more information.\n\t\t\tTo disable this message, run [minikube config set ShowDriverDeprecationNotification false]": "",
"The {{.driver_name}} driver should not be used with root privileges.": "",
"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "",
"These changes will take effect upon a minikube delete and then a minikube start": "",
"This addon does not have an endpoint defined for the 'addons open' command.\nYou can add one by annotating a service with the label {{.labelName}}:{{.addonName}}": "",
"This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true": "",
"This will keep the existing kubectl context and will create a minikube context.": "",
"This will start the mount daemon and automatically mount files into minikube": "",
"This will start the mount daemon and automatically mount files into minikube.": "",
"Tip: To remove this root owned cluster, run: sudo {{.cmd}} delete": "",
"Tip: Use 'minikube start -p \u003cname\u003e' to create a new cluster, or 'minikube delete' to delete this one.": "",
"To connect to this cluster, use: kubectl --context={{.name}}": "",
"To connect to this cluster, use: kubectl --context={{.profile_name}}": "",
"To disable this notice, run: 'minikube config set WantUpdateNotification false'": "",
"To start minikube with HyperV Powershell must be in your PATH`": "",
"To switch drivers, you may create a new VM using `minikube start -p \u003cname\u003e --vm-driver={{.driver_name}}`": "",
"To use kubectl or minikube commands as your own user, you may": "",
"To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:": "",
"Troubleshooting Commands:": "",
"Unable to bind flags": "",
"Unable to enable dashboard": "",
"Unable to fetch latest version info": "",
"Unable to generate docs": "",
"Unable to generate the documentation. Please ensure that the path specified is a directory, exists \u0026 you have permission to write to it.": "",
"Unable to get VM IP address": "",
"Unable to get bootstrapper: {{.error}}": "",
"Unable to get runtime": "",
@ -350,6 +363,7 @@
"Unable to load config: {{.error}}": "",
"Unable to parse \"{{.kubernetes_version}}\": {{.error}}": "",
"Unable to pull images, which may be OK: {{.error}}": "",
"Unable to remove machine directory: %v": "",
"Unable to start VM": "",
"Unable to stop VM": "",
"Uninstalling Kubernetes {{.kubernetes_version}} using {{.bootstrapper_name}} ...": "",
@ -360,6 +374,7 @@
"Upgrading from Kubernetes {{.old}} to {{.new}}": "",
"Usage": "Usage",
"Usage: minikube completion SHELL": "",
"Usage: minikube delete": "",
"Use \"{{.CommandPath}} [command] --help\" for more information about a command.": "",
"User ID: {{.userID}}": "",
"Userspace file server is shutdown": "",
@ -374,16 +389,18 @@
"Version: {{.version}}": "",
"Wait failed": "",
"Wait failed: {{.error}}": "",
"Wait until Kubernetes core services are healthy before exiting": "",
"Wait until Kubernetes core services are healthy before exiting.": "",
"Waiting for SSH access ...": "En attente de l'accès SSH...",
"Waiting for the host to be provisioned ...": "",
"Waiting for:": "En attente de :",
"Where to root the NFS Shares (defaults to /nfsshares, only supported with hyperkit now)": "",
"You appear to be using a proxy, but your NO_PROXY environment does not include the minikube IP ({{.ip_address}}). Please see https://minikube.sigs.k8s.io/docs/reference/networking/proxy/ for more details": "",
"Where to root the NFS Shares, defaults to /nfsshares (hyperkit driver only)": "",
"You appear to be using a proxy, but your NO_PROXY environment does not include the minikube IP ({{.ip_address}}). Please see {{.documentation_url}} for more details": "",
"You can delete them using the following command(s): ": "",
"You may need to manually remove the \"{{.name}}\" VM from your hypervisor": "",
"You must specify a service name": "",
"Your host does not support KVM virtualization. Ensure that qemu-kvm is installed, and run 'virt-host-validate' to debug the problem": "",
"Your host is failing to route packets to the minikube VM. If you have VPN software, try turning it off or configuring it so that it does not re-route traffic to the VM IP. If not, check your VM environment routing options.": "",
"Your minikube vm is not running, try minikube start.": "",
"addon '{{.name}}' is currently not enabled.\nTo enable this addon run:\nminikube addons enable {{.name}}": "",
"addon '{{.name}}' is not a valid addon packaged with minikube.\nTo see the list of available addons run:\nminikube addons list": "",
"addon list failed": "",
@ -404,10 +421,12 @@
"error parsing the input ip address for mount": "",
"error starting tunnel": "",
"failed to open browser: {{.error}}": "",
"if true, will embed the certs in kubeconfig.": "",
"kubectl and minikube configuration will be stored in {{.home_folder}}": "",
"kubectl not found in PATH, but is required for the dashboard. Installation guide: https://kubernetes.io/docs/tasks/tools/install-kubectl/": "",
"kubectl proxy": "",
"logdir set failed": "",
"max time to wait per Kubernetes core services to be healthy.": "",
"minikube is not running, so the service cannot be accessed": "",
"minikube is unable to access the Google Container Registry. You may need to configure it to use a HTTP proxy.": "",
"minikube profile was successfully set to {{.profile_name}}": "",
@ -415,7 +434,6 @@
"minikube {{.version}} on {{.os}} ({{.arch}})": "minikube {{.version}} sur {{.os}} ({{.arch}})",
"mount argument \"{{.value}}\" must be in form: \u003csource directory\u003e:\u003ctarget directory\u003e": "",
"mount failed": "",
"need to relocate them. For example, to overwrite your own settings:": "",
"profile sets the current minikube profile, or gets the current profile if no arguments are provided. This is used to run and manage multiple minikube instance. You can return to the default minikube profile by running `minikube profile default`": "",
"service {{.namespace_name}}/{{.service_name}} has no node port": "",
"stat failed": "",

View File

@ -2,9 +2,9 @@
"\n\tOutputs minikube shell completion for the given shell (bash or zsh)\n\n\tThis depends on the bash-completion binary. Example installation instructions:\n\tOS X:\n\t\t$ brew install bash-completion\n\t\t$ source $(brew --prefix)/etc/bash_completion\n\t\t$ minikube completion bash \u003e ~/.minikube-completion # for bash users\n\t\t$ minikube completion zsh \u003e ~/.minikube-completion # for zsh users\n\t\t$ source ~/.minikube-completion\n\tUbuntu:\n\t\t$ apt-get install bash-completion\n\t\t$ source /etc/bash-completion\n\t\t$ source \u003c(minikube completion bash) # for bash users\n\t\t$ source \u003c(minikube completion zsh) # for zsh users\n\n\tAdditionally, you may want to output the completion to a file and source in your .bashrc\n\n\tNote for zsh users: [1] zsh completions are only supported in versions of zsh \u003e= 5.2\n": "",
"\"{{.minikube_addon}}\" was successfully disabled": "",
"\"{{.name}}\" cluster does not exist": "",
"\"{{.name}}\" profile does not exist": "",
"\"{{.profile_name}}\" VM does not exist, nothing to stop": "",
"\"{{.profile_name}}\" host does not exist, unable to show an IP": "",
"\"{{.profile_name}}\" profile does not exist": "",
"\"{{.profile_name}}\" stopped.": "",
"'none' driver does not support 'minikube docker-env' command": "",
"'none' driver does not support 'minikube mount' command": "",
@ -25,7 +25,7 @@
"Aliases": "",
"Alternative image repository to pull docker images from. This can be used when you have limited access to gcr.io. Set it to \\\"auto\\\" to let minikube decide one for you. For Chinese mainland users, you may use local gcr.io mirrors such as registry.cn-hangzhou.aliyuncs.com/google_containers": "",
"Alternatively, you may delete the existing VM using `minikube delete -p {{.profile_name}}`": "",
"Amount of RAM allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g)": "",
"Amount of RAM allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g).": "",
"Amount of time to wait for a service in seconds": "",
"Amount of time to wait for service in seconds": "",
"Available Commands": "",
@ -40,7 +40,9 @@
"Configuring local host environment ...": "",
"Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn": "",
"Could not get profile flag": "",
"Created a new profile : {{.profile_name}}": "",
"Creating %s VM (CPUs=%d, Memory=%dMB, Disk=%dMB) ...": "正在创建%s虚拟机CPU=%d内存=%dMB磁盘=%dMB...",
"Creating a new profile failed": "",
"Creating mount {{.name}} ...": "",
"Creating {{.driver_name}} VM (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB, Disk={{.disk_size}}MB) ...": "",
"Default group id used for the mount": "",
@ -50,18 +52,19 @@
"Deletes a local kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
"Deleting \"{{.profile_name}}\" in {{.driver_name}} ...": "",
"Disable Hyper-V when you want to run VirtualBox to boot the VM": "",
"Disable checking for the availability of hardware virtualization before the vm is started (virtualbox)": "",
"Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)": "",
"Disable dynamic memory in your VM manager, or pass in a larger --memory value": "",
"Disable real-time anti-virus software, reboot, and reinstall VirtualBox if the problem continues.": "",
"Disables the addon w/ADDON_NAME within minikube (example: minikube addons disable dashboard). For a list of available addons use: minikube addons list ": "",
"Disables the filesystem mounts provided by the hypervisors": "",
"Disk size allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g)": "",
"Disk size allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g).": "",
"Display dashboard URL instead of opening a browser": "",
"Display the kubernetes addons URL in the CLI instead of opening it in the default browser": "",
"Display the kubernetes service URL in the CLI instead of opening it in the default browser": "",
"Display values currently set in the minikube config file": "",
"Display values currently set in the minikube config file.": "",
"Docker inside the VM is unavailable. Try running 'minikube delete' to reset the VM.": "",
"Docs have been saved at - {{.path}}": "",
"Documentation: {{.url}}": "",
"Done! kubectl is now configured to use \"{{.name}}\"": "",
"Done! kubectl is now configured to use {{.name}}": "完成kubectl已经配置至{{.name}}",
@ -72,9 +75,9 @@
"ERROR creating `registry-creds-ecr` secret: {{.error}}": "",
"ERROR creating `registry-creds-gcr` secret: {{.error}}": "",
"Enable experimental NVIDIA GPU support in minikube": "",
"Enable host resolver for NAT DNS requests (virtualbox)": "",
"Enable proxy for NAT DNS requests (virtualbox)": "",
"Enable the default CNI plugin (/etc/cni/net.d/k8s.conf). Used in conjunction with \\\"--network-plugin=cni\\\"": "",
"Enable host resolver for NAT DNS requests (virtualbox driver only)": "",
"Enable proxy for NAT DNS requests (virtualbox driver only)": "",
"Enable the default CNI plugin (/etc/cni/net.d/k8s.conf). Used in conjunction with \\\"--network-plugin=cni\\\".": "",
"Enables the addon w/ADDON_NAME within minikube (example: minikube addons enable dashboard). For a list of available addons use: minikube addons list ": "",
"Enabling dashboard ...": "",
"Environment variables to pass to the Docker daemon. (format: key=value)": "",
@ -108,8 +111,9 @@
"Error loading api": "",
"Error loading profile config": "",
"Error loading profile config: {{.error}}": "",
"Error loading profile {{.name}}: {{.error}}": "",
"Error opening service": "",
"Error parsing minukube version: {{.error}}": "",
"Error parsing minikube version: {{.error}}": "",
"Error parsing vmDriver version: {{.error}}": "",
"Error reading {{.path}}: {{.error}}": "",
"Error restarting cluster": "",
@ -119,17 +123,18 @@
"Error unsetting shell variables": "",
"Error while setting kubectl current context : {{.error}}": "",
"Error writing mount pid": "",
"Error: You have selected Kubernetes v{{.new}}, but the existing cluster for your profile is running Kubernetes v{{.old}}. Non-destructive downgrades are not supported, but you can proceed by performing one of the following options:\n\n* Recreate the cluster using Kubernetes v{{.new}}: Run \"minikube delete {{.profile}}\", then \"minikube start {{.profile}} --kubernetes-version={{.new}}\"\n* Create a second cluster with Kubernetes v{{.new}}: Run \"minikube start -p \u003cnew name\u003e --kubernetes-version={{.new}}\"\n* Reuse the existing cluster with Kubernetes v{{.old}} or newer: Run \"minikube start {{.profile}} --kubernetes-version={{.old}}\"": "",
"Error: [{{.id}}] {{.error}}": "",
"Examples": "",
"Exiting": "",
"Failed runtime": "",
"Failed to cache ISO": "",
"Failed to cache and load images": "",
"Failed to cache binaries": "",
"Failed to cache images": "",
"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "",
"Failed to check if machine exists": "",
"Failed to check main repository and mirrors for images for images": "",
"Failed to chown {{.minikube_dir_path}}: {{.error}}": "",
"Failed to delete cluster": "",
"Failed to delete cluster: {{.error}}": "",
"Failed to delete images": "",
"Failed to delete images from config": "",
@ -158,6 +163,7 @@
"For best results, install kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl/": "",
"For more information, see:": "",
"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "",
"Force minikube to perform possibly dangerous operations": "",
"Found network options:": "",
"Found {{.number}} invalid profile(s) ! ": "",
"Gets the kubernetes URL(s) for the specified service in your local cluster": "",
@ -173,7 +179,7 @@
"Go template format string for the status output. The format for Go templates can be found here: https://golang.org/pkg/text/template/\nFor the list accessible variables for the template, see the struct values here: https://godoc.org/k8s.io/minikube/cmd/minikube/cmd#Status": "",
"Group ID: {{.groupID}}": "",
"Have you set up libvirt correctly?": "",
"Hide the hypervisor signature from the guest in minikube": "",
"Hide the hypervisor signature from the guest in minikube (kvm2 driver only)": "",
"If the above advice does not help, please let us know: ": "",
"If true, cache docker images for the current bootstrapper and load them into the machine. Always false with --vm-driver=none.": "",
"If true, only download and cache files for later use - don't install or start anything.": "",
@ -188,18 +194,17 @@
"Invalid size passed in argument: {{.error}}": "",
"IsEnabled failed": "",
"Kill the mount process spawned by minikube start": "",
"Kubernetes downgrade is not supported, will continue to use {{.version}}": "",
"Launching Kubernetes ... ": "正在启动 Kubernetes ... ",
"Launching proxy ...": "",
"List all available images from the local cache.": "",
"List of guest VSock ports that should be exposed as sockets on the host (Only supported on with hyperkit now).": "",
"List of guest VSock ports that should be exposed as sockets on the host (hyperkit driver only)": "",
"Lists all available minikube addons as well as their current statuses (enabled/disabled)": "",
"Lists all minikube profiles.": "",
"Lists all valid minikube profiles and detects all possible invalid profiles.": "",
"Lists the URLs for the services in your local cluster": "",
"Local folders to share with Guest via NFS mounts (Only supported on with hyperkit now)": "",
"Location of the VPNKit socket used for networking. If empty, disables Hyperkit VPNKitSock, if 'auto' uses Docker for Mac VPNKit connection, otherwise uses the specified VSock.": "",
"Location of the minikube iso": "",
"Local folders to share with Guest via NFS mounts (hyperkit driver only)": "",
"Location of the VPNKit socket used for networking. If empty, disables Hyperkit VPNKitSock, if 'auto' uses Docker for Mac VPNKit connection, otherwise uses the specified VSock (hyperkit driver only)": "",
"Location of the minikube iso.": "",
"Log into or run a command on a machine with SSH; similar to 'docker-machine ssh'": "",
"Log into or run a command on a machine with SSH; similar to 'docker-machine ssh'.": "",
"Message Size: {{.size}}": "",
@ -214,9 +219,9 @@
"NOTE: This process must stay alive for the mount to be accessible ...": "",
"Networking and Connectivity Commands:": "",
"No minikube profile was found. You can create one using `minikube start`.": "",
"None of known repositories in your location is accessible. Use {{.image_repository_name}} as fallback.": "",
"None of known repositories is accessible. Consider specifying an alternative image repository with --image-repository flag": "",
"Number of CPUs allocated to the minikube VM": "",
"None of the known repositories in your location are accessible. Using {{.image_repository_name}} as fallback.": "",
"None of the known repositories is accessible. Consider specifying an alternative image repository with --image-repository flag": "",
"Number of CPUs allocated to the minikube VM.": "",
"Number of lines back to go within the log": "",
"OS release is {{.pretty_name}}": "",
"Open the addons URL with https instead of http": "",
@ -228,14 +233,13 @@
"Outputs minikube shell completion for the given shell (bash or zsh)": "",
"Permissions: {{.octalMode}} ({{.writtenMode}})": "",
"Please check your BIOS, and ensure that you are running without HyperV or other nested virtualization that may interfere": "",
"Please don't run minikube as root or with 'sudo' privileges. It isn't necessary with {{.driver}} driver.": "",
"Please enter a value:": "",
"Please install the minikube hyperkit VM driver, or select an alternative --vm-driver": "",
"Please install the minikube kvm2 VM driver, or select an alternative --vm-driver": "",
"Please make sure the service you are looking for is deployed or is in the correct namespace.": "",
"Please run with sudo. the vm-driver \"{{.driver_name}}\" requires sudo.": "",
"Please specify the directory to be mounted: \n\tminikube mount \u003csource directory\u003e:\u003ctarget directory\u003e (example: \"/host-home:/vm-home\")": "",
"Please upgrade the '{{.driver_executable}}'. {{.documentation_url}}": "",
"Populates the specified folder with documentation in markdown about minikube": "",
"Powering off \"{{.profile_name}}\" via SSH ...": "",
"Preparing Kubernetes {{.k8sVersion}} on {{.runtime}} {{.runtimeVersion}} ...": "",
"Print current and latest version number": "",
@ -244,7 +248,7 @@
"Problems detected in {{.entry}}:": "",
"Problems detected in {{.name}}:": "",
"Profile gets or sets the current minikube profile": "",
"Provide VM UUID to restore MAC address (only supported with Hyperkit driver).": "",
"Provide VM UUID to restore MAC address (hyperkit driver only)": "",
"Pulling images ...": "拉取镜像 ...",
"Re-run 'minikube start' with --alsologtostderr -v=8 to see the VM driver error message": "",
"Reboot to complete VirtualBox installation, and verify that VirtualBox is not blocked by your system": "",
@ -254,6 +258,7 @@
"Reinstall VirtualBox and verify that it is not blocked: System Preferences -\u003e Security \u0026 Privacy -\u003e General -\u003e Some system software was blocked from loading": "",
"Related issues:": "",
"Relaunching Kubernetes using {{.bootstrapper}} ... ": "",
"Removing {{.directory}} ...": "",
"Requested disk size {{.requested_size}} is less than minimum of {{.minimum_size}}": "",
"Requested memory allocation ({{.memory}}MB) is less than the default memory allocation of {{.default_memorysize}}MB. Beware that minikube might not work correctly or crash unexpectedly.": "",
"Requested memory allocation {{.requested_size}} is less than the minimum allowed of {{.minimum_size}}": "",
@ -278,11 +283,11 @@
"Setting profile failed": "",
"Show only log entries which point to known problems": "",
"Show only the most recent journal entries, and continuously print new entries as they are appended to the journal.": "",
"Skipped switching kubectl context for {{.profile_name}} , because --keep-context": "",
"Skipped switching kubectl context for {{.profile_name}} because --keep-context was set.": "",
"Sorry that minikube crashed. If this was unexpected, we would love to hear from you:": "",
"Sorry, completion support is not yet implemented for {{.name}}": "",
"Sorry, the kubeadm.{{.parameter_name}} parameter is currently not supported by --extra-config": "",
"Sorry, url provided with --registry-mirror flag is invalid {{.url}}": "",
"Sorry, the url provided with the --registry-mirror flag is invalid: {{.url}}": "",
"Specify --kubernetes-version in v\u003cmajor\u003e.\u003cminor.\u003cbuild\u003e form. example: 'v1.1.14'": "",
"Specify an alternate --host-only-cidr value, such as 172.16.0.1/24": "",
"Specify arbitrary flags to pass to the Docker daemon. (format: key=value)": "",
@ -297,51 +302,58 @@
"Successfully mounted {{.sourcePath}} to {{.destinationPath}}": "",
"Suggestion: {{.advice}}": "",
"Target directory {{.path}} must be an absolute path": "",
"The \"{{.cluster_name}}\" cluster has been deleted.": "",
"The \"{{.driver_name}}\" driver requires root privileges. Please run minikube using 'sudo minikube --vm-driver={{.driver_name}}'.": "",
"The \"{{.name}}\" cluster has been deleted.": "",
"The 'none' driver provides limited isolation and may reduce system security and reliability.": "",
"The CIDR to be used for service cluster IPs.": "",
"The CIDR to be used for the minikube VM (only supported with Virtualbox driver)": "",
"The KVM QEMU connection URI. (works only with kvm2 driver on linux)": "",
"The CIDR to be used for the minikube VM (virtualbox driver only)": "",
"The KVM QEMU connection URI. (kvm2 driver only)": "",
"The KVM driver is unable to resurrect this old VM. Please run `minikube delete` to delete it and try again.": "",
"The KVM network name. (only supported with KVM driver)": "",
"The KVM network name. (kvm2 driver only)": "",
"The VM driver exited with an error, and may be corrupt. Run 'minikube start' with --alsologtostderr -v=8 to see the error": "",
"The apiserver listening port": "",
"The apiserver name which is used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine": "",
"The argument to pass the minikube mount command on start": "",
"The argument to pass the minikube mount command on start.": "",
"The cluster dns domain name used in the kubernetes cluster": "",
"The container runtime to be used (docker, crio, containerd)": "",
"The cri socket path to be used": "",
"The container runtime to be used (docker, crio, containerd).": "",
"The cri socket path to be used.": "",
"The docker host is currently not running": "",
"The docker service is currently not active": "",
"The driver '{{.driver}}' is not supported on {{.os}}": "",
"The hyperv virtual switch name. Defaults to first found. (only supported with HyperV driver)": "",
"The hyperv virtual switch name. Defaults to first found. (hyperv driver only)": "",
"The initial time interval for each check that wait performs in seconds": "",
"The kubernetes version that the minikube VM will use (ex: v1.2.3)": "",
"The minikube VM is offline. Please run 'minikube start' to start it again.": "",
"The name of the network plugin": "",
"The name of the network plugin.": "",
"The number of bytes to use for 9p packet payload": "",
"The path on the file system where the docs in markdown need to be saved": "",
"The service namespace": "",
"The services namespace": "",
"The time interval for each check that wait performs in seconds": "",
"The value passed to --format is invalid": "",
"The value passed to --format is invalid: {{.error}}": "",
"The vmwarefusion driver is deprecated and support for it will be removed in a future release.\n\t\t\tPlease consider switching to the new vmware unified driver, which is intended to replace the vmwarefusion driver.\n\t\t\tSee https://minikube.sigs.k8s.io/docs/reference/drivers/vmware/ for more information.\n\t\t\tTo disable this message, run [minikube config set ShowDriverDeprecationNotification false]": "",
"The {{.driver_name}} driver should not be used with root privileges.": "",
"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "",
"These changes will take effect upon a minikube delete and then a minikube start": "",
"This addon does not have an endpoint defined for the 'addons open' command.\nYou can add one by annotating a service with the label {{.labelName}}:{{.addonName}}": "",
"This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true": "",
"This will keep the existing kubectl context and will create a minikube context.": "",
"This will start the mount daemon and automatically mount files into minikube": "",
"This will start the mount daemon and automatically mount files into minikube.": "",
"Tip: To remove this root owned cluster, run: sudo {{.cmd}} delete": "",
"Tip: Use 'minikube start -p \u003cname\u003e' to create a new cluster, or 'minikube delete' to delete this one.": "",
"To connect to this cluster, use: kubectl --context={{.name}}": "",
"To connect to this cluster, use: kubectl --context={{.profile_name}}": "",
"To disable this notice, run: 'minikube config set WantUpdateNotification false'": "",
"To start minikube with HyperV Powershell must be in your PATH`": "",
"To switch drivers, you may create a new VM using `minikube start -p \u003cname\u003e --vm-driver={{.driver_name}}`": "",
"To use kubectl or minikube commands as your own user, you may": "",
"To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:": "",
"Troubleshooting Commands:": "",
"Unable to bind flags": "",
"Unable to enable dashboard": "",
"Unable to fetch latest version info": "",
"Unable to generate docs": "",
"Unable to generate the documentation. Please ensure that the path specified is a directory, exists \u0026 you have permission to write to it.": "",
"Unable to get VM IP address": "",
"Unable to get bootstrapper: {{.error}}": "",
"Unable to get runtime": "",
@ -351,6 +363,7 @@
"Unable to load config: {{.error}}": "",
"Unable to parse \"{{.kubernetes_version}}\": {{.error}}": "",
"Unable to pull images, which may be OK: {{.error}}": "",
"Unable to remove machine directory: %v": "",
"Unable to start VM": "",
"Unable to stop VM": "",
"Uninstalling Kubernetes {{.kubernetes_version}} using {{.bootstrapper_name}} ...": "",
@ -361,6 +374,7 @@
"Upgrading from Kubernetes {{.old}} to {{.new}}": "",
"Usage": "",
"Usage: minikube completion SHELL": "",
"Usage: minikube delete": "",
"Use \"{{.CommandPath}} [command] --help\" for more information about a command.": "",
"User ID: {{.userID}}": "",
"Userspace file server is shutdown": "",
@ -375,15 +389,17 @@
"Version: {{.version}}": "",
"Wait failed": "",
"Wait failed: {{.error}}": "",
"Wait until Kubernetes core services are healthy before exiting": "",
"Wait until Kubernetes core services are healthy before exiting.": "",
"Waiting for the host to be provisioned ...": "",
"Waiting for:": "",
"Where to root the NFS Shares (defaults to /nfsshares, only supported with hyperkit now)": "",
"You appear to be using a proxy, but your NO_PROXY environment does not include the minikube IP ({{.ip_address}}). Please see https://minikube.sigs.k8s.io/docs/reference/networking/proxy/ for more details": "",
"Where to root the NFS Shares, defaults to /nfsshares (hyperkit driver only)": "",
"You appear to be using a proxy, but your NO_PROXY environment does not include the minikube IP ({{.ip_address}}). Please see {{.documentation_url}} for more details": "",
"You can delete them using the following command(s): ": "",
"You may need to manually remove the \"{{.name}}\" VM from your hypervisor": "",
"You must specify a service name": "",
"Your host does not support KVM virtualization. Ensure that qemu-kvm is installed, and run 'virt-host-validate' to debug the problem": "",
"Your host is failing to route packets to the minikube VM. If you have VPN software, try turning it off or configuring it so that it does not re-route traffic to the VM IP. If not, check your VM environment routing options.": "",
"Your minikube vm is not running, try minikube start.": "",
"addon '{{.name}}' is currently not enabled.\nTo enable this addon run:\nminikube addons enable {{.name}}": "",
"addon '{{.name}}' is not a valid addon packaged with minikube.\nTo see the list of available addons run:\nminikube addons list": "",
"addon list failed": "",
@ -404,10 +420,12 @@
"error parsing the input ip address for mount": "",
"error starting tunnel": "",
"failed to open browser: {{.error}}": "",
"if true, will embed the certs in kubeconfig.": "",
"kubectl and minikube configuration will be stored in {{.home_folder}}": "",
"kubectl not found in PATH, but is required for the dashboard. Installation guide: https://kubernetes.io/docs/tasks/tools/install-kubectl/": "",
"kubectl proxy": "",
"logdir set failed": "",
"max time to wait per Kubernetes core services to be healthy.": "",
"minikube is not running, so the service cannot be accessed": "",
"minikube is unable to access the Google Container Registry. You may need to configure it to use a HTTP proxy.": "",
"minikube profile was successfully set to {{.profile_name}}": "",
@ -415,7 +433,6 @@
"minikube {{.version}} on {{.os}} ({{.arch}})": "您正在使用minikube {{.version}} 运行平台:{{.os}} ({{.arch}})",
"mount argument \"{{.value}}\" must be in form: \u003csource directory\u003e:\u003ctarget directory\u003e": "",
"mount failed": "",
"need to relocate them. For example, to overwrite your own settings:": "",
"profile sets the current minikube profile, or gets the current profile if no arguments are provided. This is used to run and manage multiple minikube instance. You can return to the default minikube profile by running `minikube profile default`": "",
"service {{.namespace_name}}/{{.service_name}} has no node port": "",
"stat failed": "",