With the following procedure, a load balancer must be installed in your cluster
With the following procedure, a load balancer must be installed in your cluster
to obtain the external IP address. You can use either
to obtain the endpoint. You can use either
[Ingress](#installing-applications), or Knative's own load balancer
[Ingress](#installing-applications), or Knative's own load balancer
([Istio](https://istio.io)) if using [Knative](#installing-applications).
([Istio](https://istio.io)) if using [Knative](#installing-applications).
In order to publish your web application, you first need to find the external IP
In order to publish your web application, you first need to find the endpoint which will be either an IP
address associated to your load balancer.
address or a hostname associated with your load balancer.
### Let GitLab fetch the IP address
### Let GitLab fetch the external endpoint
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/17052) in GitLab 10.6.
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/17052) in GitLab 10.6.
If you [installed Ingress or Knative](#installing-applications),
If you [installed Ingress or Knative](#installing-applications),
you should see the Ingress IP address on this same page within a few minutes.
you should see the Ingress Endpoint on this same page within a few minutes.
If you don't see this, GitLab might not be able to determine the IP address of
If you don't see this, GitLab might not be able to determine the external endpoint of
your ingress application in which case you should manually determine it.
your ingress application in which case you should manually determine it.
### Manually determining the IP address
### Manually determining the external endpoint
If the cluster is on GKE, click the **Google Kubernetes Engine** link in the
If the cluster is on GKE, click the **Google Kubernetes Engine** link in the
**Advanced settings**, or go directly to the
**Advanced settings**, or go directly to the
...
@@ -417,7 +417,7 @@ the `gcloud` command in a local terminal or using the **Cloud Shell**.
...
@@ -417,7 +417,7 @@ the `gcloud` command in a local terminal or using the **Cloud Shell**.
If the cluster is not on GKE, follow the specific instructions for your
If the cluster is not on GKE, follow the specific instructions for your
Kubernetes provider to configure `kubectl` with the right credentials.
Kubernetes provider to configure `kubectl` with the right credentials.
The output of the following examples will show the external IP address of your
The output of the following examples will show the external endpoint of your
cluster. This information can then be used to set up DNS entries and forwarding
cluster. This information can then be used to set up DNS entries and forwarding
rules that allow external access to your deployed applications.
rules that allow external access to your deployed applications.
...
@@ -425,19 +425,19 @@ If you installed the Ingress [via the **Applications**](#installing-applications
...
@@ -425,19 +425,19 @@ If you installed the Ingress [via the **Applications**](#installing-applications
run the following command:
run the following command:
```bash
```bash
kubectl get svc --namespace=gitlab-managed-apps ingress-nginx-ingress-controller -ojsonpath='{.status.loadBalancer.ingress[0].ip} '
kubectl get service --namespace=gitlab-managed-apps ingress-nginx-ingress-controller -ojsonpath='{.status.loadBalancer.ingress[0].ip}'
```
```
For Istio/Knative, the command will be different:
Some Kubernetes clusters return a hostname instead, like [Amazon EKS](https://aws.amazon.com/eks/). For these platforms, run:
```bash
```bash
kubectl get svc --namespace=istio-system knative-ingressgateway -ojsonpath='{.status.loadBalancer.ingress[0].ip} '
kubectl get service --namespace=gitlab-managed-apps ingress-nginx-ingress-controller -ojsonpath='{.status.loadBalancer.ingress[0].hostname}'
```
```
Some Kubernetes clusters return a hostname instead, like [Amazon EKS](https://aws.amazon.com/eks/). For these platforms, run:
For Istio/Knative, the command will be different:
```bash
```bash
kubectl get service ingress-nginx-ingress-controller -n gitlab-managed-apps -ojsonpath="{.status.loadBalancer.ingress[0].hostname}".
kubectl get svc --namespace=istio-system knative-ingressgateway -ojsonpath='{.status.loadBalancer.ingress[0].ip} '
```
```
Otherwise, you can list the IP addresses of all load balancers:
Otherwise, you can list the IP addresses of all load balancers:
...
@@ -456,13 +456,12 @@ reserved IP.
...
@@ -456,13 +456,12 @@ reserved IP.
Read how to [promote an ephemeral external IP address in GKE](https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address#promote_ephemeral_ip).
Read how to [promote an ephemeral external IP address in GKE](https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address#promote_ephemeral_ip).
### Pointing your DNS at the cluster IP
### Pointing your DNS at the external endpoint
Once you've set up the static IP, you should associate it to a [wildcard DNS
Once you've set up the external endpoint, you should associate it with a [wildcard DNS
record](https://en.wikipedia.org/wiki/Wildcard_DNS_record), in order to be able
record](https://en.wikipedia.org/wiki/Wildcard_DNS_record) such as `*.example.com.`
to reach your apps. This heavily depends on your domain provider, but in case
in order to be able to reach your apps. If your external endpoint is an IP address,
you aren't sure, just create an A record with a wildcard host like
use an A record. If your external endpoint is a hostname, use a CNAME record.
@@ -30,7 +30,7 @@ For other deployments, there is [some configuration](#manually-setting-up-nginx-
...
@@ -30,7 +30,7 @@ For other deployments, there is [some configuration](#manually-setting-up-nginx-
### About managed NGINX Ingress deployments
### About managed NGINX Ingress deployments
NGINX Ingress is deployed into the `gitlab-managed-apps` namespace, using the [official Helm chart](https://github.com/kubernetes/charts/tree/master/stable/nginx-ingress). NGINX Ingress will be [externally reachable via the Load Balancer's IP](../../clusters/index.md#getting-the-external-ip-address).
NGINX Ingress is deployed into the `gitlab-managed-apps` namespace, using the [official Helm chart](https://github.com/kubernetes/charts/tree/master/stable/nginx-ingress). NGINX Ingress will be [externally reachable via the Load Balancer's Endpoint](../../clusters/index.md#getting-the-external-endpoint).
NGINX is configured for Prometheus monitoring, by setting:
NGINX is configured for Prometheus monitoring, by setting:
@@ -30,7 +30,7 @@ For other deployments, there is [some configuration](#manually-setting-up-nginx-
...
@@ -30,7 +30,7 @@ For other deployments, there is [some configuration](#manually-setting-up-nginx-
### About managed NGINX Ingress deployments
### About managed NGINX Ingress deployments
NGINX Ingress is deployed into the `gitlab-managed-apps` namespace, using the [official Helm chart](https://github.com/kubernetes/charts/tree/master/stable/nginx-ingress). NGINX Ingress will be [externally reachable via the Load Balancer's IP](../../clusters/index.md#getting-the-external-ip-address).
NGINX Ingress is deployed into the `gitlab-managed-apps` namespace, using the [official Helm chart](https://github.com/kubernetes/charts/tree/master/stable/nginx-ingress). NGINX Ingress will be [externally reachable via the Load Balancer's Endpoint](../../clusters/index.md#getting-the-external-endpoint).
NGINX is configured for Prometheus monitoring, by setting:
NGINX is configured for Prometheus monitoring, by setting:
msgid "ClusterIntegration|%{appList} was successfully installed on your Kubernetes cluster"
msgid "ClusterIntegration|%{appList} was successfully installed on your Kubernetes cluster"
msgstr ""
msgstr ""
msgid "ClusterIntegration|%{boldNotice} This will add some extra resources like a load balancer, which may incur additional costs depending on the hosting provider your Kubernetes cluster is installed on. If you are using Google Kubernetes Engine, you can %{pricingLink}."
msgid "ClusterIntegration|Advanced options on this Kubernetes cluster's integration"
msgid "ClusterIntegration|Advanced options on this Kubernetes cluster's integration"
msgstr ""
msgstr ""
msgid "ClusterIntegration|After installing Ingress, you will need to point your wildcard DNS at the generated external IP address in order to view your app after it is deployed. %{ingressHelpLink}"
msgstr ""
msgid "ClusterIntegration|Alternatively"
msgid "ClusterIntegration|Alternatively"
msgstr ""
msgstr ""
...
@@ -1695,7 +1689,7 @@ msgstr ""
...
@@ -1695,7 +1689,7 @@ msgstr ""
msgid "ClusterIntegration|Copy CA Certificate"
msgid "ClusterIntegration|Copy CA Certificate"
msgstr ""
msgstr ""
msgid "ClusterIntegration|Copy Ingress IP Address to clipboard"
msgid "ClusterIntegration|Copy Ingress Endpoint to clipboard"
msgstr ""
msgstr ""
msgid "ClusterIntegration|Copy Jupyter Hostname to clipboard"
msgid "ClusterIntegration|Copy Jupyter Hostname to clipboard"
...
@@ -1782,7 +1776,7 @@ msgstr ""
...
@@ -1782,7 +1776,7 @@ msgstr ""
msgid "ClusterIntegration|Ingress"
msgid "ClusterIntegration|Ingress"
msgstr ""
msgstr ""
msgid "ClusterIntegration|Ingress IP Address"
msgid "ClusterIntegration|Ingress Endpoint"
msgstr ""
msgstr ""
msgid "ClusterIntegration|Ingress gives you a way to route requests to services based on the request host or path, centralizing a number of services into a single entrypoint."
msgid "ClusterIntegration|Ingress gives you a way to route requests to services based on the request host or path, centralizing a number of services into a single entrypoint."
...
@@ -1797,6 +1791,12 @@ msgstr ""
...
@@ -1797,6 +1791,12 @@ msgstr ""
msgid "ClusterIntegration|Installing"
msgid "ClusterIntegration|Installing"
msgstr ""
msgstr ""
msgid "ClusterIntegration|Installing Ingress may incur additional costs. Learn more about %{pricingLink}."
msgstr ""
msgid "ClusterIntegration|Installing Knative may incur additional costs. Learn more about %{pricingLink}."
msgid "ClusterIntegration|Manage your Kubernetes cluster by visiting %{link_gke}"
msgid "ClusterIntegration|Manage your Kubernetes cluster by visiting %{link_gke}"
msgstr ""
msgstr ""
msgid "ClusterIntegration|More information"
msgstr ""
msgid "ClusterIntegration|No machine types matched your search"
msgid "ClusterIntegration|No machine types matched your search"
msgstr ""
msgstr ""
...
@@ -1893,9 +1890,6 @@ msgstr ""
...
@@ -1893,9 +1890,6 @@ msgstr ""
msgid "ClusterIntegration|No zones matched your search"
msgid "ClusterIntegration|No zones matched your search"
msgstr ""
msgstr ""
msgid "ClusterIntegration|Note:"
msgstr ""
msgid "ClusterIntegration|Number of nodes"
msgid "ClusterIntegration|Number of nodes"
msgstr ""
msgstr ""
...
@@ -1905,7 +1899,7 @@ msgstr ""
...
@@ -1905,7 +1899,7 @@ msgstr ""
msgid "ClusterIntegration|Please make sure that your Google account meets the following requirements:"
msgid "ClusterIntegration|Please make sure that your Google account meets the following requirements:"
msgstr ""
msgstr ""
msgid "ClusterIntegration|Point a wildcard DNS to this generated IP address in order to access your application after it has been deployed."
msgid "ClusterIntegration|Point a wildcard DNS to this generated endpoint in order to access your application after it has been deployed."
msgstr ""
msgstr ""
msgid "ClusterIntegration|Project cluster"
msgid "ClusterIntegration|Project cluster"
...
@@ -1998,7 +1992,7 @@ msgstr ""
...
@@ -1998,7 +1992,7 @@ msgstr ""
msgid "ClusterIntegration|Specifying a domain will allow you to use Auto Review Apps and Auto Deploy stages for %{auto_devops_start}Auto DevOps%{auto_devops_end}. The domain should have a wildcard DNS configured matching the domain."
msgid "ClusterIntegration|Specifying a domain will allow you to use Auto Review Apps and Auto Deploy stages for %{auto_devops_start}Auto DevOps%{auto_devops_end}. The domain should have a wildcard DNS configured matching the domain."
msgstr ""
msgstr ""
msgid "ClusterIntegration|The IP address is in the process of being assigned. Please check your Kubernetes cluster or Quotas on Google Kubernetes Engine if it takes a long time."
msgid "ClusterIntegration|The endpoint is in the process of being assigned. Please check your Kubernetes cluster or Quotas on Google Kubernetes Engine if it takes a long time."
msgstr ""
msgstr ""
msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below"
msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below"
...
@@ -2058,9 +2052,6 @@ msgstr ""
...
@@ -2058,9 +2052,6 @@ msgstr ""
msgid "ClusterIntegration|access to Google Kubernetes Engine"
msgid "ClusterIntegration|access to Google Kubernetes Engine"