【问题标题】:Remove namespace from service and pod's hostname (fqdn)从服务和 pod 的主机名中删除命名空间 (fqdn)
【发布时间】:2018-10-22 12:48:37
【问题描述】:

我正在为每个生命周期部署单独的 Kubernetes 集群,即一个用于开发的集群和一个用于生产的单独集群,并且将仅将命名空间用于基于那里的任务的应用程序的逻辑隔离,例如数据命名空间中的所有数据库,Web 命名空间中的 UI 应用等。

由于这种设计,服务或 pod 的 FQDN 中无需命名空间,因为每个服务和部署都是唯一的。谁能建议我如何从主机名中删除名称空间,例如如果在默认命名空间中有一个名为 my-service 的服务,我想使用“my-service.svc.cluster.local”而不是“my-service.default.svc.cluster.local”从其他命名空间解析服务

我正在运行 kubernetes 1.10 并使用 coreDNS。

【问题讨论】:

    标签: dns kubernetes coredns


    【解决方案1】:

    你不能,这不是 Kubernetes 的设计方式。你可以只用my-service 调用它,只要你在同一个命名空间中

    【讨论】:

      【解决方案2】:

      如果您将标准 DNS 配置与 CoreDNS 或 KubeDNS 一起使用,则无法按照其他答案中的说明进行更改。

      但是,您可以使用 StubDomain 和服务发现工具更改 DNS。比较流行的一种是Consulhere's how to configure a stub domain with it

      请注意,如果不是服务器,您可能必须运行 Consul cluster in Kubernetes,当然您的 pod 需要一个 consul agent sidecar。

      【讨论】:

        【解决方案3】:

        pod 和服务资源是命名空间的。所以你不能让它们没有命名空间。

        [iahmad@ijaz00]$ kubectl api-resources --namespaced=true
        NAME                        SHORTNAMES   APIGROUP                    NAMESPACED   KIND
        bindings                                                             true         Binding
        configmaps                  cm                                       true         ConfigMap
        endpoints                   ep                                       true         Endpoints
        events                      ev                                       true         Event
        limitranges                 limits                                   true         LimitRange
        persistentvolumeclaims      pvc                                      true         PersistentVolumeClaim
        pods                        po                                       true         Pod
        podtemplates                                                         true         PodTemplate
        replicationcontrollers      rc                                       true         ReplicationController
        resourcequotas              quota                                    true         ResourceQuota
        secrets                                                              true         Secret
        serviceaccounts             sa                                       true         ServiceAccount
        services                    svc                                      true         Service
        controllerrevisions                      apps                        true         ControllerRevision
        daemonsets                  ds           apps                        true         DaemonSet
        deployments                 deploy       apps                        true         Deployment
        replicasets                 rs           apps                        true         ReplicaSet
        statefulsets                sts          apps                        true         StatefulSet
        localsubjectaccessreviews                authorization.k8s.io        true         LocalSubjectAccessReview
        horizontalpodautoscalers    hpa          autoscaling                 true         HorizontalPodAutoscaler
        cronjobs                    cj           batch                       true         CronJob
        jobs                                     batch                       true         Job
        stacks                                   compose.docker.com          true         Stack
        events                      ev           events.k8s.io               true         Event
        daemonsets                  ds           extensions                  true         DaemonSet
        deployments                 deploy       extensions                  true         Deployment
        ingresses                   ing          extensions                  true         Ingress
        networkpolicies             netpol       extensions                  true         NetworkPolicy
        replicasets                 rs           extensions                  true         ReplicaSet
        alertmanagers                            monitoring.coreos.com       true         Alertmanager
        prometheuses                             monitoring.coreos.com       true         Prometheus
        prometheusrules                          monitoring.coreos.com       true         PrometheusRule
        servicemonitors                          monitoring.coreos.com       true         ServiceMonitor
        networkpolicies             netpol       networking.k8s.io           true         NetworkPolicy
        poddisruptionbudgets        pdb          policy                      true         PodDisruptionBudget
        rolebindings                             rbac.authorization.k8s.io   true         RoleBinding
        roles                                    rbac.authorization.k8s.io   true         Role
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-12
          • 1970-01-01
          • 2016-02-04
          相关资源
          最近更新 更多