1 Answers
The client sees a service via the service name from kubernetes DNS, remember a service name as soon as it is established it is stable and has a fixed ip. the name of the service is the name specified in the service metadata section.
The service has a selector that will specify one or more labels, so, yes the service can specify more than one label for the selector and all of them have to match pod labels, for the pod to be selected.
you have more control on labels and selections using matchExpressions
selector: matchLabels: component: redis matchExpressions: - {key: tier, operator: In, values: [cache]} - {key: environment, operator: NotIn, values: [dev]}
check for more at https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
I agree with what Walid has said +1