Merge branch 'master' into master

pull/15235/head
Chris Kannon 2022-11-02 15:09:58 -04:00 committed by GitHub
commit 00486c3fd6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 377 additions and 587 deletions

View File

@ -26,7 +26,7 @@ jobs:
c=$(git status --porcelain) c=$(git status --porcelain)
c="${c//$'\n'/'%0A'}" c="${c//$'\n'/'%0A'}"
c="${c//$'\r'/'%0D'}" c="${c//$'\r'/'%0D'}"
echo "::set-output name=changes::$c" echo "changes=$c" >> $GITHUB_OUTPUT
- name: Create PR - name: Create PR
if: ${{ steps.gendocs.outputs.changes != '' }} if: ${{ steps.gendocs.outputs.changes != '' }}
uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7

View File

@ -25,7 +25,7 @@ jobs:
c=$(git status --porcelain) c=$(git status --porcelain)
c="${c//$'\n'/'%0A'}" c="${c//$'\n'/'%0A'}"
c="${c//$'\r'/'%0D'}" c="${c//$'\r'/'%0D'}"
echo "::set-output name=changes::$c" echo "changes=$c" >> $GITHUB_OUTPUT
env: env:
GITHUB_TOKEN: ${{ secrets.MINIKUBE_BOT_PAT }} GITHUB_TOKEN: ${{ secrets.MINIKUBE_BOT_PAT }}
- name: Create PR - name: Create PR

View File

@ -23,7 +23,7 @@ jobs:
id: timeToK8sBenchmark id: timeToK8sBenchmark
run: | run: |
./hack/benchmark/time-to-k8s/time-to-k8s.sh ./hack/benchmark/time-to-k8s/time-to-k8s.sh
echo "::set-output name=version::$(minikube version --short)" echo "version=$(minikube version --short)" >> $GITHUB_OUTPUT
- name: Create PR - name: Create PR
uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7
with: with:

View File

@ -22,7 +22,7 @@ jobs:
id: bumpGolang id: bumpGolang
run: | run: |
make update-golang-version make update-golang-version
echo "::set-output name=changes::$(git status --porcelain)" echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
- name: Create PR - name: Create PR
if: ${{ steps.bumpGolang.outputs.changes != '' }} if: ${{ steps.bumpGolang.outputs.changes != '' }}
uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7

View File

@ -22,7 +22,7 @@ jobs:
id: bumpGolint id: bumpGolint
run: | run: |
make update-golint-version make update-golint-version
echo "::set-output name=changes::$(git status --porcelain)" echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
- name: Create PR - name: Create PR
if: ${{ steps.bumpGolint.outputs.changes != '' }} if: ${{ steps.bumpGolint.outputs.changes != '' }}
uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7

View File

@ -22,7 +22,7 @@ jobs:
id: bumpGopogh id: bumpGopogh
run: | run: |
make update-gopogh-version make update-gopogh-version
echo "::set-output name=changes::$(git status --porcelain)" echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
- name: Create PR - name: Create PR
if: ${{ steps.bumpGopogh.outputs.changes != '' }} if: ${{ steps.bumpGopogh.outputs.changes != '' }}
uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7

View File

@ -22,7 +22,7 @@ jobs:
id: bumpGotestsum id: bumpGotestsum
run: | run: |
make update-gotestsum-version make update-gotestsum-version
echo "::set-output name=changes::$(git status --porcelain)" echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
- name: Create PR - name: Create PR
if: ${{ steps.bumpGotestsum.outputs.changes != '' }} if: ${{ steps.bumpGotestsum.outputs.changes != '' }}
uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7

View File

@ -23,11 +23,11 @@ jobs:
run: | run: |
t=$(make update-kubernetes-version) t=$(make update-kubernetes-version)
t=$(echo $t | head -n 1) t=$(echo $t | head -n 1)
echo "::set-output name=title::$t" echo "title=$t" >> $GITHUB_OUTPUT
c=$(git status --porcelain) c=$(git status --porcelain)
c="${c//$'\n'/'%0A'}" c="${c//$'\n'/'%0A'}"
c="${c//$'\r'/'%0D'}" c="${c//$'\r'/'%0D'}"
echo "::set-output name=changes::$c" echo "changes=$c" >> $GITHUB_OUTPUT
- name: Create PR - name: Create PR
if: ${{ steps.bumpk8s.outputs.changes != '' }} if: ${{ steps.bumpk8s.outputs.changes != '' }}
uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7

View File

@ -19,15 +19,15 @@ jobs:
with: with:
go-version: ${{env.GO_VERSION}} go-version: ${{env.GO_VERSION}}
- name: Bump Kubeadm Constants for Kubernetes Images - name: Bump Kubeadm Constants for Kubernetes Images
id: bumpKubAdmConsts id: bumpKubeadmConsts
run: | run: |
make update-kubeadm-constants make update-kubeadm-constants
c=$(git status --porcelain) c=$(git status --porcelain)
c="${c//$'\n'/'%0A'}" c="${c//$'\n'/'%0A'}"
c="${c//$'\r'/'%0D'}" c="${c//$'\r'/'%0D'}"
echo "::set-output name=changes::$c" echo "changes=$c" >> $GITHUB_OUTPUT
- name: Create PR - name: Create PR
if: ${{ steps.bumpKubAdmConsts.outputs.changes != '' }} if: ${{ steps.bumpKubeadmConsts.outputs.changes != '' }}
uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7
with: with:
token: ${{ secrets.MINIKUBE_BOT_PAT }} token: ${{ secrets.MINIKUBE_BOT_PAT }}
@ -45,5 +45,5 @@ jobs:
Please only merge if all the tests pass. Please only merge if all the tests pass.
``` ```
${{ steps.bumpKubAdmConsts.outputs.changes }} ${{ steps.bumpKubeadmConsts.outputs.changes }}
``` ```

View File

@ -27,7 +27,7 @@ jobs:
id: yearlyLeaderboard id: yearlyLeaderboard
run: | run: |
make update-yearly-leaderboard make update-yearly-leaderboard
echo "::set-output name=changes::$(git status --porcelain)" echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
env: env:
GITHUB_TOKEN: ${{ secrets.MINIKUBE_BOT_PAT }} GITHUB_TOKEN: ${{ secrets.MINIKUBE_BOT_PAT }}
- name: Create PR - name: Create PR

View File

@ -23,7 +23,7 @@ KUBERNETES_VERSION ?= $(shell egrep "DefaultKubernetesVersion =" pkg/minikube/co
KIC_VERSION ?= $(shell egrep "Version =" pkg/drivers/kic/types.go | cut -d \" -f2) KIC_VERSION ?= $(shell egrep "Version =" pkg/drivers/kic/types.go | cut -d \" -f2)
# Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions # Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
ISO_VERSION ?= v1.27.0-1666206003-15159 ISO_VERSION ?= v1.27.0-1666976405-15232
# Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta # Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
DEB_VERSION ?= $(subst -,~,$(RAW_VERSION)) DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))
DEB_REVISION ?= 0 DEB_REVISION ?= 0

View File

@ -77,7 +77,7 @@ func TestAddonsList(t *testing.T) {
Ambassador *interface{} `json:"ambassador"` Ambassador *interface{} `json:"ambassador"`
} }
b := make([]byte, 571) b := make([]byte, 590)
r, w, err := os.Pipe() r, w, err := os.Pipe()
if err != nil { if err != nil {
t.Fatalf("failed to create pipe: %v", err) t.Fatalf("failed to create pipe: %v", err)

View File

@ -151,4 +151,8 @@ var (
// HeadlampAssets assets for headlamp addon // HeadlampAssets assets for headlamp addon
//go:embed headlamp/*.yaml headlamp/*.tmpl //go:embed headlamp/*.yaml headlamp/*.tmpl
HeadlampAssets embed.FS HeadlampAssets embed.FS
// CloudSpanner assets for cloud-spanner addon
//go:embed cloud-spanner/*.yaml
CloudSpanner embed.FS
) )

View File

@ -0,0 +1,45 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cloud-spanner-emulator
labels:
app: cloud-spanner-emulator
gcp-auth-skip-secret: "true"
kubernetes.io/minikube-addons-endpoint: cloud-spanner
spec:
replicas: 1
selector:
matchLabels:
app: cloud-spanner-emulator
template:
metadata:
labels:
app: cloud-spanner-emulator
spec:
containers:
- name: cloud-spanner-emulator
image: gcr.io/cloud-spanner-emulator/emulator:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9020
name: http
- containerPort: 9010
name: grpc
---
apiVersion: v1
kind: Service
metadata:
name: cloud-spanner-emulator
labels:
app: cloud-spanner-emulator
spec:
type: NodePort
ports:
- port: 9020
name: http
- port: 9010
name: grpc
selector:
app: cloud-spanner-emulator

View File

@ -1,4 +1,5 @@
CONFIG_FANOTIFY=y CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_KPROBE_EVENTS=y CONFIG_KPROBE_EVENTS=y
CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_BTF=y CONFIG_DEBUG_INFO_BTF=y

View File

@ -1,4 +1,5 @@
CONFIG_FANOTIFY=y CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_KPROBE_EVENTS=y CONFIG_KPROBE_EVENTS=y
CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_BTF=y CONFIG_DEBUG_INFO_BTF=y

View File

@ -37,7 +37,7 @@ RUN if [ "$PREBUILT_AUTO_PAUSE" != "true" ]; then cd ./cmd/auto-pause/ && go bui
# start from ubuntu 20.04, this image is reasonably small as a starting point # start from ubuntu 20.04, this image is reasonably small as a starting point
# for a kubernetes node image, it doesn't contain much we don't need # for a kubernetes node image, it doesn't contain much we don't need
FROM ubuntu:focal-20220922 as kicbase FROM ubuntu:focal-20221019 as kicbase
ARG BUILDKIT_VERSION="v0.10.3" ARG BUILDKIT_VERSION="v0.10.3"
ARG FUSE_OVERLAYFS_VERSION="v1.7.1" ARG FUSE_OVERLAYFS_VERSION="v1.7.1"

47
go.mod
View File

@ -5,7 +5,7 @@ go 1.19
require ( require (
cloud.google.com/go/storage v1.27.0 cloud.google.com/go/storage v1.27.0
contrib.go.opencensus.io/exporter/stackdriver v0.13.12 contrib.go.opencensus.io/exporter/stackdriver v0.13.12
github.com/Delta456/box-cli-maker/v2 v2.2.2 github.com/Delta456/box-cli-maker/v2 v2.3.0
github.com/GoogleCloudPlatform/docker-credential-gcr v0.0.0-20210713212222-faed5e8b8ca2 github.com/GoogleCloudPlatform/docker-credential-gcr v0.0.0-20210713212222-faed5e8b8ca2
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.10.1 github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.10.1
github.com/Microsoft/hcsshim v0.8.17 // indirect github.com/Microsoft/hcsshim v0.8.17 // indirect
@ -23,7 +23,7 @@ require (
github.com/elazarl/goproxy v0.0.0-20210110162100-a92cc753f88e github.com/elazarl/goproxy v0.0.0-20210110162100-a92cc753f88e
github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3 github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3
github.com/google/go-cmp v0.5.9 github.com/google/go-cmp v0.5.9
github.com/google/go-containerregistry v0.11.0 github.com/google/go-containerregistry v0.12.0
github.com/google/slowjam v1.0.0 github.com/google/slowjam v1.0.0
github.com/google/uuid v1.3.0 github.com/google/uuid v1.3.0
github.com/hashicorp/go-getter v1.6.2 github.com/hashicorp/go-getter v1.6.2
@ -62,22 +62,22 @@ require (
github.com/russross/blackfriday v1.6.0 // indirect github.com/russross/blackfriday v1.6.0 // indirect
github.com/samalba/dockerclient v0.0.0-20160414174713-91d7393ff859 // indirect github.com/samalba/dockerclient v0.0.0-20160414174713-91d7393ff859 // indirect
github.com/shirou/gopsutil/v3 v3.22.9 github.com/shirou/gopsutil/v3 v3.22.9
github.com/spf13/cobra v1.6.0 github.com/spf13/cobra v1.6.1
github.com/spf13/pflag v1.0.5 github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.13.0 github.com/spf13/viper v1.13.0
github.com/zchee/go-vmnet v0.0.0-20161021174912-97ebf9174097 github.com/zchee/go-vmnet v0.0.0-20161021174912-97ebf9174097
go.opencensus.io v0.23.0 go.opencensus.io v0.23.0
go.opentelemetry.io/otel v1.11.1 go.opentelemetry.io/otel v1.11.1
go.opentelemetry.io/otel/sdk v1.11.0 go.opentelemetry.io/otel/sdk v1.11.1
go.opentelemetry.io/otel/trace v1.11.1 go.opentelemetry.io/otel/trace v1.11.1
golang.org/x/build v0.0.0-20190927031335-2835ba2e683f golang.org/x/build v0.0.0-20190927031335-2835ba2e683f
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 golang.org/x/crypto v0.1.0
golang.org/x/exp v0.0.0-20220827204233-334a2380cb91 golang.org/x/exp v0.0.0-20220909182711-5c715a9e8561
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 golang.org/x/mod v0.6.0
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 golang.org/x/oauth2 v0.1.0
golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0 golang.org/x/sync v0.1.0
golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8 golang.org/x/sys v0.1.0
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 golang.org/x/term v0.1.0
golang.org/x/text v0.4.0 golang.org/x/text v0.4.0
gonum.org/v1/plot v0.12.0 gonum.org/v1/plot v0.12.0
google.golang.org/api v0.100.0 google.golang.org/api v0.100.0
@ -101,7 +101,7 @@ require (
github.com/docker/go-connections v0.4.0 github.com/docker/go-connections v0.4.0
github.com/google/go-github/v43 v43.0.0 github.com/google/go-github/v43 v43.0.0
github.com/opencontainers/runc v1.1.4 github.com/opencontainers/runc v1.1.4
github.com/santhosh-tekuri/jsonschema/v5 v5.0.1 github.com/santhosh-tekuri/jsonschema/v5 v5.0.2
) )
require ( require (
@ -114,7 +114,7 @@ require (
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.34.1 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.34.1 // indirect
github.com/MakeNowJust/heredoc v1.0.0 // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect
github.com/Microsoft/go-winio v0.5.2 // indirect github.com/Microsoft/go-winio v0.6.0 // indirect
github.com/PuerkitoBio/purell v1.1.1 // indirect github.com/PuerkitoBio/purell v1.1.1 // indirect
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
github.com/VividCortex/ewma v1.1.1 // indirect github.com/VividCortex/ewma v1.1.1 // indirect
@ -126,14 +126,14 @@ require (
github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/containerd/cgroups v1.0.1 // indirect github.com/containerd/cgroups v1.0.1 // indirect
github.com/containerd/containerd v1.5.2 // indirect github.com/containerd/containerd v1.5.2 // indirect
github.com/containerd/stargz-snapshotter/estargz v0.12.0 // indirect github.com/containerd/stargz-snapshotter/estargz v0.12.1 // indirect
github.com/coreos/go-systemd/v22 v22.3.2 // indirect github.com/coreos/go-systemd/v22 v22.3.2 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/cyphar/filepath-securejoin v0.2.3 // indirect github.com/cyphar/filepath-securejoin v0.2.3 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect
github.com/docker/cli v20.10.17+incompatible // indirect github.com/docker/cli v20.10.20+incompatible // indirect
github.com/docker/distribution v2.8.1+incompatible // indirect github.com/docker/distribution v2.8.1+incompatible // indirect
github.com/docker/docker-credential-helpers v0.6.4 // indirect github.com/docker/docker-credential-helpers v0.7.0 // indirect
github.com/emicklei/go-restful/v3 v3.8.0 // indirect github.com/emicklei/go-restful/v3 v3.8.0 // indirect
github.com/evanphx/json-patch v4.12.0+incompatible // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect
github.com/fatih/color v1.13.0 // indirect github.com/fatih/color v1.13.0 // indirect
@ -157,22 +157,23 @@ require (
github.com/google/gofuzz v1.1.0 // indirect github.com/google/gofuzz v1.1.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect
github.com/googleapis/gax-go/v2 v2.6.0 // indirect github.com/googleapis/gax-go/v2 v2.6.0 // indirect
github.com/gookit/color v1.4.2 // indirect github.com/gookit/color v1.5.2 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect
github.com/hashicorp/go-version v1.2.1 // indirect github.com/hashicorp/go-version v1.2.1 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect
github.com/huandu/xstrings v1.3.2 // indirect
github.com/imdario/mergo v0.3.11 // indirect github.com/imdario/mergo v0.3.11 // indirect
github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.15.8 // indirect github.com/klauspost/compress v1.15.11 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
github.com/magiconair/properties v1.8.6 // indirect github.com/magiconair/properties v1.8.6 // indirect
github.com/mailru/easyjson v0.7.6 // indirect github.com/mailru/easyjson v0.7.6 // indirect
github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-colorable v0.1.12 // indirect
github.com/mattn/go-runewidth v0.0.13 // indirect github.com/mattn/go-runewidth v0.0.14 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
github.com/miekg/dns v1.1.41 // indirect github.com/miekg/dns v1.1.41 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect
@ -184,8 +185,9 @@ require (
github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/muesli/reflow v0.3.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/opencontainers/image-spec v1.0.3-0.20220114050600-8b9d41f48198 // indirect github.com/opencontainers/image-spec v1.1.0-rc2 // indirect
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 // indirect github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect
@ -206,14 +208,15 @@ require (
github.com/tklauser/numcpus v0.4.0 // indirect github.com/tklauser/numcpus v0.4.0 // indirect
github.com/ulikunitz/xz v0.5.8 // indirect github.com/ulikunitz/xz v0.5.8 // indirect
github.com/vbatts/tar-split v0.11.2 // indirect github.com/vbatts/tar-split v0.11.2 // indirect
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect github.com/yusufpapurcu/wmi v1.2.2 // indirect
go.uber.org/atomic v1.7.0 // indirect go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.8.0 // indirect go.uber.org/multierr v1.8.0 // indirect
go.uber.org/zap v1.19.0 // indirect go.uber.org/zap v1.19.0 // indirect
golang.org/x/image v0.0.0-20220902085622-e7cb96979f69 // indirect golang.org/x/image v0.0.0-20220902085622-e7cb96979f69 // indirect
golang.org/x/net v0.0.0-20221014081412-f15817d10f9b // indirect golang.org/x/net v0.1.0 // indirect
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect
golang.org/x/tools v0.1.12 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
google.golang.org/appengine v1.6.7 // indirect google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a // indirect google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a // indirect

504
go.sum

File diff suppressed because it is too large Load Diff

View File

@ -73,7 +73,7 @@ var (
`GO_VERSION: .*`: `GO_VERSION: '{{.StableVersion}}'`, `GO_VERSION: .*`: `GO_VERSION: '{{.StableVersion}}'`,
}, },
}, },
".github/workflows/update-kubadm-constants.yml": { ".github/workflows/update-kubeadm-constants.yml": {
Replace: map[string]string{ Replace: map[string]string{
`GO_VERSION: .*`: `GO_VERSION: '{{.StableVersion}}'`, `GO_VERSION: .*`: `GO_VERSION: '{{.StableVersion}}'`,
}, },

View File

@ -207,4 +207,9 @@ var Addons = []*Addon{
set: SetBool, set: SetBool,
callbacks: []setFn{EnableOrDisableAddon}, callbacks: []setFn{EnableOrDisableAddon},
}, },
{
name: "cloud-spanner",
set: SetBool,
callbacks: []setFn{EnableOrDisableAddon},
},
} }

View File

@ -742,6 +742,13 @@ var Addons = map[string]*Addon{
map[string]string{ map[string]string{
"Headlamp": "ghcr.io", "Headlamp": "ghcr.io",
}), }),
"cloud-spanner": NewAddon([]*BinAsset{
MustBinAsset(addons.CloudSpanner, "cloud-spanner/deployment.yaml", vmpath.GuestAddonsDir, "deployment.yaml", "6040"),
}, false, "cloud-spanner", "Google", "", "https://minikube.sigs.k8s.io/docs/handbook/addons/cloud-spanner/", map[string]string{
"CloudSpannerAddon": "cloud-spanner-emulator/emulator",
}, map[string]string{
"CloudSpannerAddon": "gcr.io",
}),
} }
// parseMapString creates a map based on `str` which is encoded as <key1>=<value1>,<key2>=<value2>,... // parseMapString creates a map based on `str` which is encoded as <key1>=<value1>,<key2>=<value2>,...

View File

@ -38,6 +38,7 @@ import (
"k8s.io/minikube/pkg/minikube/config" "k8s.io/minikube/pkg/minikube/config"
"k8s.io/minikube/pkg/minikube/docker" "k8s.io/minikube/pkg/minikube/docker"
"k8s.io/minikube/pkg/minikube/download" "k8s.io/minikube/pkg/minikube/download"
"k8s.io/minikube/pkg/minikube/image"
"k8s.io/minikube/pkg/minikube/style" "k8s.io/minikube/pkg/minikube/style"
"k8s.io/minikube/pkg/minikube/sysinit" "k8s.io/minikube/pkg/minikube/sysinit"
) )
@ -600,11 +601,12 @@ func (r *Docker) Preload(cc config.ClusterConfig) error {
func dockerImagesPreloaded(runner command.Runner, images []string) bool { func dockerImagesPreloaded(runner command.Runner, images []string) bool {
rr, err := runner.RunCmd(exec.Command("docker", "images", "--format", "{{.Repository}}:{{.Tag}}")) rr, err := runner.RunCmd(exec.Command("docker", "images", "--format", "{{.Repository}}:{{.Tag}}"))
if err != nil { if err != nil {
klog.Warning(err)
return false return false
} }
preloadedImages := map[string]struct{}{} preloadedImages := map[string]struct{}{}
for _, i := range strings.Split(rr.Stdout.String(), "\n") { for _, i := range strings.Split(rr.Stdout.String(), "\n") {
i = trimDockerIO(i) i = image.TrimDockerIO(i)
preloadedImages[i] = struct{}{} preloadedImages[i] = struct{}{}
} }
@ -612,7 +614,7 @@ func dockerImagesPreloaded(runner command.Runner, images []string) bool {
// Make sure images == imgs // Make sure images == imgs
for _, i := range images { for _, i := range images {
i = trimDockerIO(i) i = image.TrimDockerIO(i)
if _, ok := preloadedImages[i]; !ok { if _, ok := preloadedImages[i]; !ok {
klog.Infof("%s wasn't preloaded", i) klog.Infof("%s wasn't preloaded", i)
return false return false
@ -644,13 +646,6 @@ func addDockerIO(name string) string {
return reg + "/" + img return reg + "/" + img
} }
// Remove docker.io prefix since it won't be included in images names
// when we call 'docker images'
func trimDockerIO(name string) string {
name = strings.TrimPrefix(name, "docker.io/")
return name
}
func dockerBoundToContainerd(runner command.Runner) bool { func dockerBoundToContainerd(runner command.Runner) bool {
// NOTE: assumes systemd // NOTE: assumes systemd
rr, err := runner.RunCmd(exec.Command("sudo", "systemctl", "cat", "docker.service")) rr, err := runner.RunCmd(exec.Command("sudo", "systemctl", "cat", "docker.service"))

View File

@ -34,6 +34,7 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
"k8s.io/klog/v2" "k8s.io/klog/v2"
"k8s.io/minikube/pkg/minikube/detect" "k8s.io/minikube/pkg/minikube/detect"
"k8s.io/minikube/pkg/minikube/image"
"k8s.io/minikube/pkg/minikube/localpath" "k8s.io/minikube/pkg/minikube/localpath"
) )
@ -75,7 +76,7 @@ func ImageExistsInDaemon(img string) bool {
klog.Infof("Checking for %s in local docker daemon", img) klog.Infof("Checking for %s in local docker daemon", img)
cmd := exec.Command("docker", "images", "--format", "{{.Repository}}:{{.Tag}}@{{.Digest}}") cmd := exec.Command("docker", "images", "--format", "{{.Repository}}:{{.Tag}}@{{.Digest}}")
if output, err := cmd.Output(); err == nil { if output, err := cmd.Output(); err == nil {
if strings.Contains(string(output), img) { if strings.Contains(string(output), image.TrimDockerIO(img)) {
klog.Infof("Found %s in local docker daemon, skipping pull", img) klog.Infof("Found %s in local docker daemon, skipping pull", img)
return true return true
} }

View File

@ -41,7 +41,7 @@ const fileScheme = "file"
// DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order // DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order
func DefaultISOURLs() []string { func DefaultISOURLs() []string {
v := version.GetISOVersion() v := version.GetISOVersion()
isoBucket := "minikube-builds/iso/15159" isoBucket := "minikube-builds/iso/15232"
return []string{ return []string{
fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH), fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH),
fmt.Sprintf("https://github.com/kubernetes/minikube/releases/download/%s/minikube-%s-%s.iso", v, v, runtime.GOARCH), fmt.Sprintf("https://github.com/kubernetes/minikube/releases/download/%s/minikube-%s-%s.iso", v, v, runtime.GOARCH),

View File

@ -319,3 +319,9 @@ func normalizeTagName(image string) string {
} }
return base + ":" + tag return base + ":" + tag
} }
// Remove docker.io prefix since it won't be included in image names
// when we call `docker images`.
func TrimDockerIO(name string) string {
return strings.TrimPrefix(name, "docker.io/")
}

View File

@ -0,0 +1,25 @@
.td-sidebar-nav {
padding-left: 0.625rem;
&__section {
@include media-breakpoint-up(md) {
& > ul {
padding-left: 1rem;
}
}
}
}
.td-sidebar-link__section {
position: relative;
&::before {
position: absolute;
left: -1rem;
content: '\29be';
}
&.active::before {
content: '\29bf';
}
}

View File

@ -10,21 +10,10 @@ The minikube ISO is booted by each hypervisor to provide a stable minimal Linux
## Prerequisites ## Prerequisites
* A recent GNU Make distribution (>=4.0)
* A recent Go distribution (>=1.16) * A recent Go distribution (>=1.16)
* If you are on Windows, you'll need Docker to be installed. * If you are on Windows or Mac, you'll need Docker to be installed.
* 4GB of RAM * 4GB of RAM
* Build tools:
```shell
sudo apt-get install build-essential gnupg2 p7zip-full git wget cpio python \
unzip bc gcc-multilib automake libtool locales
```
Additionally, if you are on Fedora, you will need to install `glibc-static`:
```shell
sudo dnf install -y glibc-static
```
## Downloading the source ## Downloading the source
@ -33,8 +22,9 @@ git clone https://github.com/kubernetes/minikube.git
cd minikube cd minikube
``` ```
### Building ## Building
### Building in Docker
To build for x86 To build for x86
```shell ```shell
$ make buildroot-image $ make buildroot-image
@ -47,17 +37,31 @@ $ make buildroot-image
$ make out/minikube-arm64.iso $ make out/minikube-arm64.iso
``` ```
The build will occur inside a docker container. If you want to do this on The build will occur inside a docker container.
baremetal, replace `make out/minikube-<arch>.iso` with `IN_DOCKER=1 make out/minikube-<arch>.iso`.
The bootable ISO image will be available in `out/minikube-<arch>.iso`. The bootable ISO image will be available in `out/minikube-<arch>.iso`.
### Using a local ISO image ### Building on Baremetal
If you want to do this on baremetal, replace `make out/minikube-<arch>.iso` with `IN_DOCKER=1 make out/minikube-<arch>.iso`.
* Prerequisite build tools to install:
```shell
sudo apt-get install build-essential gnupg2 p7zip-full git wget cpio python \
unzip bc gcc-multilib automake libtool locales
```
Additionally, if you are on Fedora, you will need to install `glibc-static`:
```shell
sudo dnf install -y glibc-static
```
## Using a local ISO image
```shell ```shell
$ ./out/minikube start --iso-url=file://$(pwd)/out/minikube-<arch>.iso $ ./out/minikube start --iso-url=file://$(pwd)/out/minikube-<arch>.iso
``` ```
### Modifying buildroot components ## Modifying buildroot components
To change which Linux userland components are included by the guest VM, use this to modify the buildroot configuration: To change which Linux userland components are included by the guest VM, use this to modify the buildroot configuration:
@ -75,7 +79,7 @@ make savedefconfig
The changes will be reflected in the `minikube-iso/configs/minikube_defconfig` file. The changes will be reflected in the `minikube-iso/configs/minikube_defconfig` file.
### Adding kernel modules ## Adding kernel modules
To make kernel configuration changes and save them, execute: To make kernel configuration changes and save them, execute:
@ -86,7 +90,7 @@ $ make linux-menuconfig
This will open the kernel configuration menu, and then save your changes to our This will open the kernel configuration menu, and then save your changes to our
iso directory after they've been selected. iso directory after they've been selected.
### Adding third-party packages ## Adding third-party packages
To add your own package to the minikube ISO, create a package directory under `iso/minikube-iso/package`. This directory will require at least 3 files: To add your own package to the minikube ISO, create a package directory under `iso/minikube-iso/package`. This directory will require at least 3 files:

View File

@ -87,7 +87,7 @@ weight: -99992022
</head> </head>
<body> <body>
<h1>kubernetes/minikube</h1> <h1>kubernetes/minikube</h1>
<div class="subtitle">2022-01-01 &mdash; 2022-09-30</div> <div class="subtitle">2022-01-01 &mdash; 2022-10-31</div>
<h2>Reviewers</h2> <h2>Reviewers</h2>
@ -103,21 +103,21 @@ weight: -99992022
function drawreviewCounts() { function drawreviewCounts() {
var data = new google.visualization.arrayToDataTable([ var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of Merged PRs reviewed', type: 'number'}, { role: 'annotation' }], [{label:'',type:'string'},{label: '# of Merged PRs reviewed', type: 'number'}, { role: 'annotation' }],
["spowelljr", 50, "50"], ["spowelljr", 56, "56"],
["medyagh", 35, "35"], ["medyagh", 43, "43"],
["klaases", 16, "16"], ["klaases", 17, "17"],
["sharifelgamal", 13, "13"], ["sharifelgamal", 13, "13"],
["afbjorklund", 11, "11"], ["afbjorklund", 11, "11"],
["t-inu", 7, "7"],
["atoato88", 7, "7"], ["atoato88", 7, "7"],
["t-inu", 7, "7"],
["jesperpedersen", 3, "3"], ["jesperpedersen", 3, "3"],
["knrt10", 2, "2"],
["kakkoyun", 2, "2"], ["kakkoyun", 2, "2"],
["s-kawamura-w664", 2, "2"],
["AkihiroSuda", 2, "2"], ["AkihiroSuda", 2, "2"],
["vbezhenar", 1, "1"], ["s-kawamura-w664", 2, "2"],
["mprimeaux", 1, "1"], ["knrt10", 2, "2"],
["AlexIoannides", 1, "1"], ["criztovyl", 1, "1"],
["shu-mutou", 1, "1"],
["nixpanic", 1, "1"],
]); ]);
@ -150,21 +150,21 @@ weight: -99992022
function drawreviewWords() { function drawreviewWords() {
var data = new google.visualization.arrayToDataTable([ var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of words written in merged PRs', type: 'number'}, { role: 'annotation' }], [{label:'',type:'string'},{label: '# of words written in merged PRs', type: 'number'}, { role: 'annotation' }],
["spowelljr", 3856, "3856"], ["spowelljr", 4224, "4224"],
["medyagh", 1370, "1370"],
["t-inu", 1098, "1098"], ["t-inu", 1098, "1098"],
["medyagh", 1070, "1070"],
["afbjorklund", 684, "684"], ["afbjorklund", 684, "684"],
["s-kawamura-w664", 534, "534"], ["s-kawamura-w664", 534, "534"],
["klaases", 467, "467"], ["klaases", 473, "473"],
["atoato88", 421, "421"], ["atoato88", 421, "421"],
["sharifelgamal", 394, "394"], ["sharifelgamal", 394, "394"],
["mm0", 287, "287"],
["knrt10", 125, "125"], ["knrt10", 125, "125"],
["vbezhenar", 108, "108"], ["vbezhenar", 108, "108"],
["jesperpedersen", 65, "65"], ["jesperpedersen", 65, "65"],
["kakkoyun", 49, "49"], ["kakkoyun", 49, "49"],
["AkihiroSuda", 27, "27"], ["AkihiroSuda", 27, "27"],
["mprimeaux", 24, "24"], ["mprimeaux", 24, "24"],
["shu-mutou", 24, "24"],
]); ]);
@ -197,11 +197,11 @@ weight: -99992022
function drawreviewComments() { function drawreviewComments() {
var data = new google.visualization.arrayToDataTable([ var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of Review Comments in merged PRs', type: 'number'}, { role: 'annotation' }], [{label:'',type:'string'},{label: '# of Review Comments in merged PRs', type: 'number'}, { role: 'annotation' }],
["spowelljr", 100, "100"], ["spowelljr", 113, "113"],
["medyagh", 34, "34"], ["medyagh", 50, "50"],
["t-inu", 15, "15"], ["t-inu", 15, "15"],
["atoato88", 14, "14"], ["atoato88", 14, "14"],
["klaases", 11, "11"], ["klaases", 13, "13"],
["afbjorklund", 11, "11"], ["afbjorklund", 11, "11"],
["sharifelgamal", 7, "7"], ["sharifelgamal", 7, "7"],
["AkihiroSuda", 5, "5"], ["AkihiroSuda", 5, "5"],
@ -209,9 +209,9 @@ weight: -99992022
["mprimeaux", 2, "2"], ["mprimeaux", 2, "2"],
["csantanapr", 1, "1"], ["csantanapr", 1, "1"],
["vbezhenar", 1, "1"], ["vbezhenar", 1, "1"],
["criztovyl", 1, "1"],
["knrt10", 1, "1"], ["knrt10", 1, "1"],
["inductor", 1, "1"], ["inductor", 1, "1"],
["nburlett", 0, "0"],
]); ]);
@ -248,21 +248,21 @@ weight: -99992022
function drawprCounts() { function drawprCounts() {
var data = new google.visualization.arrayToDataTable([ var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of Pull Requests Merged', type: 'number'}, { role: 'annotation' }], [{label:'',type:'string'},{label: '# of Pull Requests Merged', type: 'number'}, { role: 'annotation' }],
["spowelljr", 176, "176"], ["spowelljr", 198, "198"],
["sharifelgamal", 37, "37"], ["sharifelgamal", 37, "37"],
["afbjorklund", 25, "25"], ["afbjorklund", 25, "25"],
["klaases", 18, "18"], ["klaases", 20, "20"],
["jeffmaury", 16, "16"], ["jeffmaury", 17, "17"],
["yosshy", 8, "8"], ["yosshy", 8, "8"],
["presztak", 7, "7"], ["presztak", 7, "7"],
["prezha", 5, "5"], ["prezha", 5, "5"],
["ckannon", 4, "4"], ["ckannon", 4, "4"],
["medyagh", 4, "4"],
["kadern0", 4, "4"], ["kadern0", 4, "4"],
["ziyi-xie", 3, "3"], ["ziyi-xie", 3, "3"],
["zhan9san", 3, "3"],
["NikhilSharmaWe", 3, "3"], ["NikhilSharmaWe", 3, "3"],
["yolossn", 3, "3"],
["chungjin", 3, "3"], ["chungjin", 3, "3"],
["zhan9san", 3, "3"],
]); ]);
@ -295,19 +295,19 @@ weight: -99992022
function drawprDeltas() { function drawprDeltas() {
var data = new google.visualization.arrayToDataTable([ var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: 'Lines of code (delta)', type: 'number'}, { role: 'annotation' }], [{label:'',type:'string'},{label: 'Lines of code (delta)', type: 'number'}, { role: 'annotation' }],
["spowelljr", 16418, "16418"], ["spowelljr", 17747, "17747"],
["sharifelgamal", 8526, "8526"], ["sharifelgamal", 8526, "8526"],
["afbjorklund", 1850, "1850"], ["afbjorklund", 1850, "1850"],
["gAmUssA", 1574, "1574"], ["gAmUssA", 1574, "1574"],
["prezha", 1324, "1324"], ["prezha", 1324, "1324"],
["ckannon", 642, "642"], ["ckannon", 642, "642"],
["eiffel-fl", 560, "560"], ["eiffel-fl", 629, "629"],
["chungjin", 499, "499"], ["chungjin", 499, "499"],
["klaases", 402, "402"], ["klaases", 412, "412"],
["presztak", 349, "349"], ["presztak", 349, "349"],
["zhan9san", 332, "332"], ["zhan9san", 332, "332"],
["NikhilSharmaWe", 264, "264"],
["naveensrinivasan", 264, "264"], ["naveensrinivasan", 264, "264"],
["NikhilSharmaWe", 264, "264"],
["yolossn", 249, "249"], ["yolossn", 249, "249"],
["Rabattkarte", 189, "189"], ["Rabattkarte", 189, "189"],
@ -343,12 +343,13 @@ weight: -99992022
var data = new google.visualization.arrayToDataTable([ var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: 'Average PR size (added+changed)', type: 'number'}, { role: 'annotation' }], [{label:'',type:'string'},{label: 'Average PR size (added+changed)', type: 'number'}, { role: 'annotation' }],
["gAmUssA", 1573, "1573"], ["gAmUssA", 1573, "1573"],
["eiffel-fl", 221, "221"],
["sharifelgamal", 179, "179"], ["sharifelgamal", 179, "179"],
["eiffel-fl", 169, "169"],
["eliaskoromilas", 168, "168"], ["eliaskoromilas", 168, "168"],
["F1ko", 143, "143"], ["F1ko", 143, "143"],
["prezha", 142, "142"], ["prezha", 142, "142"],
["chungjin", 140, "140"], ["chungjin", 140, "140"],
["agarwalnit", 139, "139"],
["ckannon", 115, "115"], ["ckannon", 115, "115"],
["Rabattkarte", 108, "108"], ["Rabattkarte", 108, "108"],
["tyabu12", 107, "107"], ["tyabu12", 107, "107"],
@ -356,7 +357,6 @@ weight: -99992022
["naveensrinivasan", 85, "85"], ["naveensrinivasan", 85, "85"],
["kianmeng", 80, "80"], ["kianmeng", 80, "80"],
["yolossn", 79, "79"], ["yolossn", 79, "79"],
["cdtomkins", 76, "76"],
]); ]);
@ -393,21 +393,21 @@ weight: -99992022
function drawcomments() { function drawcomments() {
var data = new google.visualization.arrayToDataTable([ var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of comments', type: 'number'}, { role: 'annotation' }], [{label:'',type:'string'},{label: '# of comments', type: 'number'}, { role: 'annotation' }],
["afbjorklund", 247, "247"], ["afbjorklund", 271, "271"],
["RA489", 166, "166"], ["RA489", 239, "239"],
["klaases", 163, "163"], ["klaases", 212, "212"],
["spowelljr", 128, "128"], ["spowelljr", 150, "150"],
["sharifelgamal", 57, "57"], ["sharifelgamal", 57, "57"],
["medyagh", 28, "28"], ["medyagh", 31, "31"],
["zhan9san", 22, "22"], ["zhan9san", 22, "22"],
["mprimeaux", 10, "10"],
["eiffel-fl", 10, "10"], ["eiffel-fl", 10, "10"],
["fireinrain", 9, "9"], ["mprimeaux", 10, "10"],
["vroetman", 9, "9"], ["vroetman", 9, "9"],
["denisok", 8, "8"], ["fireinrain", 9, "9"],
["vrapolinario", 8, "8"], ["vrapolinario", 8, "8"],
["denisok", 8, "8"],
["kadern0", 7, "7"], ["kadern0", 7, "7"],
["nikimanoledaki", 7, "7"], ["yuzhaopeng", 7, "7"],
]); ]);
@ -440,10 +440,11 @@ weight: -99992022
function drawcommentWords() { function drawcommentWords() {
var data = new google.visualization.arrayToDataTable([ var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of words (excludes authored)', type: 'number'}, { role: 'annotation' }], [{label:'',type:'string'},{label: '# of words (excludes authored)', type: 'number'}, { role: 'annotation' }],
["afbjorklund", 11632, "11632"], ["afbjorklund", 12610, "12610"],
["spowelljr", 5950, "5950"], ["klaases", 7872, "7872"],
["klaases", 5896, "5896"], ["spowelljr", 6977, "6977"],
["blacksd", 4095, "4095"], ["blacksd", 4095, "4095"],
["kevinevans1", 2674, "2674"],
["cdbattags", 2055, "2055"], ["cdbattags", 2055, "2055"],
["sharifelgamal", 1759, "1759"], ["sharifelgamal", 1759, "1759"],
["zhan9san", 1679, "1679"], ["zhan9san", 1679, "1679"],
@ -451,10 +452,9 @@ weight: -99992022
["danieldonoghue", 1535, "1535"], ["danieldonoghue", 1535, "1535"],
["mesketh", 1252, "1252"], ["mesketh", 1252, "1252"],
["clarencesham", 1043, "1043"], ["clarencesham", 1043, "1043"],
["medyagh", 805, "805"], ["RA489", 949, "949"],
["medyagh", 877, "877"],
["nikimanoledaki", 790, "790"], ["nikimanoledaki", 790, "790"],
["eiffel-fl", 769, "769"],
["vrapolinario", 752, "752"],
]); ]);
@ -487,10 +487,10 @@ weight: -99992022
function drawissueCloser() { function drawissueCloser() {
var data = new google.visualization.arrayToDataTable([ var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of issues closed (excludes authored)', type: 'number'}, { role: 'annotation' }], [{label:'',type:'string'},{label: '# of issues closed (excludes authored)', type: 'number'}, { role: 'annotation' }],
["klaases", 192, "192"], ["klaases", 237, "237"],
["spowelljr", 180, "180"], ["spowelljr", 206, "206"],
["sharifelgamal", 44, "44"], ["sharifelgamal", 44, "44"],
["medyagh", 25, "25"], ["medyagh", 27, "27"],
["afbjorklund", 5, "5"], ["afbjorklund", 5, "5"],
["prezha", 4, "4"], ["prezha", 4, "4"],

View File

@ -44,6 +44,9 @@ tests the GCP Auth addon with either phony or real credentials and makes sure th
#### validateHeadlampAddon #### validateHeadlampAddon
#### validateCloudSpannerAddon
tests the cloud-spanner addon by ensuring the deployment and pod come up and addon disables
## TestCertOptions ## TestCertOptions
makes sure minikube certs respect the --apiserver-ips and --apiserver-names parameters makes sure minikube certs respect the --apiserver-ips and --apiserver-names parameters

View File

@ -0,0 +1,53 @@
---
title: "Using Cloud Spanner Addon"
linkTitle: "Cloud Spanner"
weight: 1
date: 2022-10-14
---
## Cloud Spanner Addon
[Cloud Spanner](https://cloud.google.com/spanner) is a fully managed relational database. The Cloud Spanner addon provides a local emulator to test your local application without incurring the cost of an actual spanner instance.
### Enable Cloud Spanner on minikube
To enable this addon, simply run:
```shell script
minikube addons enable cloud-spanner
```
### Cloud Spanner Endpoints
Cloud Spanner provides two different ports, HTTP and GRPC. List Cloud Spanner emulator urls by running:
``` shell
minikube service cloud-spanner-emulator
####################Sample Output#########################
|-----------|------------------------|-------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|------------------------|-------------|---------------------------|
| default | cloud-spanner-emulator | http/9020 | http://192.168.49.2:30233 |
| | | grpc/9010 | http://192.168.49.2:30556 |
|-----------|------------------------|-------------|---------------------------|
[default cloud-spanner-emulator http/9020
grpc/9010 http://192.168.49.2:30233
http://192.168.49.2:30556]
```
### Using Cloud Spanner within a cluster
Cloud Spanner emulator can be used via endpoint `cloud-spanner-emulator:9020` for http clients and `cloud-spanner-emulator:9010` for grpc clients respectively. If you're using the standard client library for Cloud Spanner then set `SPANNER_EMULATOR_HOST` to the GRPC endpoint `cloud-spanner-emulator:9010`.
### Testing installation
```shell script
kubectl get pods -n cloud-spanner-emulator
```
If everything went well, there should be no errors about Cloud Spanner's installation in your minikube cluster.
### Disable Cloud Spanner
To disable this addon, simply run:
```shell script
minikube addons disable cloud-spanner
```

View File

@ -6,13 +6,15 @@ date: 2020-07-15
--- ---
The gcp-auth addon automatically and dynamically configures pods to use your credentials, allowing applications to access Google Cloud services as if they were running within Google Cloud. The `gcp-auth` addon automatically and dynamically configures pods to use your credentials, allowing applications to access Google Cloud services as if they were running within Google Cloud.
The addon normally uses the [Google Application Default Credentials](https://google.aip.dev/auth/4110) as configured with `gcloud auth application-default login`. If you already have a json credentials file you want specify, such as to use a service account, set the GOOGLE_APPLICATION_CREDENTIALS environment variable to point to that file. The addon defaults to using your environment's [Application Default Credentials](https://google.aip.dev/auth/4110), which you can configure with `gcloud auth application-default login`.
Alternatively, you can specify a JSON credentials file (e.g. service account key) by setting the `GOOGLE_APPLICATION_CREDENTIALS` environment variable to the location of that file.
The addon normally uses the default gcloud project as configured with `gcloud config set project <project name>`. If you want to use a different project, set the `GOOGLE_CLOUD_PROJECT` environment variable to the desired project. The addon also defaults to using your local gcloud project, which you can configure with `gcloud config set project <project name>`. You can override this by setting the `GOOGLE_CLOUD_PROJECT` environment variable to the name of the desired project.
Once the addon is enabled, pods in your cluster will be configured with environment variables (e.g. `GOOGLE_APPLICATION_DEFAULTS`, `GOOGLE_CLOUD_PROJECT`) that are automatically used by GCP client libraries. Additionally, the addon configures [registry pull secrets](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/), allowing your cluster to access the container images hosted in [Artifact Registry](https://cloud.google.com/artifact-registry) and [Google Container Registry](https://cloud.google.com/container-registry).
The pods are configured with the `GOOGLE_APPLICATION_DEFAULTS` environment variable is set, which is automatically used by GCP client libraries, and the `GOOGLE_CLOUD_PROJECT` environment variable is set, as are several other historical environment variables. The addon also configures [registry pull secrets](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) to allow the cluster to access container images hosted in your project's [Artifact Registry](https://cloud.google.com/artifact-registry) and [Google Container Registry](https://cloud.google.com/container-registry).
## Tutorial ## Tutorial
@ -93,12 +95,14 @@ spec:
## Refreshing existing pods ## Refreshing existing pods
If you had already deployed pods to your minikube cluster before enabling the gcp-auth addon, then these pods will not have any GCP credentials. There are two ways to solve this issue. Pods that were deployed to your minikube cluster before the `gcp-auth` addon was enabled will not be configured with GCP credentials.
To resolve this problem, run:
1. If you use a Deployment to deploy your pods, just delete the existing pods with `kubectl delete pod <pod_name>`. The deployment will then automatically recreate the pod and it will have the correct credentials. `minikube addons enable gcp-auth --refresh`
2. minikube can delete and recreate your pods for you, by running `minikube addons enable gcp-auth --refresh`. It does not matter if you have already enabled the addon or not.
## Adding new namespaces ## Adding new namespaces
If you have created a new namespace after enabling the gcp-auth addon, then the namespace will be missing the image pull secret. To resolve this issue run `minikube addons enable gcp-auth --refresh`. Namespaces that are added after enabling gcp-auth addon will not be configured with the image pull secret.
To resolve this problem, run:
`minikube addons enable gcp-auth --refresh`

View File

@ -1,5 +1,5 @@
<!-- start: minikube override head-end partial --> <!-- start: minikube override head-end partial -->
<link href="https://fonts.googleapis.com/css2?family=Lora&family=Open+Sans:wght@600;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=Open+Sans:wght@600;700&display=swap" rel="stylesheet">
<link href="/css/tabs.css" rel="stylesheet"> <link href="/css/tabs.css" rel="stylesheet">
<script src="/js/tabs.js"></script> <script src="/js/tabs.js"></script>
<script src="/js/quiz.js"></script> <script src="/js/quiz.js"></script>

View File

@ -63,7 +63,6 @@ $showSection }}
href="{{ $s.RelPermalink }}" href="{{ $s.RelPermalink }}"
class="align-left pl-0 pr-2{{ if not $expandSection }} collapsed{{ end }}{{ if $activeSection}} active{{ end }} td-sidebar-link td-sidebar-link__section" class="align-left pl-0 pr-2{{ if not $expandSection }} collapsed{{ end }}{{ if $activeSection}} active{{ end }} td-sidebar-link td-sidebar-link__section"
> >
{{ if $activeSection}} &#10687; {{ else }} &#10686; {{ end }}
{{$s.LinkTitle }}</a {{$s.LinkTitle }}</a
> >
</li> </li>

View File

@ -66,7 +66,7 @@ func TestAddons(t *testing.T) {
t.Fatalf("Failed setting GOOGLE_CLOUD_PROJECT env var: %v", err) t.Fatalf("Failed setting GOOGLE_CLOUD_PROJECT env var: %v", err)
} }
args := append([]string{"start", "-p", profile, "--wait=true", "--memory=4000", "--alsologtostderr", "--addons=registry", "--addons=metrics-server", "--addons=volumesnapshots", "--addons=csi-hostpath-driver", "--addons=gcp-auth"}, StartArgs()...) args := append([]string{"start", "-p", profile, "--wait=true", "--memory=4000", "--alsologtostderr", "--addons=registry", "--addons=metrics-server", "--addons=volumesnapshots", "--addons=csi-hostpath-driver", "--addons=gcp-auth", "--addons=cloud-spanner"}, StartArgs()...)
if !NoneDriver() { // none driver does not support ingress if !NoneDriver() { // none driver does not support ingress
args = append(args, "--addons=ingress", "--addons=ingress-dns") args = append(args, "--addons=ingress", "--addons=ingress-dns")
} }
@ -97,6 +97,7 @@ func TestAddons(t *testing.T) {
{"Olm", validateOlmAddon}, {"Olm", validateOlmAddon},
{"CSI", validateCSIDriverAndSnapshots}, {"CSI", validateCSIDriverAndSnapshots},
{"Headlamp", validateHeadlampAddon}, {"Headlamp", validateHeadlampAddon},
{"CloudSpanner", validateCloudSpannerAddon},
} }
for _, tc := range tests { for _, tc := range tests {
tc := tc tc := tc
@ -743,3 +744,22 @@ func validateHeadlampAddon(ctx context.Context, t *testing.T, profile string) {
t.Fatalf("failed waiting for headlamp pod: %v", err) t.Fatalf("failed waiting for headlamp pod: %v", err)
} }
} }
// validateCloudSpannerAddon tests the cloud-spanner addon by ensuring the deployment and pod come up and addon disables
func validateCloudSpannerAddon(ctx context.Context, t *testing.T, profile string) {
defer PostMortemLogs(t, profile)
client, err := kapi.Client(profile)
if err != nil {
t.Fatalf("failed to get Kubernetes client for %s: %v", profile, err)
}
if err := kapi.WaitForDeploymentToStabilize(client, "default", "cloud-spanner-emulator", Minutes(6)); err != nil {
t.Errorf("failed waiting for cloud-spanner-emulator deployment to stabilize: %v", err)
}
if _, err := PodWait(ctx, t, profile, "default", "app=cloud-spanner-emulator", Minutes(6)); err != nil {
t.Errorf("failed waiting for app=cloud-spanner-emulator pod: %v", err)
}
if rr, err := Run(t, exec.CommandContext(ctx, Target(), "addons", "disable", "cloud-spanner", "-p", profile)); err != nil {
t.Errorf("failed to disable cloud-spanner addon: args %q : %v", rr.Command(), err)
}
}

View File

@ -148,7 +148,7 @@
"Deleting container \"{{.name}}\" ...": "Suppression du conteneur \"{{.name}}\" ...", "Deleting container \"{{.name}}\" ...": "Suppression du conteneur \"{{.name}}\" ...",
"Deleting existing cluster {{.name}} with different driver {{.driver_name}} due to --delete-on-failure flag set by the user. ": "Suppression du cluster existant {{.name}} avec un pilote différent {{.driver_name}} en raison de l'indicateur --delete-on-failure défini par l'utilisateur.", "Deleting existing cluster {{.name}} with different driver {{.driver_name}} due to --delete-on-failure flag set by the user. ": "Suppression du cluster existant {{.name}} avec un pilote différent {{.driver_name}} en raison de l'indicateur --delete-on-failure défini par l'utilisateur.",
"Deleting node {{.name}} from cluster {{.cluster}}": "Suppression de noeuds {{.name}} de cluster {{.cluster}}", "Deleting node {{.name}} from cluster {{.cluster}}": "Suppression de noeuds {{.name}} de cluster {{.cluster}}",
"Directory to output licenses to": "", "Directory to output licenses to": "Répertoire de sortie des licences",
"Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)": "Désactive la vérification de la disponibilité de la virtualisation du matériel avant le démarrage de la VM (pilote virtualbox uniquement).", "Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)": "Désactive la vérification de la disponibilité de la virtualisation du matériel avant le démarrage de la VM (pilote virtualbox uniquement).",
"Disable dynamic memory in your VM manager, or pass in a larger --memory value": "Désactivez la mémoire dynamique dans votre gestionnaire de machine virtuelle ou transmettez une valeur --memory plus grande", "Disable dynamic memory in your VM manager, or pass in a larger --memory value": "Désactivez la mémoire dynamique dans votre gestionnaire de machine virtuelle ou transmettez une valeur --memory plus grande",
"Disables the addon w/ADDON_NAME within minikube (example: minikube addons disable dashboard). For a list of available addons use: minikube addons list ": "Désactive le module w/ADDON_NAME dans minikube (exemple : minikube addons disable dashboard). Pour une liste des addons disponibles, utilisez : minikube addons list", "Disables the addon w/ADDON_NAME within minikube (example: minikube addons disable dashboard). For a list of available addons use: minikube addons list ": "Désactive le module w/ADDON_NAME dans minikube (exemple : minikube addons disable dashboard). Pour une liste des addons disponibles, utilisez : minikube addons list",
@ -255,7 +255,7 @@
"Failed to delete cluster: {{.error}}": "Échec de la suppression du cluster : {{.error}}", "Failed to delete cluster: {{.error}}": "Échec de la suppression du cluster : {{.error}}",
"Failed to delete images": "Échec de la suppression des images", "Failed to delete images": "Échec de la suppression des images",
"Failed to delete images from config": "Échec de la suppression des images de la configuration", "Failed to delete images from config": "Échec de la suppression des images de la configuration",
"Failed to download licenses": "", "Failed to download licenses": "Échec du téléchargement des licences",
"Failed to enable container runtime": "Échec de l'activation de l'environnement d'exécution du conteneur", "Failed to enable container runtime": "Échec de l'activation de l'environnement d'exécution du conteneur",
"Failed to get bootstrapper": "Échec de l'obtention du programme d'amorçage", "Failed to get bootstrapper": "Échec de l'obtention du programme d'amorçage",
"Failed to get command runner": "Impossible d'obtenir le lanceur de commandes", "Failed to get command runner": "Impossible d'obtenir le lanceur de commandes",
@ -291,7 +291,7 @@
"Filter to use only VM Drivers": "Filtrer pour n'utiliser que les pilotes VM", "Filter to use only VM Drivers": "Filtrer pour n'utiliser que les pilotes VM",
"Flags": "Indicateurs", "Flags": "Indicateurs",
"Follow": "Suivre", "Follow": "Suivre",
"For an improved experience it's recommended to use Docker Engine instead of Docker Desktop.\nDocker Engine installation instructions: https://docs.docker.com/engine/install/#server": "", "For an improved experience it's recommended to use Docker Engine instead of Docker Desktop.\nDocker Engine installation instructions: https://docs.docker.com/engine/install/#server": "Pour une meilleure expérience, il est recommandé d'utiliser Docker Engine au lieu de Docker Desktop.\nInstructions d'installation de Docker Engine : https://docs.docker.com/engine/install/#server",
"For improved {{.driver}} performance, {{.fix}}": "Pour de meilleures performances {{.driver}}, {{.fix}}", "For improved {{.driver}} performance, {{.fix}}": "Pour de meilleures performances {{.driver}}, {{.fix}}",
"For more information see: https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}": "Pour plus d'informations, voir : https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}", "For more information see: https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}": "Pour plus d'informations, voir : https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}",
"For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/": "Pour plus d'informations, voir : https://minikube.sigs.k8s.io/docs/reference/drivers/none/", "For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/": "Pour plus d'informations, voir : https://minikube.sigs.k8s.io/docs/reference/drivers/none/",
@ -450,7 +450,7 @@
"Output format. Accepted values: [json, yaml]": "Format de sortie. Valeurs acceptées : [json, yaml]", "Output format. Accepted values: [json, yaml]": "Format de sortie. Valeurs acceptées : [json, yaml]",
"Output format. Accepted values: [json]": "Format de sortie. Valeurs acceptées : [json]", "Output format. Accepted values: [json]": "Format de sortie. Valeurs acceptées : [json]",
"Outputs minikube shell completion for the given shell (bash, zsh or fish)\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\t\t$ minikube completion fish \u003e ~/.config/fish/completions/minikube.fish # for fish users\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\t\t$ minikube completion fish \u003e ~/.config/fish/completions/minikube.fish # for fish 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\tNote for fish users: [2] please refer to this docs for more details https://fishshell.com/docs/current/#tab-completion\n": "Affiche la complétion du shell minikube pour le shell donné (bash, zsh ou fish)\n\n\tCela dépend du binaire bash-completion. Exemple d'instructions d'installation :\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 # pour les utilisateurs bash\n\t\t$ minikube completion zsh \u003e ~/.minikube-completion # pour les utilisateurs zsh\n\t\t$ source ~/.minikube-completion\n\t\t$ minikube completion fish \u003e ~/.config/fish/completions/minikube.fish # pour les utilisateurs de fish\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) # pour les utilisateurs bash\n\t\t$ source \u003c(minikube completion zsh) # pour les utilisateurs zsh\n\t \t$ minikube completion fish \u003e ~/.config/fish/completions/minikube.fish # pour les utilisateurs de fish\n\n\tDe plus, vous voudrez peut-être sortir la complétion dans un fichier et une source dans votre .bashrc\n n\tRemarque pour les utilisateurs de zsh : [1] les complétions zsh ne sont prises en charge que dans les versions de zsh \u003e= 5.2\n\tRemarque pour les utilisateurs de fish : [2] veuillez vous référer à cette documentation pour plus de détails https://fishshell.com/docs/current/#tab-completion\n", "Outputs minikube shell completion for the given shell (bash, zsh or fish)\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\t\t$ minikube completion fish \u003e ~/.config/fish/completions/minikube.fish # for fish users\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\t\t$ minikube completion fish \u003e ~/.config/fish/completions/minikube.fish # for fish 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\tNote for fish users: [2] please refer to this docs for more details https://fishshell.com/docs/current/#tab-completion\n": "Affiche la complétion du shell minikube pour le shell donné (bash, zsh ou fish)\n\n\tCela dépend du binaire bash-completion. Exemple d'instructions d'installation :\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 # pour les utilisateurs bash\n\t\t$ minikube completion zsh \u003e ~/.minikube-completion # pour les utilisateurs zsh\n\t\t$ source ~/.minikube-completion\n\t\t$ minikube completion fish \u003e ~/.config/fish/completions/minikube.fish # pour les utilisateurs de fish\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) # pour les utilisateurs bash\n\t\t$ source \u003c(minikube completion zsh) # pour les utilisateurs zsh\n\t \t$ minikube completion fish \u003e ~/.config/fish/completions/minikube.fish # pour les utilisateurs de fish\n\n\tDe plus, vous voudrez peut-être sortir la complétion dans un fichier et une source dans votre .bashrc\n n\tRemarque pour les utilisateurs de zsh : [1] les complétions zsh ne sont prises en charge que dans les versions de zsh \u003e= 5.2\n\tRemarque pour les utilisateurs de fish : [2] veuillez vous référer à cette documentation pour plus de détails https://fishshell.com/docs/current/#tab-completion\n",
"Outputs the licenses of dependencies to a directory": "", "Outputs the licenses of dependencies to a directory": "Copie les licences des dépendances dans un répertoire",
"Overwrite image even if same image:tag name exists": "Écraser l'image même si la même image:balise existe", "Overwrite image even if same image:tag name exists": "Écraser l'image même si la même image:balise existe",
"Path to socket vmnet binary": "Chemin d'accès au binaire socket vmnet", "Path to socket vmnet binary": "Chemin d'accès au binaire socket vmnet",
"Path to the Dockerfile to use (optional)": "Chemin d'accès au Dockerfile à utiliser (facultatif)", "Path to the Dockerfile to use (optional)": "Chemin d'accès au Dockerfile à utiliser (facultatif)",

View File

@ -101,16 +101,16 @@
"CGroup allocation is not available in your environment, You might be running minikube in a nested container. Try running:\n\t\t\t\n\tminikube start --extra-config=kubelet.cgroups-per-qos=false --extra-config=kubelet.enforce-node-allocatable=\"\"\n\n\t\t\t\n\t\t\t": "", "CGroup allocation is not available in your environment, You might be running minikube in a nested container. Try running:\n\t\t\t\n\tminikube start --extra-config=kubelet.cgroups-per-qos=false --extra-config=kubelet.enforce-node-allocatable=\"\"\n\n\t\t\t\n\t\t\t": "",
"CGroup allocation is not available in your environment. You might be running minikube in a nested container. Try running:\n\t\t\t\n\tminikube start --extra-config=kubelet.cgroups-per-qos=false --extra-config=kubelet.enforce-node-allocatable=\"\"\n\n\t\t\t\n\t\t\t": "", "CGroup allocation is not available in your environment. You might be running minikube in a nested container. Try running:\n\t\t\t\n\tminikube start --extra-config=kubelet.cgroups-per-qos=false --extra-config=kubelet.enforce-node-allocatable=\"\"\n\n\t\t\t\n\t\t\t": "",
"CNI plug-in to use. Valid options: auto, bridge, calico, cilium, flannel, kindnet, or path to a CNI manifest (default: auto)": "", "CNI plug-in to use. Valid options: auto, bridge, calico, cilium, flannel, kindnet, or path to a CNI manifest (default: auto)": "",
"Cache image from docker daemon": "", "Cache image from docker daemon": "从 docker daemon 中缓存镜像",
"Cache image from remote registry": "", "Cache image from remote registry": "远程仓库中缓存镜像",
"Cache image to docker daemon": "", "Cache image to docker daemon": "缓存镜像到 docker daemon",
"Cache image to remote registry": "", "Cache image to remote registry": "缓存镜像到远程仓库",
"Cannot find directory {{.path}} for copy": "", "Cannot find directory {{.path}} for copy": "找不到用来复制的 {{.path}} 目录",
"Cannot find directory {{.path}} for mount": "找不到用来挂载的 {{.path}} 目录", "Cannot find directory {{.path}} for mount": "找不到用来挂载的 {{.path}} 目录",
"Cannot use both --output and --format options": "不能同时使用 --output 和 --format 选项", "Cannot use both --output and --format options": "不能同时使用 --output 和 --format 选项",
"Cannot use the option --no-kubernetes on the {{.name}} driver": "", "Cannot use the option --no-kubernetes on the {{.name}} driver": "无法使用 {{.name}} 驱动程序上的 -no-kubernetes 选项",
"Certificate {{.certPath}} has expired. Generating a new one...": "", "Certificate {{.certPath}} has expired. Generating a new one...": "证书 {{.certPath}} 已过期,生成一个新证书...",
"Check if you have unnecessary pods running by running 'kubectl get po -A": "", "Check if you have unnecessary pods running by running 'kubectl get po -A": "通过运行 'kubectl get po -A' 检查是否有不必要的pod正在运行",
"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "检查 'journalctl -xeu kubelet' 的输出,尝试启动 minikube 时添加参数 --extra-config=kubelet.cgroup-driver=systemd", "Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "检查 'journalctl -xeu kubelet' 的输出,尝试启动 minikube 时添加参数 --extra-config=kubelet.cgroup-driver=systemd",
"Check that SELinux is disabled, and that the provided apiserver flags are valid": "检查 SELinux 是否禁用,且提供的 apiserver 标志是否有效", "Check that SELinux is disabled, and that the provided apiserver flags are valid": "检查 SELinux 是否禁用,且提供的 apiserver 标志是否有效",
"Check that libvirt is setup properly": "检查 libvirt 是否正确设置", "Check that libvirt is setup properly": "检查 libvirt 是否正确设置",