I am trying to deploy my app to Kubernetes running in Google Container Engine.
The app can be found at: https://github.com/Industrial/docker-znc.
The Dockerfile is built into an image on Google Container Registry.
I have deployed the app in Kubernetes via the + button. I don't have the YAML for this.
I have inserted a Secret in Kubernetes for the PEM file required by the app.
- How do I get the YAML for the Deployment, Service and Pod created by Kubernetes by filling in the form?
- How do I get the Secret into my Pod for usage?
Use this command to get yaml format of your service
kubectl get service servicename -o yaml
You can put it in some file also
kubectl get service servicename -o yaml >service.yaml
With the command above, any resource defined in Kubernetes can be exported in
YAML
format.Answering @Sinaesthetic question:
The problem with this method is that export doesn't include the namespace. So if you want to export many resources at the same time, I recommend doing it per namespace:
Unfortunately kubernetes still doesn't support a true get all command, so you need to list manually the type of resources you want to export. You can get a list of resource types with
To get the yaml for a deployment (service, pod, secret, etc):
The same issue is discussed at kubernetes GitHub issues page and the user "alahijani" made a bash script that exports all yaml and writes them to single files and folders.
Since this question ranks well on Google and since I found that solution very good, I represent it here.
Bash script exporting yaml to sub-folders:
Another user "acondrat" made a script that do not use directories, which makes it easy to make a
kubectl apply -f
later.Bash script exporting yaml to current folder:
The last script does not include service account.