Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish IngressLink doc #1694

Merged
merged 1 commit into from
Jun 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
52 changes: 7 additions & 45 deletions docs-web/integration-with-cis.md → docs-web/f5-ingresslink.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
# Integration with F5 Container Ingress Services
# F5 IngressLink

The integration with [F5 Container Ingress Services](https://clouddocs.f5.com/containers/v2/) (CIS) configures an F5 BIG-IP device as a load balancer for NGINX Ingress Controller pods.

> **Feature Status**: The integration with F5 CIS is available as a preview feature: it is suitable for experimenting and testing; however, it must be used with caution in production environments. Additionally, while the feature is in preview, we might introduce some backward-incompatible changes in the next releases.

## Prerequisites

To enable the integration, the F5 CIS must be deployed in the cluster and configured to support the integration. Follow the instructions on the [CIS documentation portal](#link-to-be-added-later).
F5 IngressLink is the integration between NGINX Ingress Controller and [F5 Container Ingress Services](https://clouddocs.f5.com/containers/v2/) (CIS) that configures an F5 BIG-IP device as a load balancer for NGINX Ingress Controller pods.

## Configuration

Expand Down Expand Up @@ -74,41 +68,9 @@ controller:
```
We will use the values for the parameters `ingressLink` and `extraLabels` in Step 2. For the `set-real-ip-from` key, use the subnet of the IP, which the BIG-IP system uses to send traffic to NGINX.

### 2. Create an IngressLink Resource

To configure the BIG-IP device to load balance among the Ingress Controller pods, create an IngressLink resource. For example, the following resource will expose the Ingress Controller pods via `192.168.10.5`:
```yaml
apiVersion: "cis.f5.com/v1"
kind: IngressLink
metadata:
name: nginx-ingress
namespace: nginx-ingress
spec:
virtualServerAddress: "192.168.10.5"
iRules:
- /Common/Proxy_Protocol_iRule
selector:
matchLabels:
app: ingresslink
```

The name of the resource and the labels in the selector must match the values you configured in Step 1. The resource must belong to the same namespace as the Ingress Controller pod.
### 2. Configure CIS

### 3. Test the Integration

Now the Ingress Controller pods are behind the IP configured in Step 2.

If you deploy the [cafe example](https://github.com/nginxinc/kubernetes-ingress/tree/v1.11.0/examples/complete-example), you will be able to send requests to the Ingress Controller pods using the following command:
```
$ curl --resolve cafe.example.com:192.168.10.5:443 https://cafe.example.com:443/coffee --insecure
Server address: 10.12.0.18:80
Server name: coffee-7586895968-r26zn
...
```

Also, if you check the status of the cafe-ingress, you will see the IP of the BIG-IP system:
```
$ kubectl get ing cafe-ingress
NAME HOSTS ADDRESS PORTS AGE
cafe-ingress cafe.example.com 192.168.10.5 80, 443 115s
```
To enable the integration, the F5 CIS must be deployed in the cluster and configured to support the integration. Follow the instructions on the [CIS documentation portal](https://clouddocs.f5.com/containers/latest/userguide/ingresslink/#configuring-ingresslink). Ensure that:
* The name of the IngressLink resource is the same as in Step 1 -- `nginx-ingress`.
* The selector in the IngressLink resource is the same as the Service labels configured in Step 1 -- `app: ingresslink`.
* The IngressLink must belong to the same namespace as the Ingress Controller pod -- `nginx-ingress` or the namespaced used for installing the Helm chart.
1 change: 1 addition & 0 deletions docs-web/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ Request your `free 30-day trial <https://www.nginx.com/free-trial-request-nginx-
troubleshooting
app-protect/index
third-party-modules/index
f5-ingresslink
releases
Technical Specifications <technical-specifications>