diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7ce07ca137..b0ea04fdec 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,7 +20,7 @@ jobs: build_minikube: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -41,14 +41,14 @@ jobs: echo workspace $GITHUB_WORKSPACE echo "end of debug stuff" echo $(which jq) - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: minikube_binaries path: out lint: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -68,7 +68,7 @@ jobs: unit_test: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9be6258880..e2af96c390 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -15,7 +15,7 @@ jobs: if: github.repository == 'kubernetes/minikube' runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/functional_verified.yml b/.github/workflows/functional_verified.yml index a0584f9c0a..acabc83201 100644 --- a/.github/workflows/functional_verified.yml +++ b/.github/workflows/functional_verified.yml @@ -34,7 +34,7 @@ jobs: if: contains(github.event.pull_request.labels.*.name, 'ok-to-test') runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -48,7 +48,7 @@ jobs: sudo apt-get install -y libvirt-dev MINIKUBE_BUILD_IN_DOCKER=y make cross e2e-cross debs cp -r test/integration/testdata ./out - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: minikube_binaries path: out @@ -120,7 +120,7 @@ jobs: with: go-version: ${{env.GO_VERSION}} - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -167,7 +167,7 @@ jobs: echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_docker_ubuntu_arm64 path: minikube_binaries/report @@ -204,14 +204,14 @@ jobs: runs-on: ubuntu-20.04 steps: - name: download all extra reports - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a - name: upload all extra reports shell: bash {0} continue-on-error: true run: | mkdir -p all_reports cp -r ./functional_docker_ubuntu_arm64 ./all_reports/ - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: all_reports path: all_reports diff --git a/.github/workflows/leaderboard.yml b/.github/workflows/leaderboard.yml index 0cc16f07bc..77af58426e 100644 --- a/.github/workflows/leaderboard.yml +++ b/.github/workflows/leaderboard.yml @@ -14,7 +14,7 @@ jobs: update-leaderboard: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index e2523c22d3..7ed0090678 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -24,7 +24,7 @@ jobs: build_minikube: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -45,14 +45,14 @@ jobs: echo workspace $GITHUB_WORKSPACE echo "end of debug stuff" echo $(which jq) - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: minikube_binaries path: out lint: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -72,7 +72,7 @@ jobs: unit_test: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -132,7 +132,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.13.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -171,7 +171,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_docker_ubuntu path: minikube_binaries/report @@ -231,7 +231,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.13.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -270,7 +270,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_docker_containerd_ubuntu path: minikube_binaries/report @@ -334,7 +334,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.13.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -373,7 +373,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_podman_ubuntu path: minikube_binaries/report @@ -436,7 +436,7 @@ jobs: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off sudo /usr/libexec/ApplicationFirewall/socketfilterfw -k - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -473,7 +473,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_virtualbox_macos path: minikube_binaries/report @@ -542,7 +542,7 @@ jobs: run: | sudo sysctl fs.protected_regular=0 - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -579,7 +579,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_baremetal_ubuntu20_04 path: minikube_binaries/report @@ -616,7 +616,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: download all reports - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a - name: upload all reports shell: bash {0} continue-on-error: true @@ -629,7 +629,7 @@ jobs: cp -r ./functional_virtualbox_macos ./all_reports/ cp -r ./functional_baremetal_ubuntu20_04 ./all_reports/ - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: all_reports path: all_reports diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 0beda7a050..39af4a9eee 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -22,7 +22,7 @@ jobs: build_minikube: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -43,14 +43,14 @@ jobs: echo workspace $GITHUB_WORKSPACE echo "end of debug stuff" echo $(which jq) - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: minikube_binaries path: out lint: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -70,7 +70,7 @@ jobs: unit_test: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -129,7 +129,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.13.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -169,7 +169,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_docker_ubuntu path: minikube_binaries/report @@ -229,7 +229,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.13.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -269,7 +269,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_docker_containerd_ubuntu path: minikube_binaries/report @@ -333,7 +333,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.13.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -373,7 +373,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_podman_ubuntu path: minikube_binaries/report @@ -436,7 +436,7 @@ jobs: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off sudo /usr/libexec/ApplicationFirewall/socketfilterfw -k - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -474,7 +474,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_virtualbox_macos path: minikube_binaries/report @@ -543,7 +543,7 @@ jobs: run: | sudo sysctl fs.protected_regular=0 - name: Download Binaries - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: name: minikube_binaries path: minikube_binaries @@ -581,7 +581,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: functional_baremetal_ubuntu20_04 path: minikube_binaries/report @@ -618,7 +618,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: download all reports - uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a - name: upload all reports shell: bash {0} continue-on-error: true @@ -631,7 +631,7 @@ jobs: cp -r ./functional_virtualbox_macos ./all_reports/ cp -r ./functional_baremetal_ubuntu20_04 ./all_reports/ - - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: all_reports path: all_reports diff --git a/.github/workflows/sync-minikube.yml b/.github/workflows/sync-minikube.yml index eec38a6176..63ebb352b2 100644 --- a/.github/workflows/sync-minikube.yml +++ b/.github/workflows/sync-minikube.yml @@ -17,7 +17,7 @@ jobs: run: working-directory: ./image-syncer steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: repository: denverdino/image-syncer path: ./image-syncer diff --git a/.github/workflows/time-to-k8s-public-chart.yml b/.github/workflows/time-to-k8s-public-chart.yml index 99b6c2ff5b..55d804eb92 100644 --- a/.github/workflows/time-to-k8s-public-chart.yml +++ b/.github/workflows/time-to-k8s-public-chart.yml @@ -19,7 +19,7 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_DEFAULT_REGION: 'us-west-1' steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} @@ -39,7 +39,7 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_DEFAULT_REGION: 'us-west-1' steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - name: Install kubectl shell: bash run: | diff --git a/.github/workflows/time-to-k8s.yml b/.github/workflows/time-to-k8s.yml index 2cc356d375..5a1c0505dd 100644 --- a/.github/workflows/time-to-k8s.yml +++ b/.github/workflows/time-to-k8s.yml @@ -13,7 +13,7 @@ jobs: benchmark: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - name: Checkout submodules run: git submodule update --init - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 diff --git a/.github/workflows/translations.yml b/.github/workflows/translations.yml index 991751fff2..bf000f489d 100644 --- a/.github/workflows/translations.yml +++ b/.github/workflows/translations.yml @@ -14,7 +14,7 @@ jobs: unit_test: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/update-gh-version.yml b/.github/workflows/update-gh-version.yml index f4ee2d0858..74a5d60b3e 100644 --- a/.github/workflows/update-gh-version.yml +++ b/.github/workflows/update-gh-version.yml @@ -14,7 +14,7 @@ jobs: bump-gh-version: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/update-golang-version.yml b/.github/workflows/update-golang-version.yml index a94480a496..75515a342e 100644 --- a/.github/workflows/update-golang-version.yml +++ b/.github/workflows/update-golang-version.yml @@ -14,7 +14,7 @@ jobs: bump-golang-version: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/update-golint-version.yml b/.github/workflows/update-golint-version.yml index bc1be024c0..a505042a44 100644 --- a/.github/workflows/update-golint-version.yml +++ b/.github/workflows/update-golint-version.yml @@ -14,7 +14,7 @@ jobs: bump-golint-version: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/update-gopogh-version.yml b/.github/workflows/update-gopogh-version.yml index 60753f39c5..df02e51d7c 100644 --- a/.github/workflows/update-gopogh-version.yml +++ b/.github/workflows/update-gopogh-version.yml @@ -14,7 +14,7 @@ jobs: bump-gopogh-version: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/update-gotestsum-version.yml b/.github/workflows/update-gotestsum-version.yml index 28b0dffee9..68b275b0a2 100644 --- a/.github/workflows/update-gotestsum-version.yml +++ b/.github/workflows/update-gotestsum-version.yml @@ -14,7 +14,7 @@ jobs: bump-gotestsum-version: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/update-hugo-version.yml b/.github/workflows/update-hugo-version.yml index fdbb12592e..942146a37d 100644 --- a/.github/workflows/update-hugo-version.yml +++ b/.github/workflows/update-hugo-version.yml @@ -14,7 +14,7 @@ jobs: bump-hugo-version: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/update-k8s-versions.yml b/.github/workflows/update-k8s-versions.yml index 6abd39c60f..73c51fdff9 100644 --- a/.github/workflows/update-k8s-versions.yml +++ b/.github/workflows/update-k8s-versions.yml @@ -14,7 +14,7 @@ jobs: bump-k8s-versions: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/update-kubeadm-constants.yml b/.github/workflows/update-kubeadm-constants.yml index 09a8b415e0..7a8cb22631 100644 --- a/.github/workflows/update-kubeadm-constants.yml +++ b/.github/workflows/update-kubeadm-constants.yml @@ -14,7 +14,7 @@ jobs: bump-k8s-versions: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/update_docsy_version.yml b/.github/workflows/update_docsy_version.yml index 04f0c416f2..1d91018d91 100644 --- a/.github/workflows/update_docsy_version.yml +++ b/.github/workflows/update_docsy_version.yml @@ -14,7 +14,7 @@ jobs: bump-docsy-version: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/.github/workflows/yearly-leaderboard.yml b/.github/workflows/yearly-leaderboard.yml index 2c7b59366b..ecbdc5255a 100644 --- a/.github/workflows/yearly-leaderboard.yml +++ b/.github/workflows/yearly-leaderboard.yml @@ -19,7 +19,7 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_DEFAULT_REGION: 'us-west-1' steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c - uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version: ${{env.GO_VERSION}} diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 758fd2097a..fe99b99b0d 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -1228,6 +1228,12 @@ func validateFlags(cmd *cobra.Command, drvName string) { validateCNI(cmd, viper.GetString(containerRuntime)) } + if cmd.Flags().Changed(staticIP) { + if err := validateStaticIP(viper.GetString(staticIP), drvName, viper.GetString(subnet)); err != nil { + exit.Message(reason.Usage, "{{.err}}", out.V{"err": err}) + } + } + if driver.IsSSH(drvName) { sshIPAddress := viper.GetString(sshIPAddress) if sshIPAddress == "" { @@ -1772,6 +1778,30 @@ func validateSubnet(subnet string) error { return nil } +func validateStaticIP(staticIP, drvName, subnet string) error { + if !driver.IsKIC(drvName) { + if staticIP != "" { + out.WarningT("--static-ip is only implemented on Docker and Podman drivers, flag will be ignored") + } + return nil + } + if subnet != "" { + out.WarningT("--static-ip overrides --subnet, --subnet will be ignored") + } + ip := net.ParseIP(staticIP) + if !ip.IsPrivate() { + return fmt.Errorf("static IP must be private") + } + if ip.To4() == nil { + return fmt.Errorf("static IP must be IPv4") + } + lastOctet, _ := strconv.Atoi(strings.Split(ip.String(), ".")[3]) + if lastOctet < 2 || lastOctet > 254 { + return fmt.Errorf("static IPs last octet must be between 2 and 254 (X.X.X.2 - X.X.X.254), for example 192.168.200.200") + } + return nil +} + func validateBareMetal(drvName string) { if !driver.BareMetal(drvName) { return diff --git a/cmd/minikube/cmd/start_flags.go b/cmd/minikube/cmd/start_flags.go index ba1e1857bd..aea0a17520 100644 --- a/cmd/minikube/cmd/start_flags.go +++ b/cmd/minikube/cmd/start_flags.go @@ -140,6 +140,7 @@ const ( qemuFirmwarePath = "qemu-firmware-path" socketVMnetClientPath = "socket-vmnet-client-path" socketVMnetPath = "socket-vmnet-path" + staticIP = "static-ip" ) var ( @@ -200,6 +201,7 @@ func initMinikubeFlags() { startCmd.Flags().String(binaryMirror, "", "Location to fetch kubectl, kubelet, & kubeadm binaries from.") startCmd.Flags().Bool(disableOptimizations, false, "If set, disables optimizations that are set for local Kubernetes. Including decreasing CoreDNS replicas from 2 to 1. Defaults to false.") startCmd.Flags().Bool(disableMetrics, false, "If set, disables metrics reporting (CPU and memory usage), this can improve CPU usage. Defaults to false.") + startCmd.Flags().String(staticIP, "", "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)") } // initKubernetesFlags inits the commandline flags for Kubernetes related options @@ -571,6 +573,7 @@ func generateNewConfigFromFlags(cmd *cobra.Command, k8sVersion string, rtime str CustomQemuFirmwarePath: viper.GetString(qemuFirmwarePath), SocketVMnetClientPath: viper.GetString(socketVMnetClientPath), SocketVMnetPath: viper.GetString(socketVMnetPath), + StaticIP: viper.GetString(staticIP), KubernetesConfig: config.KubernetesConfig{ KubernetesVersion: k8sVersion, ClusterName: ClusterFlagValue(), @@ -747,6 +750,10 @@ func updateExistingConfigFromFlags(cmd *cobra.Command, existing *config.ClusterC out.WarningT("You cannot add or remove extra disks for an existing minikube cluster. Please first delete the cluster.") } + if cmd.Flags().Changed(staticIP) && viper.GetString(staticIP) != existing.StaticIP { + out.WarningT("You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.") + } + updateBoolFromFlag(cmd, &cc.KeepContext, keepContext) updateBoolFromFlag(cmd, &cc.EmbedCerts, embedCerts) updateStringFromFlag(cmd, &cc.MinikubeISO, isoURL) diff --git a/cmd/minikube/cmd/start_test.go b/cmd/minikube/cmd/start_test.go index ef4a1f854a..9b0088f1e3 100644 --- a/cmd/minikube/cmd/start_test.go +++ b/cmd/minikube/cmd/start_test.go @@ -665,3 +665,62 @@ func TestValidateSubnet(t *testing.T) { }) } } + +func TestValidateStaticIP(t *testing.T) { + tests := []struct { + staticIP string + drvName string + errorMsg string + }{ + { + staticIP: "8.8.8.8", + drvName: "docker", + errorMsg: "static IP must be private", + }, + { + staticIP: "8.8.8.8", + drvName: "hyperkit", + errorMsg: "", + }, + { + staticIP: "fdfc:a4c0:e99e:7ad3::", + drvName: "docker", + errorMsg: "static IP must be IPv4", + }, + { + staticIP: "192.168.49.0", + drvName: "docker", + errorMsg: "static IPs last octet must be between 2 and 254 (X.X.X.2 - X.X.X.254), for example 192.168.200.200", + }, + { + staticIP: "192.168.49.1", + drvName: "docker", + errorMsg: "static IPs last octet must be between 2 and 254 (X.X.X.2 - X.X.X.254), for example 192.168.200.200", + }, + { + staticIP: "192.168.49.255", + drvName: "docker", + errorMsg: "static IPs last octet must be between 2 and 254 (X.X.X.2 - X.X.X.254), for example 192.168.200.200", + }, + { + staticIP: "192.168.49.2", + drvName: "docker", + errorMsg: "", + }, + { + staticIP: "192.168.49.254", + drvName: "docker", + errorMsg: "", + }, + } + for _, tt := range tests { + gotError := "" + got := validateStaticIP(tt.staticIP, tt.drvName, "") + if got != nil { + gotError = got.Error() + } + if gotError != tt.errorMsg { + t.Errorf("validateStaticIP(%s, %s): got %v, expected %v", tt.staticIP, tt.drvName, got, tt.errorMsg) + } + } +} diff --git a/go.mod b/go.mod index cf099c4cd5..1b500371c7 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/c4milo/gotoolkit v0.0.0-20190525173301-67483a18c17a // indirect github.com/cenkalti/backoff/v4 v4.2.0 github.com/cheggaaa/pb/v3 v3.1.0 - github.com/cloudevents/sdk-go/v2 v2.12.0 + github.com/cloudevents/sdk-go/v2 v2.13.0 github.com/docker/docker v20.10.22+incompatible github.com/docker/go-units v0.5.0 github.com/docker/machine v0.16.2 @@ -60,7 +60,7 @@ require ( go.opentelemetry.io/otel/sdk v1.11.2 go.opentelemetry.io/otel/trace v1.11.2 golang.org/x/build v0.0.0-20190927031335-2835ba2e683f - golang.org/x/crypto v0.4.0 + golang.org/x/crypto v0.5.0 golang.org/x/exp v0.0.0-20220909182711-5c715a9e8561 golang.org/x/mod v0.7.0 golang.org/x/oauth2 v0.4.0 @@ -69,7 +69,7 @@ require ( golang.org/x/term v0.4.0 golang.org/x/text v0.6.0 gonum.org/v1/plot v0.12.0 - google.golang.org/api v0.105.0 + google.golang.org/api v0.106.0 gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.26.0 @@ -98,8 +98,8 @@ require ( require ( cloud.google.com/go v0.105.0 // indirect - cloud.google.com/go/compute v1.13.0 // indirect - cloud.google.com/go/compute/metadata v0.2.2 // indirect + cloud.google.com/go/compute v1.14.0 // indirect + cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v0.8.0 // indirect cloud.google.com/go/monitoring v1.8.0 // indirect cloud.google.com/go/trace v1.4.0 // indirect @@ -146,7 +146,7 @@ require ( github.com/google/gnostic v0.5.7-v3refs // indirect github.com/google/go-querystring 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.1 // indirect github.com/googleapis/gax-go/v2 v2.7.0 // indirect github.com/gookit/color v1.5.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -211,7 +211,7 @@ require ( golang.org/x/tools v0.1.12 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20221206210731-b1a01be3a5f6 // indirect + google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect google.golang.org/grpc v1.51.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/go.sum b/go.sum index f72894efa6..1c9237544d 100644 --- a/go.sum +++ b/go.sum @@ -37,10 +37,10 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.13.0 h1:AYrLkB8NPdDRslNp4Jxmzrhdr03fUAIDbiGFjLWowoU= -cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= -cloud.google.com/go/compute/metadata v0.2.2 h1:aWKAjYaBaOSrpKl57+jnS/3fJRQnxL7TvR/u1VVbt6k= -cloud.google.com/go/compute/metadata v0.2.2/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute v1.14.0 h1:hfm2+FfxVmnRlh6LpB7cg1ZNU+5edAHmW679JePztk0= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/iam v0.8.0 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk= @@ -214,8 +214,8 @@ github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudevents/sdk-go/v2 v2.12.0 h1:p1k+ysVOZtNiXfijnwB3WqZNA3y2cGOiKQygWkUHCEI= -github.com/cloudevents/sdk-go/v2 v2.12.0/go.mod h1:xDmKfzNjM8gBvjaF8ijFjM1VYOVUEeUfapHMUX1T5To= +github.com/cloudevents/sdk-go/v2 v2.13.0 h1:2zxDS8RyY1/wVPULGGbdgniGXSzLaRJVl136fLXGsYw= +github.com/cloudevents/sdk-go/v2 v2.13.0/go.mod h1:xDmKfzNjM8gBvjaF8ijFjM1VYOVUEeUfapHMUX1T5To= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -585,8 +585,8 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= -github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1 h1:RY7tHKZcRlk788d5WSo/e83gOyyy742E8GSs771ySpg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= @@ -1151,8 +1151,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= -golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= +golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= +golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1539,8 +1539,8 @@ google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqiv google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= -google.golang.org/api v0.105.0 h1:t6P9Jj+6XTn4U9I2wycQai6Q/Kz7iOT+QzjJ3G2V4x8= -google.golang.org/api v0.105.0/go.mod h1:qh7eD5FJks5+BcE+cjBIm6Gz8vioK7EHvnlniqXBnqI= +google.golang.org/api v0.106.0 h1:ffmW0faWCwKkpbbtvlY/K/8fUl+JKvNS5CVzRoyfCv8= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1616,8 +1616,8 @@ google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20221206210731-b1a01be3a5f6 h1:AGXp12e/9rItf6/4QymU7WsAUwCf+ICW75cuR91nJIc= -google.golang.org/genproto v0.0.0-20221206210731-b1a01be3a5f6/go.mod h1:1dOng4TWOomJrDGhpXjfCD35wQC6jnC7HpRmOFRqEV0= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= diff --git a/hack/jenkins/installers/check_install_gh.sh b/hack/jenkins/installers/check_install_gh.sh index b1cb8e8ff4..cf47cf35e5 100755 --- a/hack/jenkins/installers/check_install_gh.sh +++ b/hack/jenkins/installers/check_install_gh.sh @@ -16,7 +16,7 @@ set -eux -o pipefail -GH_VERSION="2.21.1" +GH_VERSION="2.21.2" echo "Installing latest version of gh" curl -qLO "https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_linux_amd64.tar.gz" diff --git a/pkg/drivers/kic/kic.go b/pkg/drivers/kic/kic.go index a877d2a0b8..3596a9c243 100644 --- a/pkg/drivers/kic/kic.go +++ b/pkg/drivers/kic/kic.go @@ -41,7 +41,9 @@ import ( "k8s.io/minikube/pkg/minikube/cruntime" "k8s.io/minikube/pkg/minikube/download" "k8s.io/minikube/pkg/minikube/driver" + "k8s.io/minikube/pkg/minikube/exit" "k8s.io/minikube/pkg/minikube/out" + "k8s.io/minikube/pkg/minikube/reason" "k8s.io/minikube/pkg/minikube/style" "k8s.io/minikube/pkg/minikube/sysinit" "k8s.io/minikube/pkg/util/retry" @@ -92,8 +94,17 @@ func (d *Driver) Create() error { if networkName == "" { networkName = d.NodeConfig.ClusterName } - if gateway, err := oci.CreateNetwork(d.OCIBinary, networkName, d.NodeConfig.Subnet); err != nil { - out.WarningT("Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}", out.V{"error": err}) + staticIP := d.NodeConfig.StaticIP + if gateway, err := oci.CreateNetwork(d.OCIBinary, networkName, d.NodeConfig.Subnet, staticIP); err != nil { + msg := "Unable to create dedicated network, this might result in cluster IP change after restart: {{.error}}" + args := out.V{"error": err} + if staticIP != "" { + exit.Message(reason.IfDedicatedNetwork, msg, args) + } + out.WarningT(msg, args) + } else if gateway != nil && staticIP != "" { + params.Network = networkName + params.IP = staticIP } else if gateway != nil { params.Network = networkName ip := gateway.To4() diff --git a/pkg/drivers/kic/oci/network_create.go b/pkg/drivers/kic/oci/network_create.go index aa7adfcf69..674300d45e 100644 --- a/pkg/drivers/kic/oci/network_create.go +++ b/pkg/drivers/kic/oci/network_create.go @@ -63,7 +63,7 @@ func firstSubnetAddr(subnet string) string { } // CreateNetwork creates a network returns gateway and error, minikube creates one network per cluster -func CreateNetwork(ociBin, networkName, subnet string) (net.IP, error) { +func CreateNetwork(ociBin, networkName, subnet, staticIP string) (net.IP, error) { defaultBridgeName := defaultBridgeName(ociBin) if networkName == defaultBridgeName { klog.Infof("skipping creating network since default network %s was specified", networkName) @@ -84,12 +84,20 @@ func CreateNetwork(ociBin, networkName, subnet string) (net.IP, error) { klog.Warningf("failed to get mtu information from the %s's default network %q: %v", ociBin, defaultBridgeName, err) } + tries := 20 + + // we don't want to increment the subnet IP on network creation failure if the user specifies a static IP, so set tries to 1 + if staticIP != "" { + tries = 1 + subnet = staticIP + } + // retry up to 5 times to create container network for attempts, subnetAddr := 0, firstSubnetAddr(subnet); attempts < 5; attempts++ { // Rather than iterate through all of the valid subnets, give up at 20 to avoid a lengthy user delay for something that is unlikely to work. // will be like 192.168.49.0/24,..., 192.168.220.0/24 (in increment steps of 9) var subnet *network.Parameters - subnet, err = network.FreeSubnet(subnetAddr, 9, 20) + subnet, err = network.FreeSubnet(subnetAddr, 9, tries) if err != nil { klog.Errorf("failed to find free subnet for %s network %s after %d attempts: %v", ociBin, networkName, 20, err) return nil, fmt.Errorf("un-retryable: %w", err) diff --git a/pkg/drivers/kic/types.go b/pkg/drivers/kic/types.go index b56bb7f914..607cf6ca1b 100644 --- a/pkg/drivers/kic/types.go +++ b/pkg/drivers/kic/types.go @@ -64,8 +64,9 @@ type Config struct { Envs map[string]string // key,value of environment variables passed to the node KubernetesVersion string // Kubernetes version to install ContainerRuntime string // container runtime kic is running - Network string // network to run with kic + Network string // network to run with kic Subnet string // subnet to be used on kic cluster + StaticIP string // static IP for the kic cluster ExtraArgs []string // a list of any extra option to pass to oci binary during creation time, for example --expose 8080... ListenAddress string // IP Address to listen to } diff --git a/pkg/minikube/config/types.go b/pkg/minikube/config/types.go index 10e6ef8a8a..7aec572b8a 100644 --- a/pkg/minikube/config/types.go +++ b/pkg/minikube/config/types.go @@ -104,6 +104,7 @@ type ClusterConfig struct { CustomQemuFirmwarePath string SocketVMnetClientPath string SocketVMnetPath string + StaticIP string } // KubernetesConfig contains the parameters used to configure the VM Kubernetes. diff --git a/pkg/minikube/reason/reason.go b/pkg/minikube/reason/reason.go index 2068f294d7..d6dd8a79ec 100644 --- a/pkg/minikube/reason/reason.go +++ b/pkg/minikube/reason/reason.go @@ -385,6 +385,8 @@ var ( IfMountPort = Kind{ID: "IF_MOUNT_PORT", ExitCode: ExLocalNetworkError} // minikube failed to access an ssh client on the host machine IfSSHClient = Kind{ID: "IF_SSH_CLIENT", ExitCode: ExLocalNetworkError} + // minikube failed to create a dedicated network + IfDedicatedNetwork = Kind{ID: "IF_DEDICATED_NETWORK", ExitCode: ExLocalNetworkError} // minikube failed to cache kubernetes binaries for the current runtime InetCacheBinaries = Kind{ID: "INET_CACHE_BINARIES", ExitCode: ExInternetError} diff --git a/pkg/minikube/registry/drvs/docker/docker.go b/pkg/minikube/registry/drvs/docker/docker.go index 001bc7fef9..fdbddb4622 100644 --- a/pkg/minikube/registry/drvs/docker/docker.go +++ b/pkg/minikube/registry/drvs/docker/docker.go @@ -88,6 +88,7 @@ func configure(cc config.ClusterConfig, n config.Node) (interface{}, error) { ExtraArgs: extraArgs, Network: cc.Network, Subnet: cc.Subnet, + StaticIP: cc.StaticIP, ListenAddress: cc.ListenAddress, }), nil } diff --git a/pkg/network/network.go b/pkg/network/network.go index 3a0e289666..26fc1ae976 100644 --- a/pkg/network/network.go +++ b/pkg/network/network.go @@ -60,6 +60,7 @@ type Parameters struct { ClientMin string // second IP address ClientMax string // last IP address before broadcast Broadcast string // last IP address + IsPrivate bool // whether the IP is private or not Interface reservation mutex.Releaser // subnet reservation has lifespan of the process: "If a process dies while the mutex is held, the mutex is automatically released." } @@ -153,6 +154,7 @@ var inspect = func(addr string) (*Parameters, error) { n.Netmask = net.IP(network.Mask).String() // dotted-decimal format ('a.b.c.d') n.Prefix, _ = network.Mask.Size() n.CIDR = network.String() + n.IsPrivate = network.IP.IsPrivate() networkIP := binary.BigEndian.Uint32(network.IP) // IP address of network networkMask := binary.BigEndian.Uint32(network.Mask) // network mask @@ -200,16 +202,6 @@ var isSubnetTaken = func(subnet string) (bool, error) { return false, nil } -// isSubnetPrivate returns if subnet is private network. -func isSubnetPrivate(subnet string) bool { - for _, ipnet := range privateSubnets { - if ipnet.Contains(net.ParseIP(subnet)) { - return true - } - } - return false -} - // IsUser returns if network is user. func IsUser(network string) bool { return network == "user" @@ -224,7 +216,7 @@ func FreeSubnet(startSubnet string, step, tries int) (*Parameters, error) { return nil, err } subnet := n.IP - if isSubnetPrivate(subnet) { + if n.IsPrivate { taken, err := isSubnetTaken(subnet) if err != nil { return nil, err diff --git a/pkg/network/network_test.go b/pkg/network/network_test.go index 0c3b53bbdc..ad1eddead4 100644 --- a/pkg/network/network_test.go +++ b/pkg/network/network_test.go @@ -24,32 +24,6 @@ import ( "github.com/juju/mutex/v2" ) -func TestIsSubnetPrivate(t *testing.T) { - tests := []struct { - subnet string - expected bool - }{ - {"9.255.255.255", false}, - {"10.0.0.0", true}, - {"10.255.255.255", true}, - {"11.0.0.0", false}, - {"172.15.255.255", false}, - {"172.16.0.0", true}, - {"172.31.255.255", true}, - {"172.32.0.0", false}, - {"192.167.255.255", false}, - {"192.168.0.0", true}, - {"192.168.255.255", true}, - {"192.169.0.0", false}, - } - for _, test := range tests { - got := isSubnetPrivate(test.subnet) - if got != test.expected { - t.Errorf("isSubnetPrivate(%q) = %t; expected = %t", test.subnet, got, test.expected) - } - } -} - func TestFreeSubnet(t *testing.T) { reserveSubnet = func(subnet string, period time.Duration) (mutex.Releaser, error) { return nil, nil } @@ -67,6 +41,11 @@ func TestFreeSubnet(t *testing.T) { t.Run("FirstSubnetTaken", func(t *testing.T) { count := 0 + originalIsSubnetTaken := isSubnetTaken + defer func() { + isSubnetTaken = originalIsSubnetTaken + }() + isSubnetTaken = func(subnet string) (bool, error) { count++ return count == 1, nil @@ -85,11 +64,17 @@ func TestFreeSubnet(t *testing.T) { t.Run("FirstSubnetIPV6NetworkFound", func(t *testing.T) { count := 0 + originalInspect := inspect + defer func() { + inspect = originalInspect + }() + inspect = func(addr string) (*Parameters, error) { count++ - p := &Parameters{IP: addr} + p := &Parameters{IP: addr, IsPrivate: true} if count == 1 { p.IP = "0.0.0.0" + p.IsPrivate = false } return p, nil } diff --git a/site/content/en/docs/commands/start.md b/site/content/en/docs/commands/start.md index 19bf2a65e9..74f3a0859c 100644 --- a/site/content/en/docs/commands/start.md +++ b/site/content/en/docs/commands/start.md @@ -111,6 +111,7 @@ minikube start [flags] --ssh-key string SSH key (ssh driver only) --ssh-port int SSH port (ssh driver only) (default 22) --ssh-user string SSH user (ssh driver only) (default "root") + --static-ip string Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only) --subnet string Subnet to be used on kic cluster. If left empty, minikube will choose subnet address, beginning from 192.168.49.0. (docker and podman driver only) --trace string Send trace events. Options include: [gcp] --uuid string Provide VM UUID to restore MAC address (hyperkit driver only) diff --git a/site/content/en/docs/contrib/errorcodes.en.md b/site/content/en/docs/contrib/errorcodes.en.md index 135242dec8..a852480d8b 100644 --- a/site/content/en/docs/contrib/errorcodes.en.md +++ b/site/content/en/docs/contrib/errorcodes.en.md @@ -358,6 +358,9 @@ minikube failed to parse or find port for mount "IF_SSH_CLIENT" (Exit code ExLocalNetworkError) minikube failed to access an ssh client on the host machine +"IF_DEDICATED_NETWORK" (Exit code ExLocalNetworkError) +minikube failed to create a dedicated network + "INET_CACHE_BINARIES" (Exit code ExInternetError) minikube failed to cache kubernetes binaries for the current runtime diff --git a/site/content/en/docs/contrib/tests.en.md b/site/content/en/docs/contrib/tests.en.md index a5fd4fe490..93b872aeca 100644 --- a/site/content/en/docs/contrib/tests.en.md +++ b/site/content/en/docs/contrib/tests.en.md @@ -455,6 +455,9 @@ verifies the docker driver and run with an existing network ## TestKicCustomSubnet verifies the docker/podman driver works with a custom subnet +## TestKicStaticIP +starts minikube with the static IP flag + ## TestingKicBaseImage will return true if the integraiton test is running against a passed --base-image flag diff --git a/site/content/en/docs/faq/_index.md b/site/content/en/docs/faq/_index.md index b65dc2520d..e7c877dd5d 100644 --- a/site/content/en/docs/faq/_index.md +++ b/site/content/en/docs/faq/_index.md @@ -160,3 +160,9 @@ $env:MINIKUBE_HOME = "D:\.minikube" minikube start ``` + +## Can I set a static IP for the minikube cluster? + +Currently a static IP can only be set when using the Docker or Podman driver. + +For more details see the [static IP tutorial]({{< ref "docs/tutorials/static_ip.md" >}}). diff --git a/site/content/en/docs/tutorials/static_ip.md b/site/content/en/docs/tutorials/static_ip.md new file mode 100644 index 0000000000..6c416f9460 --- /dev/null +++ b/site/content/en/docs/tutorials/static_ip.md @@ -0,0 +1,51 @@ +--- +title: "Setting a Static IP for a Cluster" +linkTitle: "Setting a Static IP for a Cluster" +weight: 1 +date: 2023-01-04 +--- + +## Overview + +This tutorial will show you how to create a minikube cluster with a static IP. + +## Prerequisites + +- minikube v1.29.0 or higher +- Docker or Podman driver + +## Selecting a static IP + +The static IP must be IPv4, private, and the last octet must be between 2-254 (X.X.X.2 - X.X.X.254). + +Valid static IPs:
+10.0.0.2 - 10.255.255.254
+172.16.0.2 - 172.31.255.254
+192.168.0.2 - 192.168.255.254 + +## Tutorial + +Use the `--static-ip` flag on `minikube start` to set the static IP. + +**Note:** You cannot add a static IP to an existing cluster, you have to delete and recreate the cluster with the flag. + +``` +$ minikube start --driver docker --static-ip 192.168.200.200 +😄 minikube v1.28.0 on Darwin 13.1 (arm64) +✨ Using the docker driver based on user configuration +📌 Using Docker Desktop driver with root privileges +👍 Starting control plane node minikube in cluster minikube +🚜 Pulling base image ... +🔥 Creating docker container (CPUs=2, Memory=4000MB) ... +🐳 Preparing Kubernetes v1.25.3 on Docker 20.10.21 ... + ▪ Generating certificates and keys ... + ▪ Booting up control plane ... + ▪ Configuring RBAC rules ... +🔎 Verifying Kubernetes components... + ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 +🌟 Enabled addons: default-storageclass +🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default + +$ minikube ip +192.168.200.200 +``` diff --git a/test/integration/kic_custom_network_test.go b/test/integration/kic_custom_network_test.go index 85d2822e09..322916290f 100644 --- a/test/integration/kic_custom_network_test.go +++ b/test/integration/kic_custom_network_test.go @@ -74,7 +74,7 @@ func TestKicExistingNetwork(t *testing.T) { } // create custom network networkName := "existing-network" - if _, err := oci.CreateNetwork(oci.Docker, networkName, ""); err != nil { + if _, err := oci.CreateNetwork(oci.Docker, networkName, "", ""); err != nil { t.Fatalf("error creating network: %v", err) } defer func() { @@ -117,6 +117,34 @@ func TestKicCustomSubnet(t *testing.T) { verifySubnet(ctx, t, profile, subnet) } +// TestKicStaticIP starts minikube with the static IP flag +func TestKicStaticIP(t *testing.T) { + if !KicDriver() { + t.Skip("only run with docker/podman driver") + } + profile := UniqueProfileName("static-ip") + ctx, cancel := context.WithTimeout(context.Background(), Minutes(5)) + defer Cleanup(t, profile, cancel) + + staticIP := "192.168.200.200" + startArgs := []string{"start", "-p", profile, fmt.Sprintf("--static-ip=%s", staticIP)} + c := exec.CommandContext(ctx, Target(), startArgs...) + rr, err := Run(t, c) + if err != nil { + t.Fatalf("%v failed: %v\n%v", rr.Command(), err, rr.Output()) + } + + c = exec.CommandContext(ctx, Target(), "-p", profile, "ip") + rr, err = Run(t, c) + if err != nil { + t.Fatalf("%s failed: %v\n%s", rr.Command(), err, rr.Output()) + } + + if !strings.Contains(rr.Output(), staticIP) { + t.Errorf("static IP (%s) not found in output %s", staticIP, rr.Output()) + } +} + func verifyNetworkExists(ctx context.Context, t *testing.T, networkName string) { c := exec.CommandContext(ctx, "docker", "network", "ls", "--format", "{{.Name}}") rr, err := Run(t, c) diff --git a/translations/de.json b/translations/de.json index 2b9dd592db..1899316a65 100644 --- a/translations/de.json +++ b/translations/de.json @@ -24,6 +24,8 @@ "--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "Der Parameter --network kann nur mit dem docker/podman und den KVM Treibern verwendet werden, er wird ignoriert werden", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "", "--network with QEMU must be 'user' or 'socket_vmnet'": "", + "--static-ip is only implemented on Docker and Podman drivers, flag will be ignored": "", + "--static-ip overrides --subnet, --subnet will be ignored": "", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "1) Erstellen Sie den Cluster mit Kubernetes {{.new}} neu, indem Sie folgende Befehle ausführen:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Erstellen Sie einen zweiten Cluster mit Kubernetes {{.new}}, indem Sie folgende Befehle ausführen:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Verwenden Sie den existierenden Cluster mit Version {{.old}} von Kubernetes, indem Sie folgende Befehle ausführen:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "1. Klicken Sie auf das \"Docker für Desktop\" Menu Icon\n\t\t\t2. Klicken Sie auf \"Einstellungen\"\n\t\t\t3. Klicken Sie auf \"Resourcen\"\n\t\t\t4. Erhöhen Sie den Wert von \"CPUs\" auf 2 oder mehr\n\t\t\t5. Klicken Sie auf \"Anwenden \u0026 Neustarten\"", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"Memory\" slider bar to {{.recommend}} or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "1. Klicken Sie auf das \"Docker für Desktop\" Menu Icon\n\t\t\t2. Klicken Sie auf \"Einstellungen\"\n\t\t\t3. Klicken Sie auf \"Resourcen\"\n\t\t\t4. Erhöhen Sie den Wert von \"Speicher\" auf {{.recommend}} oder mehr\n\t\t\t5. Klicken Sie auf \"Anwenden \u0026 Neustarten\"", @@ -584,6 +586,7 @@ "Select a valid value for --dnsdomain": "Wähle einen gültigen Wert für --dnsdomain", "Send trace events. Options include: [gcp]": "Schicke Trace Events. Mögliche Optionen sind [gcp]", "Service '{{.service}}' was not found in '{{.namespace}}' namespace.\nYou may select another namespace by using 'minikube service {{.service}} -n \u003cnamespace\u003e'. Or list out all the services using 'minikube service list'": "Service '{{.service}}' konnte nicht im Namespace '{{.namespace}} gefunden werden.\nEs ist möglich einen anderen Namespace mit 'minikube service {{.service}} -n \u003cnamespace\u003e' auszuwählen. Oder die Liste aller Services anzuzeigen mit 'minikube service list'", + "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)": "", "Set failed": "Setzen fehlgeschlagen", "Set flag to delete all profiles": "Setze Flag um alle Profile zu löschen", "Set flag to stop all profiles (clusters)": "Setze Flag um alle Profile (Cluster) zu stoppen", @@ -899,6 +902,7 @@ "You cannot change the CPUs for an existing minikube cluster. Please first delete the cluster.": "Die Anzahl der CPUs eines existierenden Minikube Clusters kann nicht geändert werden. Bitte löschen Sie den Cluster zuerst.", "You cannot change the disk size for an existing minikube cluster. Please first delete the cluster.": "Die Plattengröße eines existierenden Minikube Clusters kann nicht geändert werden. Bitte löschen Sie den Cluster zuerst.", "You cannot change the memory size for an existing minikube cluster. Please first delete the cluster.": "Die Speichergröße eines existierenden Minikube Clusters kann nicht geändert werden. Bitte löschen Sie den Cluster zuerst.", + "You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue.": "", "You have authenticated with a service account that does not have an associated JSON. The GCP Auth requires credentials with a JSON file to in order to continue. The image pull secret has been imported.": "Sie haben sich mit einem Service Account authentifiziert, welcher kein zugehöriges JSON besitzt. GCP Auth benötigt Zugangsdaten in einer JSON-Datei um weitermachen zu können. Das Image Pull Secret wurde importiert.", "You have chosen to disable the CNI but the \"{{.name}}\" container runtime requires CNI": "Sie haben den CNI Treiber deaktiviert, aber die \"{{.name}}\" Container Laufzeitumgebung benötigt ein CNI", diff --git a/translations/es.json b/translations/es.json index 4519be1d82..5ff53bd23a 100644 --- a/translations/es.json +++ b/translations/es.json @@ -25,6 +25,8 @@ "--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "el flag --network es válido solamente con docker/podman y KVM, será ignorado", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "", "--network with QEMU must be 'user' or 'socket_vmnet'": "", + "--static-ip is only implemented on Docker and Podman drivers, flag will be ignored": "", + "--static-ip overrides --subnet, --subnet will be ignored": "", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"Memory\" slider bar to {{.recommend}} or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", @@ -590,6 +592,7 @@ "Select a valid value for --dnsdomain": "", "Send trace events. Options include: [gcp]": "", "Service '{{.service}}' was not found in '{{.namespace}}' namespace.\nYou may select another namespace by using 'minikube service {{.service}} -n \u003cnamespace\u003e'. Or list out all the services using 'minikube service list'": "", + "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)": "", "Set failed": "", "Set flag to delete all profiles": "", "Set flag to stop all profiles (clusters)": "", @@ -899,6 +902,7 @@ "You cannot change the CPUs for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the disk size for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the memory size for an existing minikube cluster. Please first delete the cluster.": "", + "You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue.": "", "You have chosen to disable the CNI but the \"{{.name}}\" container runtime requires CNI": "", "You have selected \"virtualbox\" driver, but there are better options !\nFor better performance and support consider using a different driver: {{.drivers}}\n\nTo turn off this warning run:\n\n\t$ minikube config set WantVirtualBoxDriverWarning false\n\n\nTo learn more about on minikube drivers checkout https://minikube.sigs.k8s.io/docs/drivers/\nTo see benchmarks checkout https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/\n\n": "", diff --git a/translations/fr.json b/translations/fr.json index d0d314b443..d7184509b3 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -25,6 +25,8 @@ "--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "l'indicateur --network est valide uniquement avec les pilotes docker/podman et KVM, il va être ignoré", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "L'indicateur --network n'est valide qu'avec les pilotes docker/podman, KVM et Qemu, il sera ignoré", "--network with QEMU must be 'user' or 'socket_vmnet'": "--network avec QEMU doit être 'user' ou 'socket_vmnet'", + "--static-ip is only implemented on Docker and Podman drivers, flag will be ignored": "", + "--static-ip overrides --subnet, --subnet will be ignored": "", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete {{.profile}}\n\t\t minikube start {{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start {{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "1) Recréez le cluster avec Kubernetes {{.new}}, en exécutant :\n\t \n\t\t minikube delete {{.profile}}\n\t\t minikube start {{.profile}} - -kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Créez un deuxième cluster avec Kubernetes {{.new}}, en exécutant :\n\t \n \t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Utiliser le cluster existant à la version Kubernetes {{.old}}, en exécutant :\n\t \n\t\t minikube start {{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t \t", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "1) Recréez le cluster avec Kubernetes {{.new}}, en exécutant :\n\t \n\t\t minikube delete {{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Créez un deuxième cluster avec Kubernetes {{.new}}, en exécutant :\n\t \n \t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Utiliser le cluster existant à la version Kubernetes {{.old}}, en exécutant :\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t \t", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "1. Cliquez sur l'icône de menu \"Docker for Desktop\"\n\t\t\t2. Cliquez sur \"Preferences\"\n\t\t\t3. Cliquez sur \"Ressources\"\n\t\t\t4. Augmentez la barre de défilement \"CPU\" à 2 ou plus\n\t\t\t5. Cliquez sur \"Apply \u0026 Restart\"", @@ -568,6 +570,7 @@ "Select a valid value for --dnsdomain": "Sélectionnez une valeur valide pour --dnsdomain", "Send trace events. Options include: [gcp]": "Envoyer des événements de trace. Les options incluent : [gcp]", "Service '{{.service}}' was not found in '{{.namespace}}' namespace.\nYou may select another namespace by using 'minikube service {{.service}} -n \u003cnamespace\u003e'. Or list out all the services using 'minikube service list'": "Le service '{{.service}}' n'a pas été trouvé dans l'espace de noms '{{.namespace}}'.\nVous pouvez sélectionner un autre espace de noms en utilisant 'minikube service {{.service}} -n \u003cnamespace\u003e'. Ou répertoriez tous les services à l'aide de 'minikube service list'", + "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)": "", "Set failed": "Échec de la définition", "Set flag to delete all profiles": "Définir un indicateur pour supprimer tous les profils", "Set flag to stop all profiles (clusters)": "Définir un indicateur pour arrêter tous les profils (clusters)", @@ -872,6 +875,7 @@ "You cannot change the CPUs for an existing minikube cluster. Please first delete the cluster.": "Vous ne pouvez pas modifier les processeurs d'un cluster minikube existant. Veuillez d'abord supprimer le cluster.", "You cannot change the disk size for an existing minikube cluster. Please first delete the cluster.": "Vous ne pouvez pas modifier la taille du disque pour un cluster minikube existant. Veuillez d'abord supprimer le cluster.", "You cannot change the memory size for an existing minikube cluster. Please first delete the cluster.": "Vous ne pouvez pas modifier la taille de la mémoire d'un cluster minikube existant. Veuillez d'abord supprimer le cluster.", + "You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue.": "Vous vous êtes authentifié avec un compte de service qui n'a pas de fichier JSON associé. Le module complémentaire GCP Auth nécessite des informations d'identification avec un fichier JSON pour continuer.", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue. The image pull secret has been imported.": "Vous vous êtes authentifié avec un compte de service qui n'a pas de fichier JSON associé. Le module complémentaire GCP Auth nécessite des informations d'identification avec un fichier JSON pour continuer. Le secret d'extraction d'image a été importé.", "You have authenticated with a service account that does not have an associated JSON. The GCP Auth requires credentials with a JSON file in order to continue. The image pull secret has been imported.": "Vous vous êtes authentifié avec un compte de service qui n'a pas de fichier JSON associé. L'authentification GCP nécessite des informations d'identification avec un fichier JSON pour continuer. Le secret d'extraction d'image a été importé.", diff --git a/translations/ja.json b/translations/ja.json index eba240747d..66e7534396 100644 --- a/translations/ja.json +++ b/translations/ja.json @@ -24,6 +24,8 @@ "--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "--network フラグは、docker/podman および KVM ドライバーでのみ有効であるため、無視されます", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "--network フラグは、docker/podman, KVM および Qemu ドライバーでのみ有効であるため、無視されます", "--network with QEMU must be 'user' or 'socket_vmnet'": "QEMU を用いる場合、--network は、'user' か 'socket_vmnet' でなければなりません", + "--static-ip is only implemented on Docker and Podman drivers, flag will be ignored": "", + "--static-ip overrides --subnet, --subnet will be ignored": "", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "1) 次のコマンドで Kubernetes {{.new}} によるクラスターを再構築します:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) 次のコマンドで Kubernetes {{.new}} による第 2 のクラスターを作成します:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) 次のコマンドで Kubernetes {{.old}} による既存クラスターを使用します:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "1. 「Docker for Desktop」メニューアイコンをクリックします\n\t\t\t2. 「Preferences」をクリックします\n\t\t\t3. 「Resources」をクリックします\n\t\t\t4. 「CPUs」スライドバーを 2 以上に増やします\n\t\t\t5. 「Apply \u0026 Restart」をクリックします", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"Memory\" slider bar to {{.recommend}} or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "1. 「Docker for Desktop」メニューアイコンをクリックします\n\t\t\t2. 「Preferences」をクリックします\n\t\t\t3. 「Resources」をクリックします\n\t\t\t4. 「Memory」スライドバーを {{.recommend}} 以上に増やします\n\t\t\t5. 「Apply \u0026 Restart」をクリックします", @@ -550,6 +552,7 @@ "Select a valid value for --dnsdomain": "--dnsdomain に有効な値を選択してください", "Send trace events. Options include: [gcp]": "トレースイベントを送信します。含まれるオプション: [gcp]", "Service '{{.service}}' was not found in '{{.namespace}}' namespace.\nYou may select another namespace by using 'minikube service {{.service}} -n \u003cnamespace\u003e'. Or list out all the services using 'minikube service list'": "'{{.namespace}}' ネームスペース中に '{{.service}}' サービスが見つかりませんでした。\n'minikube service {{.service}} -n \u003cnamespace\u003e' を使って別のネームスペースを選択できます。または、'minikube service list' を使って全サービスを一覧表示してください", + "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)": "", "Set failed": "設定に失敗しました", "Set flag to delete all profiles": "全プロファイルを削除します", "Set flag to stop all profiles (clusters)": "全プロファイル (クラスター) を停止します", @@ -835,6 +838,7 @@ "You cannot change the CPUs for an existing minikube cluster. Please first delete the cluster.": "既存の minikube クラスターに対して、CPU を変更できません。最初にクラスターを削除してください。", "You cannot change the disk size for an existing minikube cluster. Please first delete the cluster.": "既存の minikube クラスターに対して、ディスクサイズを変更できません。最初にクラスターを削除してください。", "You cannot change the memory size for an existing minikube cluster. Please first delete the cluster.": "既存の minikube クラスターに対して、メモリサイズを変更できません。最初にクラスターを削除してください。", + "You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue. The image pull secret has been imported.": "関連する JSON ファイルがないサービスアカウントで認証しています。GCP Auth アドオンは、作業を続行するために JSON ファイル付きクレデンシャルを要求します。イメージ取得シークレットがインポートされました。", "You have chosen to disable the CNI but the \"{{.name}}\" container runtime requires CNI": "CNI 無効が選択されましたが、「{{.name}}」コンテナランタイムは CNI が必要です", diff --git a/translations/ko.json b/translations/ko.json index d3e6100f6c..5290809051 100644 --- a/translations/ko.json +++ b/translations/ko.json @@ -29,6 +29,8 @@ "--kvm-numa-count range is 1-8": "--kvm-numa-count 범위는 1부터 8입니다", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "--network 는 docker나 podman 에서만 유효합니다. KVM이나 Qemu 드라이버에서는 인자가 무시됩니다", "--network with QEMU must be 'user' or 'socket_vmnet'": "", + "--static-ip is only implemented on Docker and Podman drivers, flag will be ignored": "", + "--static-ip overrides --subnet, --subnet will be ignored": "", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"Memory\" slider bar to {{.recommend}} or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", @@ -600,6 +602,7 @@ "Select a valid value for --dnsdomain": "", "Send trace events. Options include: [gcp]": "", "Service '{{.service}}' was not found in '{{.namespace}}' namespace.\nYou may select another namespace by using 'minikube service {{.service}} -n \u003cnamespace\u003e'. Or list out all the services using 'minikube service list'": "", + "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)": "", "Set failed": "설정이 실패하였습니다", "Set flag to delete all profiles": "", "Set flag to stop all profiles (clusters)": "", @@ -898,6 +901,7 @@ "You cannot change the CPUs for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the disk size for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the memory size for an existing minikube cluster. Please first delete the cluster.": "", + "You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue.": "", "You have chosen to disable the CNI but the \"{{.name}}\" container runtime requires CNI": "", "You have selected \"virtualbox\" driver, but there are better options !\nFor better performance and support consider using a different driver: {{.drivers}}\n\nTo turn off this warning run:\n\n\t$ minikube config set WantVirtualBoxDriverWarning false\n\n\nTo learn more about on minikube drivers checkout https://minikube.sigs.k8s.io/docs/drivers/\nTo see benchmarks checkout https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/\n\n": "", diff --git a/translations/pl.json b/translations/pl.json index 12da014204..7c94161ea3 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -28,6 +28,8 @@ "--kvm-numa-count range is 1-8": "", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "", "--network with QEMU must be 'user' or 'socket_vmnet'": "", + "--static-ip is only implemented on Docker and Podman drivers, flag will be ignored": "", + "--static-ip overrides --subnet, --subnet will be ignored": "", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"Memory\" slider bar to {{.recommend}} or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", @@ -602,6 +604,7 @@ "Select a valid value for --dnsdomain": "", "Send trace events. Options include: [gcp]": "", "Service '{{.service}}' was not found in '{{.namespace}}' namespace.\nYou may select another namespace by using 'minikube service {{.service}} -n \u003cnamespace\u003e'. Or list out all the services using 'minikube service list'": "", + "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)": "", "Set failed": "", "Set flag to delete all profiles": "", "Set flag to stop all profiles (clusters)": "", @@ -910,6 +913,7 @@ "You cannot change the CPUs for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the disk size for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the memory size for an existing minikube cluster. Please first delete the cluster.": "", + "You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue.": "", "You have chosen to disable the CNI but the \"{{.name}}\" container runtime requires CNI": "", "You have selected \"virtualbox\" driver, but there are better options !\nFor better performance and support consider using a different driver: {{.drivers}}\n\nTo turn off this warning run:\n\n\t$ minikube config set WantVirtualBoxDriverWarning false\n\n\nTo learn more about on minikube drivers checkout https://minikube.sigs.k8s.io/docs/drivers/\nTo see benchmarks checkout https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/\n\n": "", diff --git a/translations/ru.json b/translations/ru.json index 38f5f6f2b0..a366b53fcb 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -23,6 +23,8 @@ "--kvm-numa-count range is 1-8": "", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "", "--network with QEMU must be 'user' or 'socket_vmnet'": "", + "--static-ip is only implemented on Docker and Podman drivers, flag will be ignored": "", + "--static-ip overrides --subnet, --subnet will be ignored": "", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "1) Пересоздайте кластер с Kubernetes {{.new}}, выполнив:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Создайье второй кластер с Kubernetes {{.new}}, выполнив:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Используйте существующий кластер с версией Kubernetes {{.old}}, выполнив:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "1. Кликните на иконку \"Docker for Desktop\"\n\t\t\t2. Выберите \"Preferences\"\n\t\t\t3. Нажмите \"Resources\"\n\t\t\t4. Увеличьте кол-во \"CPUs\" до 2 или выше\n\t\t\t5. Нажмите \"Apply \u0026 Перезапуск\"", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"Memory\" slider bar to {{.recommend}} or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "1. Кликните на иконку \"Docker for Desktop\"\n\t\t\t2. Выберите \"Preferences\"\n\t\t\t3. Нажмите \"Resources\"\n\t\t\t4. Увеличьте кол-во \"emory\" до {{.recommend}} или выше\n\t\t\t5. Нажмите \"Apply \u0026 Перезапуск\"", @@ -548,6 +550,7 @@ "Select a valid value for --dnsdomain": "", "Send trace events. Options include: [gcp]": "", "Service '{{.service}}' was not found in '{{.namespace}}' namespace.\nYou may select another namespace by using 'minikube service {{.service}} -n \u003cnamespace\u003e'. Or list out all the services using 'minikube service list'": "", + "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)": "", "Set failed": "", "Set flag to delete all profiles": "", "Set flag to stop all profiles (clusters)": "", @@ -831,6 +834,7 @@ "You cannot change the CPUs for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the disk size for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the memory size for an existing minikube cluster. Please first delete the cluster.": "", + "You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue.": "", "You have chosen to disable the CNI but the \"{{.name}}\" container runtime requires CNI": "", "You have selected \"virtualbox\" driver, but there are better options !\nFor better performance and support consider using a different driver: {{.drivers}}\n\nTo turn off this warning run:\n\n\t$ minikube config set WantVirtualBoxDriverWarning false\n\n\nTo learn more about on minikube drivers checkout https://minikube.sigs.k8s.io/docs/drivers/\nTo see benchmarks checkout https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/\n\n": "", diff --git a/translations/strings.txt b/translations/strings.txt index 6c1d0abed0..96b20fc9db 100644 --- a/translations/strings.txt +++ b/translations/strings.txt @@ -23,6 +23,8 @@ "--kvm-numa-count range is 1-8": "", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "", "--network with QEMU must be 'user' or 'socket_vmnet'": "", + "--static-ip is only implemented on Docker and Podman drivers, flag will be ignored": "", + "--static-ip overrides --subnet, --subnet will be ignored": "", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"Memory\" slider bar to {{.recommend}} or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", @@ -548,6 +550,7 @@ "Select a valid value for --dnsdomain": "", "Send trace events. Options include: [gcp]": "", "Service '{{.service}}' was not found in '{{.namespace}}' namespace.\nYou may select another namespace by using 'minikube service {{.service}} -n \u003cnamespace\u003e'. Or list out all the services using 'minikube service list'": "", + "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)": "", "Set failed": "", "Set flag to delete all profiles": "", "Set flag to stop all profiles (clusters)": "", @@ -831,6 +834,7 @@ "You cannot change the CPUs for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the disk size for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the memory size for an existing minikube cluster. Please first delete the cluster.": "", + "You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue.": "", "You have chosen to disable the CNI but the \"{{.name}}\" container runtime requires CNI": "", "You have selected \"virtualbox\" driver, but there are better options !\nFor better performance and support consider using a different driver: {{.drivers}}\n\nTo turn off this warning run:\n\n\t$ minikube config set WantVirtualBoxDriverWarning false\n\n\nTo learn more about on minikube drivers checkout https://minikube.sigs.k8s.io/docs/drivers/\nTo see benchmarks checkout https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/\n\n": "", diff --git a/translations/zh-CN.json b/translations/zh-CN.json index b3d8ef157a..e6c6618636 100644 --- a/translations/zh-CN.json +++ b/translations/zh-CN.json @@ -31,6 +31,8 @@ "--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "--network 标识仅对 docker/podman 和 KVM 驱动程序有效,它将被忽略", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "", "--network with QEMU must be 'user' or 'socket_vmnet'": "", + "--static-ip is only implemented on Docker and Podman drivers, flag will be ignored": "", + "--static-ip overrides --subnet, --subnet will be ignored": "", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"Memory\" slider bar to {{.recommend}} or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "", @@ -684,6 +686,7 @@ "Selecting '{{.driver}}' driver from user configuration (alternates: {{.alternates}})": "从用户配置中选择 {{.driver}}' 驱动程序(可选:{{.alternates}})", "Send trace events. Options include: [gcp]": "", "Service '{{.service}}' was not found in '{{.namespace}}' namespace.\nYou may select another namespace by using 'minikube service {{.service}} -n \u003cnamespace\u003e'. Or list out all the services using 'minikube service list'": "", + "Set a static IP for the minikube cluster, the IP must be: private, IPv4, and the last octet must be between 2 and 254, for example 192.168.200.200 (Docker and Podman drivers only)": "", "Set failed": "", "Set flag to delete all profiles": "设置标志以删除所有配置文件", "Set flag to stop all profiles (clusters)": "", @@ -1018,6 +1021,7 @@ "You cannot change the CPUs for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the disk size for an existing minikube cluster. Please first delete the cluster.": "", "You cannot change the memory size for an existing minikube cluster. Please first delete the cluster.": "", + "You cannot change the static IP of an existing minikube cluster. Please first delete the cluster.": "", "You have authenticated with a service account that does not have an associated JSON file. The GCP Auth addon requires credentials with a JSON file in order to continue.": "", "You have chosen to disable the CNI but the \"{{.name}}\" container runtime requires CNI": "", "You have selected \"virtualbox\" driver, but there are better options !\nFor better performance and support consider using a different driver: {{.drivers}}\n\nTo turn off this warning run:\n\n\t$ minikube config set WantVirtualBoxDriverWarning false\n\n\nTo learn more about on minikube drivers checkout https://minikube.sigs.k8s.io/docs/drivers/\nTo see benchmarks checkout https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/\n\n": "",