Kubernetes 使kubectl在ansible中应用命令幂等元

Kubernetes 使kubectl在ansible中应用命令幂等元,kubernetes,ansible,Kubernetes,Ansible,我想通过集群内的连续资源应用程序来配置集群 在某个时间点,我想应用nginx部署,该部署适合创建基于nginx的部署,因此我想在shell中运行以下命令: kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.0/deploy/static/mandatory.yaml 我的问题是如何使这个幂等元,即当资源存在时不失败 k8sansible是否适用于此?kubectl app

我想通过集群内的连续资源应用程序来配置集群

在某个时间点,我想应用
nginx
部署,该部署适合创建基于
nginx
的部署,因此我想在shell中运行以下命令:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.0/deploy/static/mandatory.yaml
我的问题是如何使这个幂等元,即当资源存在时不失败


k8s
ansible
是否适用于此?

kubectl apply
如果资源已存在,则不会抛出错误。它适合你的需要<如果资源存在,code>kubectl create将抛出错误

如果资源已经存在,kubectl apply不会抛出错误。它适合你的需要<如果资源存在,code>kubectl create将抛出错误

@Shashank V的回答是正确的,但我想借助官方文件的帮助对其进行一点扩展

通过定义Kubernetes资源的文件管理应用程序。它通过运行
kubectl apply
创建和更新集群中的资源。这是在生产环境中管理Kubernetes应用程序的推荐方法。看

可以找到定义、用法和标志:

按文件名或标准输入将配置应用于资源。资源 必须指定名称。如果没有,则将创建此资源 还没有。要使用
apply
,请始终首先使用
apply
create--save config


我希望它能让这个话题更清楚。

@Shashank V的回答是正确的,但我想借助官方文件的帮助,对它进行一点扩展

通过定义Kubernetes资源的文件管理应用程序。它通过运行
kubectl apply
创建和更新集群中的资源。这是在生产环境中管理Kubernetes应用程序的推荐方法。看

可以找到定义、用法和标志:

按文件名或标准输入将配置应用于资源。资源 必须指定名称。如果没有,则将创建此资源 还没有。要使用
apply
,请始终首先使用
apply
create--save config


我希望它能让主题更清晰。

除非你在你的Ansible任务中没有对Kubernetes做太多的工作,否则该模块确实会更好地供你使用。由于它需要
openshift
Python模块依赖关系,如果您计划结合使用Ansible和Kubernetes做更多工作,那么成本效益会更好。除非您在Ansible任务中没有使用Kubernetes做太多工作,否则该模块对于您的使用确实会更好。由于它需要
openshift
Python模块依赖关系,如果您计划结合使用Ansible和Kubernetes做更多工作,那么成本效益会更好。