在执行kubectl apply命令之前,使用helm template生成清单文件并将其与kubectl生成的清单文件进行比较。
示例代码:
1.使用helm template生成清单文件:
helm template RELEASE_NAME CHART_PATH --output-dir=./
注:RELEASE_NAME是释放名称,CHART_PATH是图表路径,./为输出目录。
2.使用kubectl生成清单文件:
kubectl get deployment DEPLOYMENT_NAME --namespace=NAMESPACE_NAME -o yaml > deployment.yaml
注:DEPLOYMENT_NAME是部署名称,NAMESPACE_NAME是名称空间名称。
3.比较两个清单文件:
diff deployment.yaml ./RELEASE_NAME/templates/deployment.yaml
将deployment.yaml替换为使用kubectl生成的清单文件,./RELEASE_NAME/templates/deployment.yaml替换为使用helm template生成的清单文件。
如果两个文件不同,使用diff命令会列出其中的不同之处。如果它们相同,部署应该正常运行。
注:如果清单文件包含标记(如generation)或注释,每次重新生成清单文件时它们可能会更改,因此在比较时会出现差异。因此,最好在应用清单之前删除这些标记和注释。