1.导出某个Deployment的YAML文件
<deployment-name>是您想要导出的Deployment的名称,此命令将导出Deployment的完整YAML文件,包括所有注释和注释行
kubectl get deployment <deployment-name> -n <namespace> -o yaml > <deployment-name>.yaml
2.只想导出Deployment的规范部分
kubectl get deployment <deployment-name> -n <namespace> -o yaml | grep -v '^\s*#' > <deployment-name>.yaml
3.导出某个daemonSet pod 的ymal 文件
<daemonSet-name>是您想要导出的daemonSet的名称
<namespace>是该daemonSet所在的命名空间
<filename>是您想要保存的本地文件名
kubectl get daemonSet <daemonSet-name> -n <namespace> -o yaml > <filename>.yaml
4.导出某个ingress pod 的 yaml 文件
Ingress并不是一个Pod,而是一个Kubernetes资源对象,用于管理HTTP(S)流量的路由。因此,您不能像导出Pod YAML文件那样导出Ingress YAML文件。
<ingress-name>是您想要导出的Ingress的名称
<namespace>是该Ingress所在的命名空间
<filename>是您想要保存的本地文件名
kubectl get ingress -A -o wide
kubectl get ingress <ingress-name> -n <namespace> -o yaml > <filename>.yaml
5.导出某个service pod 的ymal 文件
<service-name>为要导出的service的名称
<service-name>.yaml为导出的yaml文件的文件名
kubectl get service <service-name> -n <namespace> -o yaml > <service-name>.yaml
6.导出某个pod的yaml文件
kubectl get pod <pod-name> -n <namespace> -o yaml > <pod-name>.yaml
7.导出某个CronJob pod 的ymal 文件
kubectl get cronjob <cronjob-name> -n <namespace> -o yaml > <cronjob-name>.yaml
8.导出CronJob中的Pod的yaml文件
kubectl get pods -l job-name=<cronjob-name> 命令获取到所有与该CronJob相关的Pod的名称和时间戳
kubectl get pod -l job-name=<cronjob-name>-<timestamp> -n <namespace> -o yaml > <pod-name>.yaml
9.导出secret中的yaml文件
kubectl get secret <secret-name> -n <namespace> -o yaml > <secret-name>.yaml