instruction: Create a Kubernetes Service configuration with best practices
output: ```dockerfile
  from any other pod or node in your cluster using the assigned IP
  address for the pod. If you want to arrange for a specific port on the host
  Node to be forwarded to backing Pods, you can - but the networking model should
  mean that you do not need to do so.
  You can read more about the
  Kubernetes Networking Model
  if you're curious.
  Creating a Service
  So we have pods running nginx in a flat, cluster wide, address space. In theory,
  you could talk to these pods directly, but what happens when a node dies? The pods
  die with it, and the ReplicaSet inside the Deployment will create new ones, with different IPs. This is
  the problem a Service solves.
  A Kubernetes Service is an abstraction which defines a logical set of Pods running
  somewhere in your cluster, that all provide the same functionality. When created,
  each Service is assigned a unique IP address (also called clusterIP). This address
  is tied to the lifespan of the Service, and will not change while the Service is alive.
  Pods can be configured to talk to the Service, and know that communication to the
  Service will be automatically load-balanced out to some pod that is a member of the Service.
  You can create a Service for your 2 nginx replicas with kubectl expose:
  kubectl expose deployment/my-nginx
  service/my-nginx exposed
  This is equivalent to kubectl apply -f the following yaml:
  
  service/networking/nginx-svc.yaml
  
  apiVersion: v1
  kind: Service
  metadata:
   name: my-nginx
   labels:
   run: my-nginx
  spec:
   ports:
   - port: 80
   protocol: TCP
   selector:
   run: my-nginx
  
  This specification will create a Service which targets TCP port 80 on any Pod
  with the run: my-nginx label, and expose it on an abstracted Service port
  (targetPort: is the port the container accepts traffic on, port: is the
  abstracted Service port, which can be any port other pods use to access the
  Service).
  View Service
  API object to see the list of supported fields in service definition.
  Check your Service:
  kubectl get svc my-nginx
  NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  my-nginx ClusterIP 10.0.162.149 <none> 80/TCP 21s
  As mentioned previously, a Service is backed by a group of Pods. These Pods are
  exposed through
  EndpointSlices.
  The Service's selector will be evaluated continuously and the results will be POSTed
  to an EndpointSlice that is connected to the Service using
  labels.
  When a Pod dies, it is automatically removed
  ```