diff --git a/modules/guides/pages/kubernetes-cluster-domain.adoc b/modules/guides/pages/kubernetes-cluster-domain.adoc index 9487557c6..9153f7018 100644 --- a/modules/guides/pages/kubernetes-cluster-domain.adoc +++ b/modules/guides/pages/kubernetes-cluster-domain.adoc @@ -3,45 +3,13 @@ :dns-custom-nameservers: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/ :dns-pod-service: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ -Stackable operators allow to configure a non-default cluster domain as described in {dns-custom-nameservers}[Customizing DNS Service] (and more in {dns-pod-service}[DNS for Services and Pods]). -The configuration is primarily done via an environment variable `KUBERNETES_CLUSTER_DOMAIN`, but there is also a mechanism to auto detect the cluster domain using the `/etc/resolv.conf` file. +Stackable operators allow the configuration of a non-default cluster domain as described in {dns-custom-nameservers}[Customizing DNS Service] (and more in {dns-pod-service}[DNS for Services and Pods]). -The following steps explain the use of the environment variable and the auto detection mechanism in detail: - -== Steps - -=== Use environment variable - -The environment variable `KUBERNETES_CLUSTER_DOMAIN` takes precedence over auto detection. -This means that the desired cluster domain can be configured in a Helm values file via the property `kubernetesClusterDomain` or via the install command like: +The cluster domain can be configured using an environment variable `KUBERNETES_CLUSTER_DOMAIN` set on the operators. +This environment variable can be configured via the helm values property `kubernetesClusterDomain` during the installation of the operators. ``` -helm install hive-operator stackable-stable/hive-operator --set kubernetesClusterDomain="my-cluster.local" +helm install -operator stackable-stable/-operator --set kubernetesClusterDomain="my-cluster.local" ``` -=== Use auto detection - -If the `KUBERNETES_CLUSTER_DOMAIN` environment variable is not set, the auto detection is checking the runtime environment of the operator. -In most cases this is a clusterized environment like Kubernetes or Openshift. -This is determined by checking if the `KUBERNETES_SERVICE_HOST` environment variable is set in the operator Pod. - -If clusterized, the auto detection parses the `/etc/resolv.conf` file for the last entry starting with the `search` keyword. -Within that `search` entry the shortest option is selected. - -An example `/etc/resolv.conf` in a Pod looks like: - -``` -nameserver 10.32.0.10 -search .svc.cluster.local svc.cluster.local cluster.local -options ndots:5 -``` - -Using this example as a base for the cluster domain auto detection, the operator would choose `cluster.local` as cluster domain. - -=== Running locally - -This section covers the case when both `KUBERNETES_CLUSTER_DOMAIN` and `KUBERNETES_SERVICE_HOST` are not set. -This would be the case if the operator is not running in a clusterized environment like e.g. locally a Laptop or PC. -Running the operator locally is mostly for development and therefore not relevant for most users. - -If running locally, and `KUBERNETES_CLUSTER_DOMAIN` and `KUBERNETES_SERVICE_HOST` are not set, the operator will default its cluster domain to `cluster.local`. +If the environment variable `KUBERNETES_CLUSTER_DOMAIN` (or the helm property `kubernetesClusterDomain`) are not set / overriden, the operator will default its cluster domain to `cluster.local`.