如何更新使用kubernetes清单创建的所有资源?

如何更新使用kubernetes清单创建的所有资源?,kubernetes,Kubernetes,我使用kubernetes清单文件来部署代码。我的清单通常包含许多内容,如部署、服务、入口等。。如何对应用于清单的所有内容执行“卷展”或“重新启动”类型 我知道我可以通过运行来更新部署 kubectl rollout restart deployment <deployment name> kubectl卷展栏重新启动部署 但如果我需要更新入口/服务等所有资源,该怎么办?这一切可以一起完成吗?我建议您将清单存储在一个目录中,例如部署、服务和入口,例如 然后使用kubectl a

我使用kubernetes清单文件来部署代码。我的清单通常包含许多内容,如部署、服务、入口等。。如何对应用于清单的所有内容执行“卷展”或“重新启动”类型

我知道我可以通过运行来更新部署

kubectl rollout restart deployment <deployment name> 
kubectl卷展栏重新启动部署

但如果我需要更新入口/服务等所有资源,该怎么办?这一切可以一起完成吗?

我建议您将清单存储在一个目录中,例如
部署
服务
入口
,例如

然后使用
kubectl apply
将这些文件“应用”到Kubernetes,例如:

kubectl apply -f <directory>/
kubectl应用-f/
请参阅有关的详细信息

当你的<代码>部署<代码>被这样更新时,你的吊舱将在新的版本中被替换为滚动部署(你可以配置为使用另一个部署策略)。

这是一个社区wiki的答案,所以可以自由地编辑它并添加任何你认为重要的附加细节。 正如他在评论中所建议的,您可以简单地使用:

kubectl apply -f your-manifest.yaml
它会将您在清单文件中所做的所有更改应用于已部署的资源

但是,请注意,运行:

kubectl rollout restart -f your-manifest.yaml
由于此文件包含无法应用
kubectl卷展栏重新启动的
服务等资源的定义,因此意义不大。因此,您将看到以下错误:

$ kubectl rollout restart -f deployment-and-service.yaml
deployment.apps/my-nginx restarted
error: services "my-nginx" restarting is not supported
因此,如您所见,完全可以对包含支持此操作和不支持此操作的资源定义的文件运行
kubectl rollout restart

相反,运行
kubectl apply
将更新清单中定义已更改的所有资源:

$ kubectl apply -f deployment-and-service.yaml
deployment.apps/my-nginx configured
service/my-nginx configured

您可以使用
kubectl apply
将清单文件中的更改反映到资源中。好的-这很有意义。当我应用
kubectl apply-f my deployment.yaml时,如何配置“滚动”部署?这是默认行为