J'essaie de déployer mon application sur Kubernetes fonctionnant sous moteur de conteneur Google . .
L'application peut être trouvée à: https://github.com/Industrial/docker-znc .
Le Dockerfile est intégré à une image du registre de conteneurs Google .
J'ai déployé l'application dans Kubernetes via le bouton +. Je n'ai pas le YAML pour ça.
J'ai inséré un secret dans Kubernetes pour le fichier PEM requis par le app.
Pour obtenir le yaml pour un déploiement (service, pod, secret, etc.):
kubectl get deploy deploymentname -o yaml --export
pour la 2ème question concernant le secret, cela provient de la documentation de k8s. voir https://kubernetes.io/docs/concepts/configuration/secret/#using-secrets pour plus d'informations.
J'ai utilisé cela et cela fonctionne bien.
Comment puis-je obtenir le YAML pour le déploiement, le service et le pod créé par Kubernetes en remplissant le formulaire?
kubectl get deployment,service,pod yourapp -o yaml --export
Répondant à la question @esthétique:
aucune idée de comment le faire pour le cluster complet (tous les déploiements)?
kubectl get deploy --all-namespaces -o yaml --export
Le problème avec cette méthode est que export n'inclut pas l'espace de nom. Donc, si vous voulez exporter plusieurs ressources en même temps, je vous recommande de le faire par espace de noms:
kubectl get deploy,sts,svc,configmap,secret -n default -o yaml --export > default.yaml
Malheureusement, kubernetes ne supporte toujours pas un vrai obtenir tout commande, vous devez donc lister manuellement le type de ressources que vous voulez exporter. Vous pouvez obtenir une liste des types de ressources avec
kubectl api-resources
Utilisez cette commande pour obtenir le format yaml de votre service
kubectl get service servicename -o yaml
Vous pouvez aussi le mettre dans un fichier
kubectl get service servicename -o yaml >service.yaml