Удалить пространство имен из службы и имя хоста модуля (fqdn)

Я развертываю отдельный кластер Kubernetes для каждого жизненного цикла, то есть один кластер для dev и отдельный кластер для производства, и буду использовать пространства имен только для логического разделения приложения на основе этой задачи, например, всех БД в пространстве имен данных, приложения пользовательского интерфейса в пространстве веб-имен и т. Д.

Из-за этой конструкции нет необходимости иметь пространства имен в службе или полное доменное имя модуля, поскольку каждая служба и развертывание будут уникальными. Может ли кто-нибудь подсказать, как я могу удалить пространства имен из имени хоста, например, если в пространстве имен по умолчанию есть служба с именем my-service, я бы хотел разрешить службу из другого пространства имен, используя "my-service.svc.cluster.local" вместо "my -service.default.svc.cluster.local"

Я бегу kubernetes 1.10 и использую coreDNS.

3 ответа

Вы не можете, это не так, как задумано kubernetes. Вы можете назвать это просто my-service хотя, пока вы находитесь в том же пространстве имен

Если вы используете стандартную конфигурацию DNS с CoreDNS или KubeDNS, вы не можете изменить ее, как описано в других ответах.

Тем не менее, вы можете изменить DNS с помощью StubDomainи инструмент обнаружения услуг. Одним из наиболее популярных из них является Консул, и вот как настроить домен-заглушку с ним.

Обратите внимание, что вам, скорее всего, придется запускать кластер Консул в Кубернетесе, если не на сервере, конечно же, вам понадобится дополнительная консоль агента консула для ваших модулей.

Стручки и служебные ресурсы расположены в пространстве имен. Таким образом, вы не можете сделать их без пространства имен.

[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
Другие вопросы по тегам