diff --git a/discovery-kubernetes-api/src/main/resources/reference.conf b/discovery-kubernetes-api/src/main/resources/reference.conf index 08e337ad3..a4a8a7e2c 100644 --- a/discovery-kubernetes-api/src/main/resources/reference.conf +++ b/discovery-kubernetes-api/src/main/resources/reference.conf @@ -24,6 +24,7 @@ akka.discovery { # # Set this value to a specific string to override discovering the namespace using pod-namespace-path. pod-namespace = "" + pod-namespace = ${?KUBERNETES_NAMESPACE} # Domain of the k8s cluster pod-domain = "cluster.local" diff --git a/docs/src/main/paradox/bootstrap/kubernetes-api.md b/docs/src/main/paradox/bootstrap/kubernetes-api.md index 0342fb0f7..96baed866 100644 --- a/docs/src/main/paradox/bootstrap/kubernetes-api.md +++ b/docs/src/main/paradox/bootstrap/kubernetes-api.md @@ -28,7 +28,15 @@ The following configuration is required: The lookup needs to know which namespace to look in. By default, this will be detected by reading the namespace from the service account secret, in `/var/run/secrets/kubernetes.io/serviceaccount/namespace`, but can be overridden by -setting `akka.discovery.kubernetes-api.pod-namespace`. +setting `akka.discovery.kubernetes-api.pod-namespace` or by providing `KUBERNETES_NAMESPACE` environment variable. + +```yaml + env: + - name: KUBERNETES_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace +``` For more details on how to configure the Kubernetes deployment see @ref:[recipes](recipes.md). diff --git a/docs/src/main/paradox/rolling-updates.md b/docs/src/main/paradox/rolling-updates.md index b8e5be955..40cf442d5 100644 --- a/docs/src/main/paradox/rolling-updates.md +++ b/docs/src/main/paradox/rolling-updates.md @@ -85,10 +85,26 @@ The following configuration is required, more details for each and additional co * `akka.rollingupdate.kubernetes.pod-name`: this can be provided by setting `KUBERNETES_POD_NAME` environment variable to `metadata.name` on the Kubernetes container spec. +```yaml + env: + - name: KUBERNETES_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name +``` + Additionally, the pod annotator needs to know which namespace the pod belongs to. By default, this will be detected by reading the namespace from the service account secret, in `/var/run/secrets/kubernetes.io/serviceaccount/namespace`, but can be overridden by setting `akka.rollingupdate.kubernetes.namespace` or by providing `KUBERNETES_NAMESPACE` environment variable. +```yaml + env: + - name: KUBERNETES_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace +``` + #### Role based access control @@@ warning @@ -217,10 +233,26 @@ The following configuration is required, more details for each and additional co * `akka.rollingupdate.kubernetes.pod-name`: this can be provided by setting `KUBERNETES_POD_NAME` environment variable to `metadata.name` on the Kubernetes container spec. +```yaml + env: + - name: KUBERNETES_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name +``` + Additionally, the pod annotator needs to know which namespace the pod belongs to. By default, this will be detected by reading the namespace from the service account secret, in `/var/run/secrets/kubernetes.io/serviceaccount/namespace`, but can be overridden by setting `akka.rollingupdate.kubernetes.namespace` or by providing `KUBERNETES_NAMESPACE` environment variable. +```yaml + env: + - name: KUBERNETES_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace +``` + #### Role based access control Make sure to provide access to corresponding rbac rules `apiGroups` and `resources` like this: