|
|
|
@@ -90,10 +90,7 @@ ServiceSpec describes the attributes that a user creates on a service.
|
|
|
|
|
|
|
|
|
|
The IP protocol for this port. Supports "TCP", "UDP", and "SCTP". Default is TCP.
|
|
|
|
|
|
|
|
|
|
Possible enum values:
|
|
|
|
|
- `"SCTP"` is the SCTP protocol.
|
|
|
|
|
- `"TCP"` is the TCP protocol.
|
|
|
|
|
- `"UDP"` is the UDP protocol.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- **ports.name** (string)
|
|
|
|
|
|
|
|
|
@@ -105,17 +102,13 @@ ServiceSpec describes the attributes that a user creates on a service.
|
|
|
|
|
|
|
|
|
|
- **ports.appProtocol** (string)
|
|
|
|
|
|
|
|
|
|
The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and http://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol.
|
|
|
|
|
The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol.
|
|
|
|
|
|
|
|
|
|
- **type** (string)
|
|
|
|
|
|
|
|
|
|
type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. "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 or EndpointSlice objects. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. "ExternalName" aliases this service to the specified externalName. Several other fields do not apply to ExternalName services. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
|
|
|
|
|
|
|
|
|
Possible enum values:
|
|
|
|
|
- `"ClusterIP"` means a service will only be accessible inside the cluster, via the cluster IP.
|
|
|
|
|
- `"ExternalName"` means a service consists of only a reference to an external name that kubedns or equivalent will return as a CNAME record, with no exposing or proxying of any pods involved.
|
|
|
|
|
- `"LoadBalancer"` means a service will be exposed via an external load balancer (if the cloud provider supports it), in addition to 'NodePort' type.
|
|
|
|
|
- `"NodePort"` means a service will be exposed on one port of every node, in addition to 'ClusterIP' type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- **ipFamilies** ([]string)
|
|
|
|
|
|
|
|
|
@@ -149,13 +142,11 @@ ServiceSpec describes the attributes that a user creates on a service.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Possible enum values:
|
|
|
|
|
- `"ClientIP"` is the Client IP based.
|
|
|
|
|
- `"None"` - no session affinity.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- **loadBalancerIP** (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.
|
|
|
|
|
Only applies to Service Type: LoadBalancer. 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. Deprecated: This field was under-specified and its meaning varies across implementations, and it cannot support dual-stack. As of Kubernetes v1.24, users are encouraged to use implementation-specific annotations when available. This field may be removed in a future API version.
|
|
|
|
|
|
|
|
|
|
- **loadBalancerSourceRanges** ([]string)
|
|
|
|
|
|
|
|
|
@@ -173,9 +164,7 @@ ServiceSpec describes the attributes that a user creates on a service.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Possible enum values:
|
|
|
|
|
- `"Cluster"` specifies node-global (legacy) behavior.
|
|
|
|
|
- `"Local"` specifies node-local endpoints behavior.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- **internalTrafficPolicy** (string)
|
|
|
|
|
|
|
|
|
@@ -209,7 +198,7 @@ ServiceSpec describes the attributes that a user creates on a service.
|
|
|
|
|
|
|
|
|
|
- **allocateLoadBalancerNodePorts** (boolean)
|
|
|
|
|
|
|
|
|
|
allocateLoadBalancerNodePorts defines if NodePorts will be automatically allocated for services with type LoadBalancer. Default is "true". It may be set to "false" if the cluster load-balancer does not rely on NodePorts. If the caller requests specific NodePorts (by specifying a value), those requests will be respected, regardless of this field. This field may only be set for services with type LoadBalancer and will be cleared if the type is changed to any other type. This field is beta-level and is only honored by servers that enable the ServiceLBNodePortControl feature.
|
|
|
|
|
allocateLoadBalancerNodePorts defines if NodePorts will be automatically allocated for services with type LoadBalancer. Default is "true". It may be set to "false" if the cluster load-balancer does not rely on NodePorts. If the caller requests specific NodePorts (by specifying a value), those requests will be respected, regardless of this field. This field may only be set for services with type LoadBalancer and will be cleared if the type is changed to any other type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -298,10 +287,7 @@ ServiceStatus represents the current status of a service.
|
|
|
|
|
|
|
|
|
|
Protocol is the protocol of the service port of which status is recorded here The supported values are: "TCP", "UDP", "SCTP"
|
|
|
|
|
|
|
|
|
|
Possible enum values:
|
|
|
|
|
- `"SCTP"` is the SCTP protocol.
|
|
|
|
|
- `"TCP"` is the TCP protocol.
|
|
|
|
|
- `"UDP"` is the UDP protocol.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- **loadBalancer.ingress.ports.error** (string)
|
|
|
|
|
|
|
|
|
|