2.4 KiB
Assigning a static IP address for Knative on Kubernetes Engine
If you are running Knative on Google Kubernetes Engine and want to use a custom domain with your apps, you need to configure a static IP address to ensure that your custom domain mapping doesn't break.
Knative uses the shared knative-shared-gateway
Gateway under the
knative-serving
namespace, to serve all incoming traffic within the
Knative service mesh. The IP address to access the gateway is the
external IP address of the "knative-ingressgateway" service under the
istio-system
namespace. Therefore, in order to set a static IP for the
Knative shared gateway knative-shared-gateway
, you must to set the
external IP address of the knative-ingressgateway
service to a static IP.
Step 1: Reserve a static IP address
Reserve a regional static IP address using the Google Cloud Platform console:
-
Follow the Kubernetes Engine instructions to reserve a new static IP address.
-
In the Cloud Platform console:
-
Select the Regional Type.
-
In the Region menu, specify the region where your Knative cluster is running.
For example, select the
us-west1
region if your deployed your cluster to theus-west1-c
zone.
-
-
Copy the External Address of the static IP you created.
Step 2: Update the external IP of the knative-ingressgateway
service
Run following command to configure the external IP of the
knative-ingressgateway
service to the static IP that you reserved:
kubectl patch svc knative-ingressgateway -n istio-system --patch '{"spec": { "loadBalancerIP": "<your-reserved-static-ip>" }}'
Step 3: Verify the static IP address of knative-ingressgateway
service
Run the following command to ensure that the external IP of the "knative-ingressgateway" service has been updated:
kubectl get svc knative-ingressgateway -n istio-system
The output should show the assigned address under the EXTERNAL-IP column:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
knative-ingressgateway LoadBalancer 12.34.567.890 98.765.43.210 80:32380/TCP,443:32390/TCP,32400:32400/TCP 5m
Note that the process of updating the external IP address can take several minutes.