Comments (3)
@medyagh @spowelljr
I guess the reason is like this:
at pkg/drivers/kic/kic.go:180, oci.PrepareContainerNode
was called, before the extraction of preload tarball (which happens at pkg/drivers/kic/kic.go:187, 7 lines after oci.PrepareContainerNode was called)
Under this circumstance:
oci.PrepareContainerNode
will try to runprepareVolumeSideCar
, which will start a kicbase container.- But at this time the preload has not been extracted, so docker will try to pull image via gcr.io or dockerhub
- In China mainland, pulling kicbase via gcr.io or dockerhub will fail due to GFW, so the start process fails
Does this make sense?
BTW I think I was wrong about the reason why preload was not used in China mainland. It seems that it was not proxy. And this seems to be the actual reason why preload never works in China mainland
from minikube.
@ComradeProgrammer I don't think this is the issue. oci.PrepareContainerNode
creates the minikube
and minikube-preload-sidecar
. Once that's done it extracts the preloads to the volume created in oci.PrepareContainerNode
.
oci.PrepareContainerNode:
docker volume create minikube --label name.minikube.sigs.k8s.io=minikube --label created_by.minikube.sigs.k8s.io=true
docker run --rm --name minikube-preload-sidecar --label created_by.minikube.sigs.k8s.io=true --label name.minikube.sigs.k8s.io=minikube --entrypoint /usr/bin/test -v minikube:/var docker.io/kicbase/build:v0.0.44-1721064868-19249@sha256:f2789f25c9e51cdeb9cef760e15dc838ef08abd5bb1913311c1eabedda231e8c -d /var/lib
oci.ExtractTarballToVolume:
docker run --rm --entrypoint /usr/bin/tar -v /Users/powellsteven/.minikube/cache/preloaded-tarball/preloaded-images-k8s-v18-v1.30.2-docker-overlay2-arm64.tar.lz4:/preloaded.tar:ro -v minikube:/extractDir docker.io/kicbase/build:v0.0.44-1721064868-19249@sha256:f2789f25c9e51cdeb9cef760e15dc838ef08abd5bb1913311c1eabedda231e8c -I lz4 -xf /preloaded.tar -C /extractDir
I assume you're referencing the log docker run --rm --name minikube-preload-sidecar
, that's called in oci.PrepareContainerNode
, not oci.ExtractTarballToVolume
. In the logs above the user never even hits oci.ExtractTarballToVolume
because because creating the volume with the kicbase fails first.
from minikube.
So accoding to the discussion on Wednesday
- it seems that the reason was indeed caused by failing to pull kicbase, and preload does not include the kicbase image.
- one of the possible way to solve it:
-
- to solve it is to provide a tarball of kicbase during the minikube release
-
- allow minikube to download and verify the tarball to load the kicbase image from github
if this is ok I am going to start having a try on this
@medyagh @spowelljr
- allow minikube to download and verify the tarball to load the kicbase image from github
from minikube.
Related Issues (20)
- Unable to enable registry add-on. HOT 3
- unable to create multinode cluster
- minikube unable to enable registry / `gcr.io/k8s-minikube/kicbase:v0.0.44` suddenly missing HOT 9
- Unable to start minikube locally HOT 1
- Registry proxy image not pullable HOT 2
- Storage provisioner image fails to pull HOT 1
- Google Container Registry (GCR) to Artifact Registry (AR) migration outage
- X Exiting due to HOST_KUBECONFIG_UPDATE: update config: get kubeconfig: decode kubeconfig from "C:\\Users\\besmi\\.kube\\config": decode data: : yaml: control characters are not allowed HOT 1
- minikube dashboard error
- problem de minikube start
- hello-node showed nothing on browser
- Problema al usar minikube con podman
- Update add
- Frequent test failures of `TestDownloadOnly/v1.31.0/json-events`
- Frequent test failures of `TestDownloadOnly/v1.31.0/kubectl`
- Frequent test failures of `TestDownloadOnly/v1.31.0/preload-exists`
- [Feature Request] add an option in `uninstall.exe` to remove all data in `C:/user/<username>/.minikube`
- Unable to enable ingress add on HOT 2
- Please run `minikube logs --file=logs.txt` and attach logs.txt to the GitHub issue.
- "warn if docker is slow" logic doesnt work HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from minikube.