Skip to content

Instantly share code, notes, and snippets.

@jeesmon
Created February 28, 2022 14:26
Show Gist options
  • Save jeesmon/ad5b4aa7be0c3a9ad329d07b1d1edab2 to your computer and use it in GitHub Desktop.
Save jeesmon/ad5b4aa7be0c3a9ad329d07b1d1edab2 to your computer and use it in GitHub Desktop.

endpointPublishingStrategy is used to publish the Ingress Controller endpoints to other networks, enable load balancer integrations, and provide access to other systems.

If not set, the default value is based on infrastructure.config.openshift.io/cluster .status.platform:

  • Azure: LoadBalancerService (with external scope)
  • ROKS on Satellite: LoadBalancerService (with external scope)

To view current endpointPublishingStrategy:

oc -n openshift-ingress-operator get ingresscontroller default -o jsonpath={.spec.endpointPublishingStrategy} | jq '.'

{
  "loadBalancer": {
    "scope": "External"
  },
  "type": "LoadBalancerService"
}

When you provision ROKS on Satellite for on-prem, there is no cloud load balancer available for the Ingress Controller. Having endpointPublishingStrategy as LoadBalancerService will keep Ingress Controller in Degraded state and will block cluster version upgrades. The endpointPublishingStrategy value cannot be updated. Only option is to delete default Ingress Controller and create it with NodePortService strategy. Make sure to copy existing spec and change only endpointPublishingStrategy when recreating.

A sample Ingress Controller yaml with NodePortService strategy will look like this:

apiVersion: operator.openshift.io/v1
kind: IngressController
metadata:
  finalizers:
  - ingresscontroller.operator.openshift.io/finalizer-ingresscontroller
  name: default
  namespace: openshift-ingress-operator
spec:
  defaultCertificate:
    name: xxx-0b75760e30ayyyy44987e00a0-0000
  endpointPublishingStrategy:
    type: NodePortService
  nodePlacement:
    tolerations:
    - key: dedicated
      value: edge
  routeAdmission:
    wildcardPolicy: WildcardsAllowed

More details: https://cloud.ibm.com/docs/satellite?topic=satellite-ts-degraded-ingress

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment