OBJECT

KubernetesKindServiceSpec

link GraphQL Schema definition

  • type KubernetesKindServiceSpec {
  • # clusterIP is the IP address of the service and is usually assigned randomly by
  • # the master. If an address is specified manually and is not in use by others, it
  • # will be allocated to the service; otherwise, creation of the service will fail.
  • # This field can not be changed through updates. Valid values are "None", empty
  • # string (""), or a valid IP address. "None" can be specified for headless
  • # services when proxying is not required. Only applies to types ClusterIP,
  • # NodePort, and LoadBalancer. Ignored if type is ExternalName. More info:
  • # https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
  • clusterIP: String
  • externalIPs: [String]
  • # externalName is the external reference that kubedns or equivalent will return as
  • # a CNAME record for this service. No proxying will be involved. Must be a valid
  • # RFC-1123 hostname (https://tools.ietf.org/html/rfc1123) and requires Type to be
  • # ExternalName.
  • externalName: String
  • # externalTrafficPolicy denotes if this Service desires to route external traffic
  • # to node-local or cluster-wide endpoints. "Local" preserves the client source IP
  • # and avoids a second hop for LoadBalancer and Nodeport type services, but risks
  • # potentially imbalanced traffic spreading. "Cluster" obscures the client source
  • # IP and may cause a second hop to another node, but should have good overall
  • # load-spreading.
  • externalTrafficPolicy: String
  • # healthCheckNodePort specifies the healthcheck nodePort for the service. If not
  • # specified, HealthCheckNodePort is created by the service api backend with the
  • # allocated nodePort. Will use user-specified nodePort value if specified by the
  • # client. Only effects when Type is set to LoadBalancer and ExternalTrafficPolicy
  • # is set to Local.
  • healthCheckNodePort: Int
  • # ipFamily specifies whether this Service has a preference for a particular IP
  • # family (e.g. IPv4 vs. IPv6). If a specific IP family is requested, the
  • # clusterIP field will be allocated from that family, if it is available in the
  • # cluster. If no IP family is requested, the cluster's primary IP family will be
  • # used. Other IP fields (loadBalancerIP, loadBalancerSourceRanges, externalIPs)
  • # and controllers which allocate external load-balancers should use the same IP
  • # family. Endpoints for this Service will be of this family. This field is
  • # immutable after creation. Assigning a ServiceIPFamily not available in the
  • # cluster (e.g. IPv6 in IPv4 only cluster) is an error condition and will fail
  • # during clusterIP assignment.
  • ipFamily: String
  • # Only applies to Service Type: LoadBalancer LoadBalancer will get created with
  • # the IP specified in this field. This feature depends on whether the underlying
  • # cloud-provider supports specifying the loadBalancerIP when a load balancer is
  • # created. This field will be ignored if the cloud-provider does not support the
  • # feature.
  • loadBalancerIP: String
  • loadBalancerSourceRanges: [String]
  • # ServicePort contains information on service's port.
  • ports: [KubernetesKindServiceSpecPorts]
  • # publishNotReadyAddresses, when set to true, indicates that DNS implementations
  • # must publish the notReadyAddresses of subsets for the Endpoints associated with
  • # the Service. The default value is false. The primary use case for setting this
  • # field is to use a StatefulSet's Headless Service to propagate SRV records for
  • # its Pods without respect to their readiness for purpose of peer discovery.
  • publishNotReadyAddresses: Boolean
  • # Route service traffic to pods with label keys and values matching this selector.
  • # If empty or not present, the service is assumed to have an external process
  • # managing its endpoints, which Kubernetes will not modify. Only applies to types
  • # ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. More
  • # info: https://kubernetes.io/docs/concepts/services-networking/service/
  • selector: [Tag!]
  • # Supports "ClientIP" and "None". Used to maintain session affinity. Enable client
  • # IP based session affinity. Must be ClientIP or None. Defaults to None. More
  • # info:
  • # https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
  • sessionAffinity: String
  • # sessionAffinityConfig contains the configurations of session affinity.
  • sessionAffinityConfig: KubernetesKindServiceSpecSessionAffinityConfig
  • topologyKeys: [String]
  • # type determines how the Service is exposed. Defaults to ClusterIP. Valid options
  • # are ExternalName, ClusterIP, NodePort, and LoadBalancer. "ExternalName" maps to
  • # the specified externalName. "ClusterIP" allocates a cluster-internal IP address
  • # for load-balancing to endpoints. Endpoints are determined by the selector or if
  • # that is not specified, by manual construction of an Endpoints object. If
  • # clusterIP is "None", no virtual IP is allocated and the endpoints are published
  • # as a set of endpoints rather than a stable IP. "NodePort" builds on ClusterIP
  • # and allocates a port on every node which routes to the clusterIP. "LoadBalancer"
  • # builds on NodePort and creates an external load-balancer (if supported in the
  • # current cloud) which routes to the clusterIP. More info:
  • # https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
  • type: String
  • }