【问题标题】:task.Container moving from docker to kubernetestask.Container 从 docker 迁移到 kubernetes
【发布时间】:2019-08-27 07:31:30
【问题描述】:

我正在尝试将 docker 容器引入 Kubernetes。在 docker 中,您可以向 dns 询问:

host tasks.containername 

结果是来自运行具有此名称的容器的所有内部 IP。

我在 kubernetes 上做同样的事情,使用无头服务。我可以的

host pod-name 

结果也是来自 pod 的所有内部 IP。

到目前为止一切顺利,但有很多“run.sh”脚本使用“task.XXX”查询。有人知道如何在不编辑所有 run.sh 脚本的情况下解决此问题吗?

也许在 coredns 中有一些东西,带有映射。

最好的,谢谢你

【问题讨论】:

    标签: docker kubernetes amazon-eks coredns


    【解决方案1】:

    我同意编辑脚本是最明智的解决方案,但这里是在 kubernetes 中编辑 coredns 的方法。

    kubectl edit configmap coredns -n kube-system

    然后添加如下重写配置。

    rewrite name tasks.containername.default.svc.cluster.local containername.default.svc.cluster.local
    

    例如

    .:53 {
        errors
        log
        health
        rewrite name tasks.containername.default.svc.cluster.local containername.default.svc.cluster.local
        kubernetes cluster.local 10.0.0.0/24
        proxy . /etc/resolv.conf
        cache 30
    }
    

    然后重新加载coredns如下

    kubectl exec -n kube-system coredns-xxxxxxx -- kill -SIGUSR1 1

    【讨论】:

      【解决方案2】:

      我认为编辑它们是最明智的解决方案。

      为了清楚起见,不是host pod-name,而是host headless-service

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-20
        • 1970-01-01
        • 2021-05-13
        • 2018-11-15
        • 2021-05-18
        • 1970-01-01
        • 2022-01-10
        • 2021-02-03
        相关资源
        最近更新 更多