web-dev-qa-db-fra.com

Comment puis-je dévoiler (annuler l'exposition) le service?

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.

12
wvxvw

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é.

17
Lindsay Landry