删除部署/复制控制器openshift cli

删除部署/复制控制器openshift cli,openshift,kubernetes,Openshift,Kubernetes,是否有办法使用cli删除以前的部署 当我成功运行oc import image$APPLICATION时,会出现一个带有RC的新部署,在几次运行后,我达到了RC max,必须手动删除以前的部署 是否有类似于oc delete rc$APPLICATION-$($DEPLOYMENT\u NUMBER-1))的脚本?我使用以下代码创建了一个(快速)解决方案 # DEPLOYMENT_COUNT will be the number of deployments DEPLOYMENT_COUNT=`

是否有办法使用cli删除以前的部署

当我成功运行
oc import image$APPLICATION
时,会出现一个带有RC的新部署,在几次运行后,我达到了RC max,必须手动删除以前的部署


是否有类似于
oc delete rc$APPLICATION-$($DEPLOYMENT\u NUMBER-1))
的脚本?

我使用以下代码创建了一个(快速)解决方案

# DEPLOYMENT_COUNT will be the number of deployments
DEPLOYMENT_COUNT=`oc get rc | wc -l` 
DEPLOYMENT_COUNT=$((DEPLOYMENT_COUNT - 1))
for ((i=1; i<$DEPLOYMENT_COUNT + 1; i++))
 do
    #CURR_POD_LINE=`oc get rc | tail -$i | head -n1`
    DEPLOYMENT_ID=`oc get rc | tail -$i | head -n1 | awk '{print $1}'`
    DESIRED_PODS_COUNT=`oc get rc | tail -$i | head -n1 | awk '{print $5}'`

    # IF number of desired pods is 0, then delete the deployment
    if [ $DESIRED_PODS_COUNT -eq 0 ]
      then
        #DELETE
        oc delete rc $DEPLOYMENT_ID
    fi
    echo $DEPLOYMENT_ID
    echo $DESIRED_PODS_COUNT
 done
\DEPLOYMENT\u COUNT将是部署的数量
部署_计数=`oc get rc | wc-l`
部署计数=$((部署计数-1))

对于((i=1;i随着时间的推移,您最终可能会拥有大量复制控制器,因此您需要清理它们。您可以使用
oc delete rc
或更好的
oc adm prune
来执行此操作。签出
oc adm options
oc adm prune--help
以获取选项


$oc adm prune部署--保持完整=5--命名空间=myproject--确认

上述选项中最好的一个选项,-keep complete选项用于决定在不进行修剪的情况下保留多少部署,命令:oc adm prune deployments--keep complete=5--namespace={PROJECT_NAME}}--confirm