Skip to main content
Version: v1.8.0

External Service Config

ListenersConfig defines the Nifi listener types:

  externalServices:
- name: "clusterip"
spec:
type: ClusterIP
portConfigs:
- port: 8080
internalListenerName: "http"
- port: 7182
internalListenerName: "my-custom-listener"
protocol: TCP
metadata:
annotations:
toto: tata
labels:
titi: tutu

Load balancer example:

externalServices:
- name: "nlb"
spec:
type: LoadBalancer
loadBalancerClass: "service.k8s.aws/nlb"
portConfigs:
- port: 8080
internalListenerName: "http"
- port: 7890
internalListenerName: "my-custom-udp-listener"
protocol: UDP
metadata:
annotations:
toto: tata
labels:
titi: tutu

ExternalServiceConfig

FieldTypeDescriptionRequiredDefault
namestringMust be unique within a namespace. Name is primarily intended for creation idempotence and configuration.Yes-
metadataMetadataDefines additional metadata to merge with the associated service.No-
specExternalServiceSpecdefines the behavior of a service.Yes

ExternalServiceSpec

FieldTypeDescriptionRequiredDefault
portConfigs[ ]PortConfigContains the list port for the service and the associated listenerYes
clusterIPstringMore info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxiesNo-
typeServiceTypetype determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer.No-
externalIPs[ ]stringexternalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by KubernetesNo-
loadBalancerIPstringOnly applies to Service Type: LoadBalancer. LoadBalancer will get created with the IP specified in this field.No-
loadBalancerSourceRanges[ ]stringIf specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPsNo-
externalNamestringexternalName is the external reference that kubedns or equivalent will return as a CNAME record for this service. No proxying will be involved.No-
loadBalancerClassstringloadBalancerClass is the class of the load balancer implementation this Service belongs to.No-
externalTrafficPolicystringSee the Kubernetes traffic policies documentation.NoDepends on the Service type.
internalTrafficPolicystringSee the Kubernetes traffic policies documentation.NoDepends on the Service type.

PortConfig

FieldTypeDescriptionRequiredDefault
portint32The port that will be exposed by this service.Yes-
internalListenerNamestringThe name of the listener which will be used as target container.Yes-
nodePortint32The port that will expose this service externally. (Only if the service is of type NodePort)No-
protocolProtocolThe network protocol for this service port. Must be one of the protocol enum values (i.e. TCP, UDP, SCTP).NoTCP

Metadata

FieldTypeDescriptionRequiredDefault
annotationsmap[string]stringAdditional annotations to merge with the associated service annotations.Nonil
labelsmap[string]stringAdditional labels to merge with the associated service labels.Nonil