Network Ingress and DNS

Network Ingress

Ensure the cloud provider implementation has support for load balancers

If OpenShift should manage load balancers for this platform, the cloud provider needs to implement the cloudprovider.LoadBalancer interface. Then the ingress operator needs to be updated to configure a load balancer service on this platform.

For example: - add provider-specific annotations to InternalLBAnnotations and managedLoadBalancerServiceAnnotations - evaluate customizations needed for load balancer service configuration in desiredLoadBalancerService - add unit tests to catch regressions

Evaluate ingress provider-specific support for load balancers

Review the end-to-end tests in the operator tests and make customizations, or skip the tests for this provider if they don't apply.

For example: - see TestProxyProtocolOnAWS for an example for the AWS cloud provider - check if you require TestInternalLoadBalancer, TestIngressControllerCustomEndpoints, TestLocalWithFallbackOverrideForLoadBalancerService for your platform - add unit tests to catch regressions

Evaluate provider-specific endpoint publishing strategy

Look through the doc at the custom resource definition to understand the details for endpointPublishingStrategy, which is the set of parameters used to publish the ingress controller endpoints to other networks, enable load balancer integrations, and other tasks.

Understand the properties: - hostNetwork, loadBalancerService, nodePortService, private

Check if customizations are needed in the ingress controller operator

For example: - add your default strategy to setDefaultPublishingStrategy - add your integration for IsProxyProtocolNeeded - add unit tests to catch regressions

Document the default endpoint publishing strategy for the provider

DNS

Evaluate provider-specific DNS support and validate the controller

Check if customizations are needed in the ingress operator's DNS controller.

For example: - define a new DNS provider - add your platform type to createDNSProvider, and createDNSProviderIfNeeded - add unit tests to catch regressions

Evaluate provider-specific externalDNS support (4.10+)

Starting in OpenShift 4.10, there is the External-DNS operator to consider. It will support only these platforms in 4.10: - AWS - GCP - Azure

Questions

Questions can be directed to the OpenShift Slack channel #forum-network-edge