Удалить пространство имен из службы и имя хоста модуля (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