【问题标题】:Flush CoreDNS Cache on Kubernetes Cluster在 Kubernetes 集群上刷新 CoreDNS 缓存
【发布时间】:2019-07-19 13:41:01
【问题描述】:

如何刷新 kubernetes 集群上的 CoreDNS 缓存?

我知道可以通过删除 CoreDNS pod 来完成,但是有没有适当的方法来刷新缓存?

【问题讨论】:

    标签: kubernetes dns kube-dns coredns core-file


    【解决方案1】:

    @coollinuxoid 的回答不适合生产环境,因为命令会同时终止所有的 Pod,所以会有暂时的停机时间。相反,您应该使用 kubernetes 部署的滚动更新机制,通过设置环境变量来避免使用命令的停机时间:

    kubectl -n kube-system set env deployment.apps/coredns FOO="BAR"
    

    【讨论】:

    • kubectl -n kube-system set env deployment.apps/coredns FOO- 再次摆脱环境变量...
    • 我认为您可以完全避免设置环境变量:kubectl rollout restart deployment coredns -n kube-system
    【解决方案2】:

    正如您所说,最好的方法是重新启动 coredns pod。这可以通过将 coredns 部署缩放到“0”然后将其缩放回所需的数量来轻松完成。 就像下面的示例命令一样:

    kubectl scale deployment.apps/coredns -n kube-system --replicas=0
    kubectl scale deployment.apps/coredns -n kube-system --replicas=2
    

    【讨论】:

      【解决方案3】:

      在每个 rabbitmq pod 中执行此操作以删除 mnesia,然后重新启动 pods

      rm -rf /bitnami/rabbitmq/mnesia
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-24
        • 1970-01-01
        • 2018-12-25
        • 2021-03-09
        • 2021-05-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多