kubernetes

【k8s】k8s中获取各资源类型pod的yml编排文件

2023-04-20  本文已影响0人  Bogon

kubectl 如何导出某个deployment pod 的ymal 文件?

您可以使用以下命令导出某个Deployment的YAML文件:

kubectl get deployment <deployment-name>  -n  <namespace> -o yaml   > <deployment-name>.yaml

其中,<deployment-name>是您想要导出的Deployment的名称。

注意,此命令将导出Deployment的完整YAML文件,包括所有注释和注释行。如果您只想导出Deployment的规范部分,请使用以下命令:

kubectl get deployment <deployment-name>  -n  <namespace>  -o yaml   | grep -v '^\s*#' > <deployment-name>.yaml

此命令将过滤掉所有注释行,并导出Deployment的规范部分。

kubectl 如何导出某个daemonSet pod 的ymal 文件?

您可以使用以下命令将某个daemonSet pod的yaml文件导出到本地文件系统:

kubectl get daemonSet  <daemonSet-name>  -n  <namespace> -o yaml >  <filename>.yaml

其中,<daemonSet-name>是您想要导出的daemonSet的名称,<namespace>是该daemonSet所在的命名空间,<filename>是您想要保存的本地文件名。

例如,如果要导出名为nginx的daemonSet在default命名空间中的yaml文件,并将其保存为nginx.yaml,则命令如下:

kubectl get daemonSet nginx -n default -o yaml > nginx.yaml

kubectl 如何导出某个ingress pod 的 yaml 文件?

Ingress并不是一个Pod,而是一个Kubernetes资源对象,用于管理HTTP(S)流量的路由。因此,您不能像导出Pod YAML文件那样导出Ingress YAML文件。

但是,您可以使用以下命令将某个Ingress对象的YAML文件导出到本地文件系统:

kubectl get  ingress  -A  -o wide

kubectl get ingress <ingress-name> -n <namespace> -o yaml > <filename>.yaml

其中,<ingress-name>是您想要导出的Ingress的名称,<namespace>是该Ingress所在的命名空间,<filename>是您想要保存的本地文件名。

例如,如果要导出名为my-ingress的Ingress在default命名空间中的YAML文件,并将其保存为my-ingress.yaml,则命令如下:

kubectl get ingress my-ingress -n default -o yaml > my-ingress.yaml

kubectl 如何导出某个service pod 的ymal 文件 ?

可以使用以下命令导出某个service的yaml文件:

kubectl get service <service-name>   -n <namespace>   -o yaml > <service-name>.yaml

其中,<service-name>为要导出的service的名称,<service-name>.yaml为导出的yaml文件的文件名。

如果要导出某个pod的yaml文件,可以使用以下命令:

kubectl get pod <pod-name>   -n <namespace> -o yaml > <pod-name>.yaml

其中,<pod-name>为要导出的pod的名称,<pod-name>.yaml为导出的yaml文件的文件名。

kubectl 如何导出某个CronJob pod 的ymal 文件?

可以使用以下命令导出某个CronJob的yaml文件:

kubectl get cronjob <cronjob-name>   -n <namespace>   -o yaml > <cronjob-name>.yaml

其中,<cronjob-name>为要导出的CronJob的名称,<cronjob-name>.yaml为导出的yaml文件的文件名。

要导出CronJob中的Pod的yaml文件,可以使用以下命令:

kubectl get pod -l job-name=<cronjob-name>-<timestamp>   -n <namespace>  -o yaml > <pod-name>.yaml

其中,<cronjob-name>为CronJob的名称,<timestamp>为Pod的时间戳,<pod-name>.yaml为导出的yaml文件的文件名。可以通过 kubectl get pods -l job-name=<cronjob-name> 命令获取到所有与该CronJob相关的Pod的名称和时间戳。

上一篇 下一篇

猜你喜欢

热点阅读