Kubernetes Service Manifest
External
Internal
Example
apiVersion: v1 kind: Service metadata: name: blue labels: size: large spec: type: ClusterIP selector: function: front-end # Label selector, the service is looking for # pods with the label "function=front-end" ports: - port: 80 targetPort: 8080 protocol: TP
.metadata Elements
labels
The labels declared here apply to the service instance itself, they have no relationship to the target pods' labels, which are declared in the spec selector. Also see:
.spec Elements
type
Optional element. If not specified, it is assumed to be "ClusterIP".
selector
The service will select the pods to be exposed based on the labels specified in this selector. Also see:
ports
The element contains an array of ports that will exposed by the service. A port is specified by the following elements:
port
The port exposed by the service externally. This is the port the service will be available on, and the value will be used by the external clients connecting to the service. Also see:
targetPort
The port exposed by the pods associated with the service. The service will forward requests over connections opened with this port as target.