0

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

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

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

4

3 回答 3

1

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

StubDomain但是,您可以使用服务发现工具更改 DNS 。比较流行的一种是Consul这里是如何使用它配置存根域的方法

请注意,如果不是服务器,您可能必须在 Kubernetes 中运行您的 Consul 集群,当然您的 Pod 需要一个 Consul 代理 Sidecar。

于 2018-10-22T17:33:35.563 回答
1

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

于 2018-10-22T13:51:33.437 回答
0

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
于 2018-10-22T14:38:19.443 回答