From 5751ef5247607ad0c0a3be23f136adf525879d17 Mon Sep 17 00:00:00 2001 From: Ali Mukadam Date: Thu, 18 Feb 2021 12:59:53 +1100 Subject: [PATCH] [docs] Documentation for Oracle Cloud Infrastructure integration Added documentation and sample YAML that demonstrate how to use NGINX Ingress Controller to provision a load balancer on Oracle Cloud Infrastructure. The following use cases are included: - public and private load balancers Signed-off-by: Ali Mukadam --- charts/ingress-nginx/README.md | 11 +++++++++++ docs/deploy/index.md | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md index e74794826..6ecd9caa0 100644 --- a/charts/ingress-nginx/README.md +++ b/charts/ingress-nginx/README.md @@ -187,6 +187,17 @@ controller: # Any other annotation can be declared here. ``` +Example for Oracle Cloud Infrastructure: + +```yaml +controller: + service: + annotations: + # Create internal LB + service.beta.kubernetes.io/oci-load-balancer-internal: "true" + # Any other annotation can be declared here. +``` + An use case for this scenario is having a split-view DNS setup where the public zone CNAME records point to the external balancer URL while the private zone CNAME records point to the internal balancer URL. This way, you only need one ingress kubernetes object. Optionally you can set `controller.service.loadBalancerIP` if you need a static IP for the resulting `LoadBalancer`. diff --git a/docs/deploy/index.md b/docs/deploy/index.md index 66cdbf6df..ec2546693 100644 --- a/docs/deploy/index.md +++ b/docs/deploy/index.md @@ -38,6 +38,7 @@ - [Digital Ocean](#digital-ocean) - [Scaleway](#scaleway) - [Exoscale](#exoscale) + - [Oracle Cloud Infrastructure](#oracle-cloud-infrastructure) - [Bare-metal](#bare-metal) - [Verify installation](#verify-installation) - [Detect installed version](#detect-installed-version) @@ -170,6 +171,14 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/mast The full list of annotations supported by Exoscale is available in the Exoscale Cloud Controller Manager [documentation](https://github.com/exoscale/exoscale-cloud-controller-manager/blob/master/docs/service-loadbalancer.md). +#### Oracle Cloud Infrastructure + +```console +kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/cloud/deploy.yaml +``` + +A [complete list of available annotations for Oracle Cloud Infrastructure](https://github.com/oracle/oci-cloud-controller-manager/blob/master/docs/load-balancer-annotations.md) can be found in the [OCI Cloud Controller Manager](https://github.com/oracle/oci-cloud-controller-manager) documentation. + #### Bare-metal Using [NodePort](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport):