instruction: Create a Kubernetes Service configuration with best practices
output: ```dockerfile
  from outside the cluster, by connecting to any node using the appropriate
  protocol (for example: TCP), and the appropriate port (as assigned to that Service).Choosing your own portIf you want a specific port number, you can specify a value in the nodePort
  field. The control plane will either allocate you that port or report that
  the API transaction failed.
  This means that you need to take care of possible port collisions yourself.
  You also have to use a valid port number, one that's inside the range configured
  for NodePort use.Here is an example manifest for a Service of type: NodePort that specifies
  a NodePort value (30007, in this example):apiVersion: v1
  kind: Service
  metadata:
   name: my-service
  spec:
   type: NodePort
   selector:
   app.kubernetes.io/name: MyApp
   ports:
   - port: 80
   # By default and for convenience, the `targetPort` is set to
   # the same value as the `port` field.
   targetPort: 80
   # Optional field
   # By default and for convenience, the Kubernetes control plane
   # will allocate a port
  ```