Image showing 4 étapes faciles pour utiliser des images docker locales avec Minikube

4 étapes faciles pour utiliser des images docker locales avec Minikube

affiliate best offer

J’ai déjà partagé un court tutoriel sur Minikube, et pendant que je l’utilisais, j’ai pensé que je réutiliserais mes images locales directement, sans télécharger et puis les télécharger à nouveau.

Deux choses que j’ai essayées (et qui n’ont pas fonctionné)

Importez les images en utilisant kubectl

J’ai d’abord nettoyé les instances de minikube et recommencé à zéro pour m’assurer qu’il n’y a pas de collision.

kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989
kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 imagePullPolicy=Never

Et la sortie était :

NAME                    READY     STATUS              RESTARTS   AGE
hdfs-2425930030-q0sdl   0/1       ContainerCreating   0          10m

Comme vous le voyez, il reste bloqué sur un certain statut mais n’atteint jamais l’état prêt.

Créer un registre local

L’idée ici est de créer un registre local et d’y mettre mes images. Avec cela, je n’ai pas besoin de télécharger puis de télécharger mes images.

Cela n’a pas fonctionné non plus.

La solution

La solution consistait à utiliser le eval $(minikube docker-env).

Les étapes sont :

Etape 1 : Définissez les variables d’environnement

Pour définir vos variables d’environnement, utilisez la commande :

eval $(minikube docker-env)

Etape 2 : Construire l’image avec le démon de minikube

Pour construire l’image, utilisez cette commande :

docker build -t my-image

De la source, remplacez my-image par le nom de votre image.

Étape 3 : Définir l’image dans le pod Kubernetes

Utilisez la balise dans le pod kubernetes. Par exemple : my-image

### Étape 4 : Dites à Kubernetes de ne plus télécharger l’image

Pour y parvenir, vous devez utiliser le imagePullPolicy à Never.

Plus d’informations ici : Comment définir imagePullPolicy sur jamais.

Astuces et pillfalls

Exécutez la commande env dans tous vos terminaux

Assurez-vous d’exécuter le eval $(minikube docker-env) dans tous vos terminaux. Vous aurez les variables d’environnement dans chacun d’eux.

Si ce n’est pas le cas, certaines commandes peuvent échouer en raison de l’absence de ces variables.

Si vous fermez votre terminal, relancez eval $(minikube docker-env)

Une fois que vous fermez votre terminal, les variables d’environnement sont effacées.

Si vous construisez ensuite vos images, elles ne seront pas mises à jour dans minikube. Vous penserez que cela ne fonctionne pas, mais c’est parce que les variables d’environnement ne sont pas là.

Quitter minikube ?

Si vous voulez quitter minikube, lancez cette commande :

eval $(minikube docker-env -u)

Conclusion

Ce tutoriel vous montre comment vous pouvez utiliser votre image locale avec minikube sans les télécharger puis les télécharger.

Attention aux pièges.

Une fois que vous avez utilisé vos images locales, vous souhaiterez peut-être exposer les ports de services pour y accéder. Ce tutoriel vous montre comment.

Références

Ce fichier Lisezmoi

Cette publication sur stackoverflow

You might also like these blog posts

Full Bright

Full Bright

A professional and sympathic business man.

Contact

Contact Us

To order one of our services, navigate to the order service page

Address

10 rue de Penthièvre,
75008 Paris

Email Us

hello at bright-softwares dot com

Open Hours

Monday - Friday
9:00AM - 05:00PM