如何刷新Kubernetes集群上的CoreDNS缓存?我知道这可以通过删除CoreDNS pod来完成,但是有没有合适的方法来该高速缓存?
o3imoua41#
@coollinuxoid的答案不适合生产环境,它会有暂时的停机时间,因为命令会同时终止所有的pod。相反,您应该使用kubernetes部署的滚动更新机制,通过设置一个环境变量来避免停机时间,使用命令:
kubectl -n kube-system set env deployment.apps/coredns FOO="BAR"
jei2mxaa2#
正如你所说的,最好的方法是重新启动coredns pod。这可以很容易地完成,通过将coredns部署扩展到“0”,然后将其扩展回所需的数量。如下面的示例命令所示:
kubectl scale deployment.apps/coredns -n kube-system --replicas=0 kubectl scale deployment.apps/coredns -n kube-system --replicas=2
无超时:
kubectl rollout restart deployment coredns -n kube-system
感谢@Nick的评论
4ktjp1zp3#
在每个rabbitmq pod中执行此命令以删除mnesia,然后重新启动pod
rm -rf /bitnami/rabbitmq/mnesia
3条答案
按热度按时间o3imoua41#
@coollinuxoid的答案不适合生产环境,它会有暂时的停机时间,因为命令会同时终止所有的pod。相反,您应该使用kubernetes部署的滚动更新机制,通过设置一个环境变量来避免停机时间,使用命令:
jei2mxaa2#
正如你所说的,最好的方法是重新启动coredns pod。这可以很容易地完成,通过将coredns部署扩展到“0”,然后将其扩展回所需的数量。如下面的示例命令所示:
无超时:
感谢@Nick的评论
4ktjp1zp3#
在每个rabbitmq pod中执行此命令以删除mnesia,然后重新启动pod