Dans Kubernetes, il est possible de rendre un service exécuté dans un cluster accessible en externe en exécutant kubectl expose deployment
. Pourquoi le déploiement par opposition au service est au-delà de ma compréhension simplet. Cela mis à part, je voudrais également pouvoir annuler cette opération par la suite. Imaginez un scénario dans lequel j'ai besoin d'accéder au service qui n'est normalement accessible qu'à l'intérieur du cluster à des fins de débogage, puis de restaurer la situation d'origine.
Est-il possible de supprimer ce déploiement et de le créer à nouveau?
PS. En fait, la suppression du service et du déploiement n'aide pas. La recréation du service et du déploiement avec le même nom entraînera l'exposition du service.
En supposant que vous ayez un déploiement appelé hello-world et que vous fassiez un exposé kubectl comme suit:
kubectl expose deployment hello-world --type=ClusterIP --name=my-service
cela créera un service appelé my-service, qui rendra votre déploiement accessible pour le débogage, comme vous l'avez décrit.
Pour afficher des informations sur le service:
kubectl get services my-service
Pour supprimer ce service lorsque vous avez terminé le débogage:
kubectl delete service my-service
Maintenant, votre déploiement n'est pas exposé.