Merge branch 'master' into updateUbuntu

pull/15075/head
Steven Powell 2022-10-10 10:13:15 -07:00 committed by GitHub
commit 5af4713c81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 807 additions and 49 deletions

View File

@ -1,5 +1,58 @@
# Release Notes
## Version 1.27.1 - 2022-10-07
Features (Experimental):
* QEMU Driver: Add support for dedicated network on macOS (socket_vmnet) [#14989](https://github.com/kubernetes/minikube/pull/14989)
* QEMU Driver: Add support minikube service and tunnel on macOS [#14989](https://github.com/kubernetes/minikube/pull/14989)
Minor Imprevements:
* Check if context is invalid during update-context command [#15032](https://github.com/kubernetes/minikube/pull/15032)
* Use SSH tunnel if user specifies bindAddress [#14951](https://github.com/kubernetes/minikube/pull/14951)
* Warn QEMU users if DNS issue detected [#15073](https://github.com/kubernetes/minikube/pull/15073)
Bug Fixes:
* Fix status command taking a long time on docker driver while paused [#15077](https://github.com/kubernetes/minikube/pull/15077)
* Fix not allowing passing only an exposed port to --ports [#15085](https://github.com/kubernetes/minikube/pull/15085)
* Fix `minikube dashboard` failing on macOS [#15037](https://github.com/kubernetes/minikube/pull/15037)
* Fix incorrect command in powershell command tip [#15012](https://github.com/kubernetes/minikube/pull/15012)
Version Upgrades:
* Bump Kubernetes version default: v1.25.2 and latest: v1.25.2 [#14995](https://github.com/kubernetes/minikube/pull/14995)
* Upgrade kubernetes dashboard from v2.6.0 to v2.7.0 [#15000](https://github.com/kubernetes/minikube/pull/15000)
For a more detailed changelog, including changes occurring in pre-release versions, see [CHANGELOG.md](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md).
Thank you to our contributors for this release!
- Anthony Nandaa
- Jeff MAURY
- Medya Ghazizadeh
- Rob Leland
- Steven Powell
- Yuiko Mouri
- cokia
- klaases
- ziyi-xie
Thank you to our PR reviewers for this release!
- eiffel-fl (9 comments)
- medyagh (6 comments)
- AkihiroSuda (2 comments)
- klaases (2 comments)
- t-inu (1 comments)
Thank you to our triage members for this release!
- klaases (31 comments)
- RA489 (30 comments)
- afbjorklund (17 comments)
- nikimanoledaki (7 comments)
- medyagh (3 comments)
Check out our [contributions leaderboard](https://minikube.sigs.k8s.io/docs/contrib/leaderboard/v1.27.1/) for this release!
## Version 1.27.0 - 2022-09-15
Kubernetes v1.25:

View File

@ -15,7 +15,7 @@
# Bump these on release - and please check ISO_VERSION for correctness.
VERSION_MAJOR ?= 1
VERSION_MINOR ?= 27
VERSION_BUILD ?= 0
VERSION_BUILD ?= 1
RAW_VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
VERSION ?= v$(RAW_VERSION)
@ -76,7 +76,7 @@ MINIKUBE_RELEASES_URL=https://github.com/kubernetes/minikube/releases/download
KERNEL_VERSION ?= 5.10.57
# latest from https://github.com/golangci/golangci-lint/releases
# update this only by running `make update-golint-version`
GOLINT_VERSION ?= v1.49.0
GOLINT_VERSION ?= v1.50.0
# Limit number of default jobs, to avoid the CI builds running out of memory
GOLINT_JOBS ?= 4
# see https://github.com/golangci/golangci-lint#memory-usage-of-golangci-lint

View File

@ -63,11 +63,14 @@ var addonsEnableCmd = &cobra.Command{
You can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS`,
out.V{"addon": addon, "maintainer": maintainer})
} else {
out.Styled(style.Warning, `{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.`,
out.Styled(style.Warning, `{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.`,
out.V{"addon": addon})
if addonBundle.VerifiedMaintainer != "" {
out.Styled(style.Tip, `{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.`,
out.V{"addon": addon, "maintainer": maintainer, "verifiedMaintainer": addonBundle.VerifiedMaintainer})
} else {
out.Styled(style.Warning, `{{.addon}} does not currently have an associated maintainer.`,
out.V{"addon": addon})
}
}
}

View File

@ -68,6 +68,7 @@ import (
"k8s.io/minikube/pkg/minikube/notify"
"k8s.io/minikube/pkg/minikube/out"
"k8s.io/minikube/pkg/minikube/out/register"
"k8s.io/minikube/pkg/minikube/pause"
"k8s.io/minikube/pkg/minikube/reason"
"k8s.io/minikube/pkg/minikube/style"
pkgtrace "k8s.io/minikube/pkg/trace"
@ -408,6 +409,8 @@ func startWithDriver(cmd *cobra.Command, starter node.Starter, existing *config.
}
}
pause.RemovePausedFile(starter.Runner)
return kubeconfig, nil
}
@ -1253,24 +1256,48 @@ func validateFlags(cmd *cobra.Command, drvName string) {
// validatePorts validates that the --ports are not below 1024 for the host and not outside range
func validatePorts(ports []string) error {
_, portBindingsMap, err := nat.ParsePortSpecs(ports)
var exposedPorts, hostPorts, portSpecs []string
for _, p := range ports {
if strings.Contains(p, ":") {
portSpecs = append(portSpecs, p)
} else {
exposedPorts = append(exposedPorts, p)
}
}
_, portBindingsMap, err := nat.ParsePortSpecs(portSpecs)
if err != nil {
return errors.Errorf("Sorry, one of the ports provided with --ports flag is not valid %s (%v)", ports, err)
}
for _, portBindings := range portBindingsMap {
for exposedPort, portBindings := range portBindingsMap {
exposedPorts = append(exposedPorts, exposedPort.Port())
for _, portBinding := range portBindings {
p, err := strconv.Atoi(portBinding.HostPort)
if err != nil {
return errors.Errorf("Sorry, one of the ports provided with --ports flag is not valid %s", ports)
}
if p > 65535 || p < 1 {
return errors.Errorf("Sorry, one of the ports provided with --ports flag is outside range %s", ports)
}
if detect.IsMicrosoftWSL() && p < 1024 {
return errors.Errorf("Sorry, you cannot use privileged ports on the host (below 1024) %s", ports)
}
hostPorts = append(hostPorts, portBinding.HostPort)
}
}
for _, p := range exposedPorts {
if err := validatePort(p, false); err != nil {
return err
}
}
for _, p := range hostPorts {
if err := validatePort(p, true); err != nil {
return err
}
}
return nil
}
func validatePort(port string, isHost bool) error {
p, err := strconv.Atoi(port)
if err != nil {
return errors.Errorf("Sorry, one of the ports provided with --ports flag is not valid: %s", port)
}
if p > 65535 || p < 1 {
return errors.Errorf("Sorry, one of the ports provided with --ports flag is outside range: %s", port)
}
if isHost && detect.IsMicrosoftWSL() && p < 1024 {
return errors.Errorf("Sorry, you cannot use privileged ports on the host (below 1024): %s", port)
}
return nil
}

View File

@ -489,12 +489,12 @@ func TestValidatePorts(t *testing.T) {
{
isTarget: true,
ports: []string{"0:80"},
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range [0:80]",
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range: 0",
},
{
isTarget: true,
ports: []string{"0:80/tcp"},
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range [0:80/tcp]",
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range: 0",
},
{
isTarget: true,
@ -504,12 +504,12 @@ func TestValidatePorts(t *testing.T) {
{
isTarget: true,
ports: []string{"0-1:80-81/tcp"},
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range [0-1:80-81/tcp]",
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range: 0",
},
{
isTarget: true,
ports: []string{"0-1:80-81/udp"},
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range [0-1:80-81/udp]",
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range: 0",
},
{
isTarget: !isMicrosoftWSL,
@ -519,22 +519,22 @@ func TestValidatePorts(t *testing.T) {
{
isTarget: isMicrosoftWSL,
ports: []string{"80:80"},
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [80:80]",
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024): 80",
},
{
isTarget: isMicrosoftWSL,
ports: []string{"1023-1025:8023-8025"},
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [1023-1025:8023-8025]",
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024): 1023",
},
{
isTarget: isMicrosoftWSL,
ports: []string{"1023-1025:8023-8025/tcp"},
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [1023-1025:8023-8025/tcp]",
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024): 1023",
},
{
isTarget: isMicrosoftWSL,
ports: []string{"1023-1025:8023-8025/udp"},
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [1023-1025:8023-8025/udp]",
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024): 1023",
},
{
isTarget: true,
@ -554,27 +554,72 @@ func TestValidatePorts(t *testing.T) {
{
isTarget: isMicrosoftWSL,
ports: []string{"127.0.0.1:80:80"},
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [127.0.0.1:80:80]",
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024): 80",
},
{
isTarget: isMicrosoftWSL,
ports: []string{"127.0.0.1:81:81/tcp"},
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [127.0.0.1:81:81/tcp]",
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024): 81",
},
{
isTarget: isMicrosoftWSL,
ports: []string{"127.0.0.1:81:81/udp"},
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [127.0.0.1:81:81/udp]",
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024): 81",
},
{
isTarget: isMicrosoftWSL,
ports: []string{"127.0.0.1:80-83:80-83/tcp"},
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [127.0.0.1:80-83:80-83/tcp]",
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024): 80",
},
{
isTarget: isMicrosoftWSL,
ports: []string{"127.0.0.1:80-83:80-83/udp"},
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024) [127.0.0.1:80-83:80-83/udp]",
errorMsg: "Sorry, you cannot use privileged ports on the host (below 1024): 80",
},
{
isTarget: true,
ports: []string{"80"},
errorMsg: "",
},
{
isTarget: true,
ports: []string{"80", "65535", "65536"},
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range: 65536",
},
{
isTarget: true,
ports: []string{"0", "80", "65535"},
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range: 0",
},
{
isTarget: true,
ports: []string{"cats"},
errorMsg: "Sorry, one of the ports provided with --ports flag is not valid: cats",
},
{
isTarget: true,
ports: []string{"127.0.0.1:81:0/tcp"},
errorMsg: "Sorry, one of the ports provided with --ports flag is outside range: 0",
},
{
isTarget: true,
ports: []string{"127.0.0.1:81:65536/tcp"},
errorMsg: "Sorry, one of the ports provided with --ports flag is not valid [127.0.0.1:81:65536/tcp] (Invalid containerPort: 65536)",
},
{
isTarget: true,
ports: []string{"1-65536:80-81/tcp"},
errorMsg: "Sorry, one of the ports provided with --ports flag is not valid [1-65536:80-81/tcp] (Invalid hostPort: 1-65536)",
},
{
isTarget: true,
ports: []string{"1-80:0-81/tcp"},
errorMsg: "Sorry, one of the ports provided with --ports flag is not valid [1-80:0-81/tcp] (Invalid ranges specified for container and host Ports: 0-81 and 1-80)",
},
{
isTarget: true,
ports: []string{"1-80:1-65536/tcp"},
errorMsg: "Sorry, one of the ports provided with --ports flag is not valid [1-80:1-65536/tcp] (Invalid containerPort: 1-65536)",
},
}
for _, test := range tests {

View File

@ -1,4 +1,30 @@
[
{
"checksums": {
"amd64": {
"darwin": "aa60ff42b4d60b1a65552a5f527d78f68efa887e1eab0af013996badfbccc3c8",
"linux": "159bc79f3914dadb7c9f56b6e9d5b73a1c54acb26dca8f1ea84b99ff5da42620",
"windows": "d5957435f3a94a43ce0c764ecaf3b9c4f7c6f8bcafdc4ef7b2b86937ec5c311c"
},
"arm": {
"linux": "f14348a7653672745e92eba934543c0a9f3fa14fbdeff3cf76da41e174769bf0"
},
"arm64": {
"darwin": "c12ad4e16460e8cdf9f49a9cf6514878875453485570cafe4423fc4d3a69d590",
"linux": "6a3fb0eaac110c35f018948838aa6ab0898e811a08f76e74b85d8573fb08b1d0"
},
"ppc64le": {
"linux": "aae55c97d7fa9d3180843cffc4c6a504d6882c45a232bdef23e46ec83e191aae"
},
"s390x": {
"linux": "cb22c8c54c4e9b441ec6680f38dc067909bc1f793a205202274eaff2cd947e9f"
},
"darwin": "aa60ff42b4d60b1a65552a5f527d78f68efa887e1eab0af013996badfbccc3c8",
"linux": "159bc79f3914dadb7c9f56b6e9d5b73a1c54acb26dca8f1ea84b99ff5da42620",
"windows": "d5957435f3a94a43ce0c764ecaf3b9c4f7c6f8bcafdc4ef7b2b86937ec5c311c"
},
"name": "v1.27.1"
},
{
"checksums": {
"amd64": {

View File

@ -1,4 +1,12 @@
[
{
"checksums": {
"darwin": "aa60ff42b4d60b1a65552a5f527d78f68efa887e1eab0af013996badfbccc3c8",
"linux": "159bc79f3914dadb7c9f56b6e9d5b73a1c54acb26dca8f1ea84b99ff5da42620",
"windows": "d5957435f3a94a43ce0c764ecaf3b9c4f7c6f8bcafdc4ef7b2b86937ec5c311c"
},
"name": "v1.27.1"
},
{
"checksums": {
"darwin": "fca0cbabad64868cf00d37349b953b16c06bafa13569595ef7721bd9178b4a5c",

View File

@ -24,13 +24,13 @@ import (
const (
// Version is the current version of kic
Version = "v0.0.34-1664988738-15075"
Version = "v0.0.35"
// SHA of the kic base image
baseImageSHA = "cd7ef1dc75e601c481238e44f98be8b254c59558b27f38b011091d9491c5d428"
// The name of the GCR kicbase repository
gcrRepo = "gcr.io/k8s-minikube/kicbase-builds"
gcrRepo = "gcr.io/k8s-minikube/kicbase"
// The name of the Dockerhub kicbase repository
dockerhubRepo = "docker.io/kicbase/build"
dockerhubRepo = "docker.io/kicbase/stable"
)
var (

View File

@ -174,7 +174,7 @@ func APIServerStatus(cr command.Runner, hostname string, port int) (state.State,
rr, err := cr.RunCmd(exec.Command("sudo", "egrep", "^[0-9]+:freezer:", fmt.Sprintf("/proc/%d/cgroup", pid)))
if err != nil {
klog.Warningf("unable to find freezer cgroup: %v", err)
return apiServerHealthz(hostname, port)
return nonFreezerServerStatus(cr, hostname, port)
}
freezer := strings.TrimSpace(rr.Stdout.String())
@ -182,7 +182,7 @@ func APIServerStatus(cr command.Runner, hostname string, port int) (state.State,
fparts := strings.Split(freezer, ":")
if len(fparts) != 3 {
klog.Warningf("unable to parse freezer - found %d parts: %s", len(fparts), freezer)
return apiServerHealthz(hostname, port)
return nonFreezerServerStatus(cr, hostname, port)
}
rr, err = cr.RunCmd(exec.Command("sudo", "cat", path.Join("/sys/fs/cgroup/freezer", fparts[2], "freezer.state")))
@ -196,7 +196,7 @@ func APIServerStatus(cr command.Runner, hostname string, port int) (state.State,
klog.Warningf("unable to get freezer state: %s", rr.Stderr.String())
}
return apiServerHealthz(hostname, port)
return nonFreezerServerStatus(cr, hostname, port)
}
fs := strings.TrimSpace(rr.Stdout.String())
@ -207,6 +207,18 @@ func APIServerStatus(cr command.Runner, hostname string, port int) (state.State,
return apiServerHealthz(hostname, port)
}
// nonFreezerServerStatus is the alternative flow if the guest does not have the freezer cgroup so different methods to detect the apiserver status are used
func nonFreezerServerStatus(cr command.Runner, hostname string, port int) (state.State, error) {
rr, err := cr.RunCmd(exec.Command("ls"))
if err != nil {
return state.None, err
}
if strings.Contains(rr.Stdout.String(), "paused") {
return state.Paused, nil
}
return apiServerHealthz(hostname, port)
}
// apiServerHealthz checks apiserver in a patient and tolerant manner
func apiServerHealthz(hostname string, port int) (state.State, error) {
var st state.State

View File

@ -23,6 +23,7 @@ import (
"k8s.io/klog/v2"
"k8s.io/minikube/pkg/minikube/command"
"k8s.io/minikube/pkg/minikube/cruntime"
pkgpause "k8s.io/minikube/pkg/minikube/pause"
"k8s.io/minikube/pkg/minikube/sysinit"
"k8s.io/minikube/pkg/util/retry"
)
@ -63,7 +64,15 @@ func pause(cr cruntime.Manager, r command.Runner, namespaces []string) ([]string
return ids, nil
}
return ids, cr.PauseContainers(ids)
if err := cr.PauseContainers(ids); err != nil {
return ids, errors.Wrap(err, "pausing containers")
}
if doesNamespaceContainKubeSystem(namespaces) {
pkgpause.CreatePausedFile(r)
}
return ids, nil
}
// Unpause unpauses a Kubernetes cluster, retrying if necessary
@ -99,6 +108,10 @@ func unpause(cr cruntime.Manager, r command.Runner, namespaces []string) ([]stri
return ids, errors.Wrap(err, "kubelet start")
}
if doesNamespaceContainKubeSystem(namespaces) {
pkgpause.RemovePausedFile(r)
}
return ids, nil
}
@ -115,3 +128,18 @@ func CheckIfPaused(cr cruntime.Manager, namespaces []string) (bool, error) {
return false, nil
}
// doesNamespaceContainKubeSystem returns true if kube-system is contained in the namespace list
// This is used to only mark the apiserver as paused/unpaused when the kube-system namespace is specified
func doesNamespaceContainKubeSystem(namespaces []string) bool {
// nil slice indicates all namespaces
if namespaces == nil {
return true
}
for _, ns := range namespaces {
if ns == "kube-system" {
return true
}
}
return false
}

View File

@ -672,7 +672,7 @@ func validateNetwork(h *host.Host, r command.Runner, imageRepository string, kub
}
// Non-blocking
go tryRegistry(r, h.Driver.DriverName(), imageRepository, kubernetesVersion)
go tryRegistry(r, h.Driver.DriverName(), imageRepository, kubernetesVersion, ip)
return ip, nil
}
@ -728,7 +728,7 @@ func trySSH(h *host.Host, ip string) error {
}
// tryRegistry tries to connect to the image repository
func tryRegistry(r command.Runner, driverName string, imageRepository string, kubernetesVersion string) {
func tryRegistry(r command.Runner, driverName string, imageRepository string, kubernetesVersion string, ip string) {
// 2 second timeout. For best results, call tryRegistry in a non-blocking manner.
opts := []string{"-sS", "-m", "2"}
@ -747,6 +747,10 @@ func tryRegistry(r command.Runner, driverName string, imageRepository string, ku
klog.Warningf("%s failed: %v", rr.Args, err)
out.WarningT("This {{.type}} is having trouble accessing https://{{.repository}}", out.V{"repository": imageRepository, "type": driver.MachineType(driverName)})
out.ErrT(style.Tip, "To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/")
// using QEMU with the user network
if driver.IsQEMU(driverName) && ip == "127.0.0.1" {
out.WarningT("Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues")
}
}
}

View File

@ -0,0 +1,40 @@
/*
Copyright 2022 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 pause
import (
"os/exec"
"k8s.io/klog/v2"
"k8s.io/minikube/pkg/minikube/command"
)
const pausedFile = "paused"
// CreatePausedFile creates a file in the minikube cluster to indicate that the apiserver is paused
func CreatePausedFile(r command.Runner) {
if _, err := r.RunCmd(exec.Command("touch", pausedFile)); err != nil {
klog.Errorf("failed to create paused file, apiserver may display incorrect status")
}
}
// RemovePausedFile removes a file in minikube cluster to indicate that the apiserver is unpaused
func RemovePausedFile(r command.Runner) {
if _, err := r.RunCmd(exec.Command("rm", "-f", pausedFile)); err != nil {
klog.Errorf("failed to remove paused file, apiserver may display incorrect status")
}
}

View File

@ -0,0 +1,27 @@
---
title: "v1.27.1 Benchmark"
linkTitle: "v1.27.1 Benchmark"
weight: -20221008
---
![time-to-k8s](/images/benchmarks/timeToK8s/v1.27.1-time.png)
| | minikube version: v1.27.1 | kind v0.16.0 go1.19.1 linux/amd64 | k3d version v5.4.6 |
|----------------------|---------------------------|-----------------------------------|--------------------|
| Command Exec | 34.025 | 23.670 | 16.210 |
| API Server Answering | 0.098 | 0.103 | 0.126 |
| Kubernetes SVC | 0.088 | 0.079 | 0.083 |
| DNS SVC | 0.085 | 0.081 | 0.084 |
| App Running | 15.237 | 26.462 | 13.359 |
| DNS Answering | 4.239 | 2.189 | 3.050 |
| Total | 53.771 | 52.585 | 32.911 |
![cpu-to-k8s](/images/benchmarks/timeToK8s/v1.27.1-cpu.png)
| | minikube version: v1.27.1 | kind v0.16.0 go1.19.1 linux/amd64 | k3d version v5.4.6 |
|--------------------|---------------------------|-----------------------------------|--------------------|
| CPU Utilization(%) | 46.634 | 51.041 | 53.975 |
| CPU Time(seconds) | 24.360 | 26.787 | 17.793 |

View File

@ -26,7 +26,7 @@ minikube start [flags]
--apiserver-names strings A set of apiserver names which are used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine
--apiserver-port int The apiserver listening port (default 8443)
--auto-update-drivers If set, automatically updates drivers to the latest version. Defaults to true. (default true)
--base-image string The base image to use for docker/podman drivers. Intended for local development. (default "gcr.io/k8s-minikube/kicbase-builds:v0.0.34-1664988738-15075@sha256:cd7ef1dc75e601c481238e44f98be8b254c59558b27f38b011091d9491c5d428")
--base-image string The base image to use for docker/podman drivers. Intended for local development. (default "gcr.io/k8s-minikube/kicbase:v0.0.35@sha256:e6f9b2700841634f3b94907f9cfa6785ca4409ef8e428a0322c1781e809d311b")
--binary-mirror string Location to fetch kubectl, kubelet, & kubeadm binaries from.
--cache-images If true, cache docker images for the current bootstrapper and load them into the machine. Always false with --driver=none. (default true)
--cert-expiration duration Duration until minikube certificate expiration, defaults to three years (26280h). (default 26280h0m0s)

View File

@ -0,0 +1,467 @@
---
title: "v1.27.1 - 2022-10-07"
linkTitle: "v1.27.1 - 2022-10-07"
weight: -109
---
<html>
<head>
<title>kubernetes/minikube - Leaderboard</title>
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
</script>
<style>
body {
font-family: 'Open Sans', sans-serif;
background-color: #f7f7fa;
padding: 1em;
}
h1 {
color: rgba(66,133,244);
margin-bottom: 0em;
}
.subtitle {
color: rgba(23,90,201);
font-size: small;
}
pre {
white-space: pre-wrap;
word-wrap: break-word;
color: #666;
font-size: small;
}
h2.cli {
color: #666;
}
h2 {
color: #333;
}
.board p {
font-size: small;
color: #999;
text-align: center;
}
.board {
clear: right;
display: inline-block;
padding: 0.5em;
margin: 0.5em;
background-color: #fff;
}
.board:nth-child(4n+3) {
border: 2px solid rgba(66,133,244,0.25);
color: rgba(66,133,244);
}
.board:nth-child(4n+2) {
border: 2px solid rgba(219,68,55,0.25);
color: rgba rgba(219,68,55);
}
.board:nth-child(4n+1) {
border: 2px solid rgba(244,160,0,0.25);
color: rgba(244,160,0);
}
.board:nth-child(4n) {
border: 2px solid rgba(15,157,88,0.25);
color: rgba(15,157,88);
}
h3 {
text-align: center;
}
</style>
</head>
<body>
<h1>kubernetes/minikube</h1>
<div class="subtitle">2022-09-15 &mdash; 2022-10-07</div>
<h2>Reviewers</h2>
<div class="board">
<h3>Most Influential</h3>
<p># of Merged PRs reviewed</p>
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawreviewCounts);
function drawreviewCounts() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of Merged PRs reviewed', type: 'number'}, { role: 'annotation' }],
["medyagh", 2, "2"],
["AkihiroSuda", 2, "2"],
["eiffel-fl", 1, "1"],
["klaases", 1, "1"],
["t-inu", 1, "1"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Most Helpful</h3>
<p># of words written in merged PRs</p>
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawreviewWords);
function drawreviewWords() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of words written in merged PRs', type: 'number'}, { role: 'annotation' }],
["eiffel-fl", 257, "257"],
["medyagh", 177, "177"],
["AkihiroSuda", 33, "33"],
["klaases", 6, "6"],
["t-inu", 6, "6"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Most Demanding</h3>
<p># of Review Comments in merged PRs</p>
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawreviewComments);
function drawreviewComments() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of Review Comments in merged PRs', type: 'number'}, { role: 'annotation' }],
["eiffel-fl", 9, "9"],
["medyagh", 2, "2"],
["AkihiroSuda", 2, "2"],
["klaases", 2, "2"],
["t-inu", 0, "0"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
chart.draw(data, options);
};
</script>
</div>
<h2>Pull Requests</h2>
<div class="board">
<h3>Most Active</h3>
<p># of Pull Requests Merged</p>
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawprCounts);
function drawprCounts() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of Pull Requests Merged', type: 'number'}, { role: 'annotation' }],
["spowelljr", 13, "13"],
["klaases", 2, "2"],
["profnandaa", 1, "1"],
["ziyi-xie", 1, "1"],
["cokia", 1, "1"],
["free2create", 1, "1"],
["YuikoTakada", 1, "1"],
["jeffmaury", 1, "1"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Big Movers</h3>
<p>Lines of code (delta)</p>
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawprDeltas);
function drawprDeltas() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: 'Lines of code (delta)', type: 'number'}, { role: 'annotation' }],
["spowelljr", 979, "979"],
["klaases", 59, "59"],
["profnandaa", 4, "4"],
["free2create", 4, "4"],
["ziyi-xie", 2, "2"],
["YuikoTakada", 0, "0"],
["jeffmaury", 0, "0"],
["cokia", 0, "0"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Most difficult to review</h3>
<p>Average PR size (added+changed)</p>
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawprSize);
function drawprSize() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: 'Average PR size (added+changed)', type: 'number'}, { role: 'annotation' }],
["spowelljr", 46, "46"],
["klaases", 26, "26"],
["profnandaa", 2, "2"],
["free2create", 2, "2"],
["ziyi-xie", 1, "1"],
["cokia", 0, "0"],
["YuikoTakada", 0, "0"],
["jeffmaury", 0, "0"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
chart.draw(data, options);
};
</script>
</div>
<h2>Issues</h2>
<div class="board">
<h3>Most Active</h3>
<p># of comments</p>
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawcomments);
function drawcomments() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of comments', type: 'number'}, { role: 'annotation' }],
["klaases", 31, "31"],
["RA489", 30, "30"],
["afbjorklund", 17, "17"],
["nikimanoledaki", 7, "7"],
["medyagh", 3, "3"],
["yuzhaopeng", 3, "3"],
["spowelljr", 2, "2"],
["CtrlZvi", 2, "2"],
["greenchapter", 2, "2"],
["ImaneKABKAB", 2, "2"],
["TanjinAlam", 2, "2"],
["ComradeProgrammer", 2, "2"],
["organics2016", 1, "1"],
["hypeitnow", 1, "1"],
["hemanthkotaprolu", 1, "1"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Most Helpful</h3>
<p># of words (excludes authored)</p>
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawcommentWords);
function drawcommentWords() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of words (excludes authored)', type: 'number'}, { role: 'annotation' }],
["afbjorklund", 847, "847"],
["klaases", 842, "842"],
["nikimanoledaki", 790, "790"],
["Arun-N", 514, "514"],
["RA489", 399, "399"],
["LTL-updating", 310, "310"],
["spowelljr", 303, "303"],
["cecilphillip", 208, "208"],
["oleastre", 181, "181"],
["medyagh", 181, "181"],
["varun-telus", 179, "179"],
["kadern0", 175, "175"],
["CtrlZvi", 113, "113"],
["Hondough", 95, "95"],
["JustinKirkJohnson", 87, "87"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Top Closers</h3>
<p># of issues closed (excludes authored)</p>
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawissueCloser);
function drawissueCloser() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of issues closed (excludes authored)', type: 'number'}, { role: 'annotation' }],
["klaases", 23, "23"],
["spowelljr", 11, "11"],
["medyagh", 3, "3"],
["afbjorklund", 1, "1"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
chart.draw(data, options);
};
</script>
</div>
</body>
</html>

View File

@ -605,10 +605,10 @@ Halt the cluster:
minikube stop
```
Increase the default memory limit (requires a restart):
Change the default memory limit (requires a restart):
```shell
minikube config set memory 16384
minikube config set memory 9001
```
Browse the catalog of easily installed Kubernetes services:

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -172,6 +172,7 @@
"Downloading Kubernetes {{.version}} preload ...": "Lade Kubernetes {{.version}} herunter ...",
"Downloading VM boot image ...": "Lade VM boot image herunter ...",
"Downloading driver {{.driver}}:": "Lade Treiber {{.driver}} herunter:",
"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
"Duration until minikube certificate expiration, defaults to three years (26280h).": "Dauer bis das Minikube-Zertifikat abläuft, Default ist drei Jahre (26280 Stunden).",
"ERROR creating `registry-creds-acr` secret": "Fehler beim Erstellen des `registry-creds-acr` Secrets",
"ERROR creating `registry-creds-dpr` secret": "Fehler beim Erstellen des `registry-creds-dpr` Secrets",
@ -1034,7 +1035,8 @@
"zsh completion.": "",
"{{ .name }}: Suggestion: {{ .suggestion}}": "{{ .name }}: Vorschlag: {{ .suggestion}}",
"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "{{.Driver}} verwendet derzeit den {{.StorageDriver}} Storage Treiber, erwäge zu overlay2 zu wechseln für bessere Performance",
"{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} does not currently have an associated maintainer.": "",
"{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} is an addon maintained by {{.maintainer}}. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS": "",
"{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.": "",
"{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "{{.count}} Node{{if gt .count 1}}s{{end}} angehalten.",

View File

@ -177,6 +177,7 @@
"Downloading Kubernetes {{.version}} preload ...": "Descargando Kubernetes {{.version}} ...",
"Downloading VM boot image ...": "Descargando la imagen de arranque de la VM",
"Downloading driver {{.driver}}:": "Descargando el controlador {{.driver}}:",
"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
"Due to issues with CRI-O post v1.17.3, we need to restart your cluster.": "Debido a problemas con CRI-O post v1.17.3, necesitamos reiniciar tu cluster.",
"Due to networking limitations of driver {{.driver_name}} on {{.os_name}}, {{.addon_name}} addon is not supported.\nAlternatively to use this addon you can use a vm-based driver:\n\n\t'minikube start --vm=true'\n\nTo track the update on this work in progress feature please check:\nhttps://github.com/kubernetes/minikube/issues/7332": "Debido a las limitaciones de red del controlador {{.driver_name}} en {{.os_name}}, el complemento \"{{.addon_name}}\" no está soportado.\nPara usar este complemento, puedes utilizar un controlador basado en vm\n\n\t'minikube start --vm=true'\n\nPara realizar un seguimiento de las actualizaciones de esta función consulte:\nhttps://github.com/kubernetes/minikube/issues/7332",
"Due to networking limitations of driver {{.driver_name}}, {{.addon_name}} addon is not supported. Try using a different driver.": "Debido a limitaciones de red del controlador {{.driver_name}}, el complemento \"{{.addon_name}}\" no está soportado. Intenta usar un controlador diferente.",
@ -1029,7 +1030,8 @@
"{{ .name }}: Suggestion: {{ .suggestion}}": "{{ .name }}: Sugerencia: {{ .suggestion}}",
"{{ .name }}: {{ .rejection }}": "{{ .name }}: {{ .rejection }}",
"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "",
"{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} does not currently have an associated maintainer.": "",
"{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} is an addon maintained by {{.maintainer}}. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS": "",
"{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.": "",
"{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "",

View File

@ -173,6 +173,7 @@
"Downloading Kubernetes {{.version}} preload ...": "Téléchargement du préchargement de Kubernetes {{.version}}...",
"Downloading VM boot image ...": "Téléchargement de l'image de démarrage de la VM...",
"Downloading driver {{.driver}}:": "Téléchargement du pilote {{.driver}} :",
"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
"Duration until minikube certificate expiration, defaults to three years (26280h).": "Durée jusqu'à l'expiration du certificat minikube, par défaut à trois ans (26280h).",
"ERROR creating `registry-creds-acr` secret": "ERREUR lors de la création du secret `registry-creds-acr`",
"ERROR creating `registry-creds-dpr` secret": "ERREUR lors de la création du secret `registry-creds-dpr`",
@ -1007,7 +1008,8 @@
"{{ .name }}: Suggestion: {{ .suggestion}}": "{{ .name }}: Suggestion: {{ .suggestion}}",
"{{ .name }}: {{ .rejection }}": "{{ .name }} : {{ .rejection }}",
"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "{{.Driver}} utilise actuellement le pilote de stockage {{.StorageDriver}}, envisagez de passer à overlay2 pour de meilleures performances",
"{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.": "{{.addon}} est un module complémentaire tiers et non maintenu ou vérifié par les mainteneurs de minikube, activez-le à vos risques et périls.",
"{{.addon}} does not currently have an associated maintainer.": "",
"{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.": "{{.addon}} est un module complémentaire tiers et non maintenu ou vérifié par les mainteneurs de minikube, activez-le à vos risques et périls.",
"{{.addon}} is an addon maintained by {{.maintainer}}. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS": "{{.addon}} est un addon maintenu par {{.maintainer}}. Pour toute question, contactez minikube sur GitHub.\nVous pouvez consulter la liste des mainteneurs de minikube sur : https://github.com/kubernetes/minikube/blob/master/OWNERS",
"{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.": "{{.addon}} est maintenu par {{.maintainer}} pour tout problème, contactez {{.verifiedMaintainer}} sur GitHub.",
"{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "{{.count}} nœud{{if gt .count 1}}s{{end}} arrêté{{if gt .count 1}}s{{end}}.",

View File

@ -163,6 +163,7 @@
"Downloading Kubernetes {{.version}} preload ...": "ロード済み Kubernetes {{.version}} をダウンロードしています...",
"Downloading VM boot image ...": "VM ブートイメージをダウンロードしています...",
"Downloading driver {{.driver}}:": "{{.driver}} ドライバーをダウンロードしています:",
"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
"Duration until minikube certificate expiration, defaults to three years (26280h).": "minikube 証明書の有効期限。デフォルトは 3 年間 (26280h)。",
"ERROR creating `registry-creds-acr` secret": "`registry-creds-acr` シークレット作成中にエラーが発生しました",
"ERROR creating `registry-creds-dpr` secret": "`registry-creds-dpr` シークレット作成中にエラーが発生しました",
@ -966,7 +967,8 @@
"zsh completion.": "zsh のコマンド補完です。",
"{{ .name }}: Suggestion: {{ .suggestion}}": "{{ .name }}: 提案: {{ .suggestion}}",
"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "{{.Driver}} は現在 {{.StorageDriver}} ストレージドライバーを使用しています。性能向上のため overlay2 への切替を検討してください",
"{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} does not currently have an associated maintainer.": "",
"{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} is an addon maintained by {{.maintainer}}. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS": "",
"{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.": "",
"{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "{{.count}} 台のノードが停止しました。",

View File

@ -182,6 +182,7 @@
"Downloading VM boot image ...": "가상 머신 부트 이미지 다운로드 중 ...",
"Downloading driver {{.driver}}:": "드라이버 {{.driver}} 다운로드 중 :",
"Downloading {{.name}} {{.version}}": "{{.name}} {{.version}} 다운로드 중",
"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
"ERROR creating `registry-creds-acr` secret": "registry-creds-acr` secret 생성 오류",
"ERROR creating `registry-creds-dpr` secret": "`registry-creds-dpr` secret 생성 오류",
@ -1037,7 +1038,8 @@
"zsh completion.": "",
"{{ .name }}: Suggestion: {{ .suggestion}}": "",
"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "",
"{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} does not currently have an associated maintainer.": "",
"{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} is an addon maintained by {{.maintainer}}. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS": "",
"{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.": "",
"{{.count}} nodes stopped.": "{{.count}}개의 노드가 중지되었습니다.",

View File

@ -182,6 +182,7 @@
"Downloading VM boot image ...": "Pobieranie obrazu maszyny wirtualnej ...",
"Downloading driver {{.driver}}:": "",
"Downloading {{.name}} {{.version}}": "Pobieranie {{.name}} {{.version}}",
"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
"ERROR creating `registry-creds-acr` secret": "",
"ERROR creating `registry-creds-dpr` secret": "",
@ -1043,7 +1044,8 @@
"{{ .name }}: Suggestion: {{ .suggestion}}": "",
"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "",
"{{.addonName}} was successfully enabled": "{{.addonName}} został aktywowany pomyślnie",
"{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} does not currently have an associated maintainer.": "",
"{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} is an addon maintained by {{.maintainer}}. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS": "",
"{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.": "",
"{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "",

View File

@ -161,6 +161,7 @@
"Downloading Kubernetes {{.version}} preload ...": "Скачивается Kubernetes {{.version}} ...",
"Downloading VM boot image ...": "",
"Downloading driver {{.driver}}:": "",
"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
"ERROR creating `registry-creds-acr` secret": "",
"ERROR creating `registry-creds-dpr` secret": "",
@ -960,7 +961,8 @@
"zsh completion.": "",
"{{ .name }}: Suggestion: {{ .suggestion}}": "",
"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "",
"{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} does not currently have an associated maintainer.": "",
"{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} is an addon maintained by {{.maintainer}}. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS": "",
"{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.": "",
"{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "Остановлено узлов: {{.count}}.",

View File

@ -161,6 +161,7 @@
"Downloading Kubernetes {{.version}} preload ...": "",
"Downloading VM boot image ...": "",
"Downloading driver {{.driver}}:": "",
"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
"ERROR creating `registry-creds-acr` secret": "",
"ERROR creating `registry-creds-dpr` secret": "",
@ -960,7 +961,8 @@
"zsh completion.": "",
"{{ .name }}: Suggestion: {{ .suggestion}}": "",
"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "",
"{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} does not currently have an associated maintainer.": "",
"{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} is an addon maintained by {{.maintainer}}. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS": "",
"{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.": "",
"{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "",

View File

@ -208,6 +208,7 @@
"Downloading VM boot image ...": "正在下载 VM boot image...",
"Downloading driver {{.driver}}:": "正在下载驱动 {{.driver}}:",
"Downloading {{.name}} {{.version}}": "正在下载 {{.name}} {{.version}}",
"Due to DNS issues your cluster may have problems starting and you may not be able to pull images\nMore details available at: https://minikube.sigs.k8s.io/docs/drivers/qemu/#known-issues": "",
"Duration until minikube certificate expiration, defaults to three years (26280h).": "",
"ERROR creating `registry-creds-acr` secret": "",
"ERROR creating `registry-creds-dpr` secret": "创建 `registry-creds-dpr` secret 时出错",
@ -1153,7 +1154,8 @@
"zsh completion.": "",
"{{ .name }}: Suggestion: {{ .suggestion}}": "",
"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "",
"{{.addon}} is a 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} does not currently have an associated maintainer.": "",
"{{.addon}} is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.": "",
"{{.addon}} is an addon maintained by {{.maintainer}}. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS": "",
"{{.addon}} is maintained by {{.maintainer}} for any concerns contact {{.verifiedMaintainer}} on GitHub.": "",
"{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "",