Tried to make that deployment really really big (fill in big annotation for example), so that the error is triggered
**Result**
* Failed to create deployment: Deployment.apps "test" is invalid: metadata.annotations : Too long : must have at most 262144 characters
* Turned out their is already a validation on complete annotations [here](https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta.go#L57)
Tried to find out the upper limit of etcd 3 on it's value size limit
**Result**
* The upper limit turned out to be 1MB
* got `error: 413 - Request Entity Too Large` on trying values above 1MB (10^6)
Next up the limit of etcd is known(1MB), tried to make other possible places to make the object huge.
**Result**
* So incase of `labels` there is a validation of specific label values to be <63 characters
But no upper limit on the total size of all labels combined (edited)
* So I noticed the following errors while changing the sizes :
* request size > 1MB `etcdserver: request is too large`
* request size > 2MB `rpc error: code = ResourceExhausted desc = grpc: trying to send message larger than max (3489421 vs. 2097152)`
Created a test in test/integration/master/synthetic_master_test.go for the labels, annotations and finalizers
#Result
* `finalizers` too have an upper limit of `253` for each value [here](https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go#L136) but no validation on the whole string array size
* Finally the following was concluded :
* annotations have a limit of 256kb
* labels have individual limit of 63 characters
* finalizers too have an individual limit of 253 characters