text: Title: DNS labels incorrectly require lower case characters
  Body: **What happened**:
  The DNS-1035 checks (RFC 1035) will result in an error if the name is not lower case.
  
  **What you expected to happen**:
  The RFC does not prohibit lower case labels, they just must be evaluated in a case-insensitive way.
  
  **How to reproduce it (as minimally and precisely as possible)**:
  The fields that are evaluated directly vary, some fields that are "fixed" via a workaround before evaluation in CRDs are shown below.
  
  **Anything else we need to know?**:
  See RFC spec.
  
  I'm seeking to understand why the DNS-1035 check enforces case sensitivity. Is this a design decision in Kubernetes?
  
  https://github.com/kubernetes/kubernetes/blob/939f8ffa87dfd25309d3350ba798498e522a85e2/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go#L152-L153
  
  From the RFC:
  
  > \<label\> ::= \<letter\> [ [ \<ldh-str\> ] \<let-dig\> ]
  > 
  > \<ldh-str\> ::= \<let-dig-hyp\> | \<let-dig-hyp\> \<ldh-str\>
  > 
  > \<let-dig-hyp\> ::= \<let-dig\> | "-"
  > 
  > \<let-dig\> ::= \<letter\> | \<digit\>
  > 
  > \<letter\> ::= any one of the 52 alphabetic characters **A through Z in**
  > **upper case and a through z in lower case**
  > 
  > \<digit\> ::= any one of the ten digits 0 through 9
  > 
  > Note that **while upper and lower case letters are allowed in domain**
  > **names, no significance is attached to the case**.  That is, two names with
  > the same spelling but different case are to be treated as if identical.
  
  There are some checks in the CRDs that will lowercase the names before the check. The history here is not quite clear to me, but assuming the fields are expected to be DNS labels, it looks like a workaround to the actual check.
  
  https://github.com/kubernetes/kubernetes/blob/e4782435429ae6518ad2f5e1713f1f99b30f0fb6/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go#L404-L406