Validate None Service ClusterIP against LB type

If the Service is a Load Balancer, it should not have None Cluster IP.
If it does, Service validation fails.
This commit is contained in:
Maciej Kwiek
2016-09-22 16:07:47 +02:00
parent 5d218f938a
commit 9e1c886a80
2 changed files with 19 additions and 0 deletions

View File

@@ -2406,6 +2406,9 @@ func ValidateService(service *api.Service) field.ErrorList {
allErrs = append(allErrs, field.Invalid(portPath, port.Port, "may not expose port 10250 externally since it is used by kubelet"))
}
}
if service.Spec.ClusterIP == "None" {
allErrs = append(allErrs, field.Invalid(specPath.Child("clusterIP"), service.Spec.ClusterIP, "may not be set to 'None' for LoadBalancer services"))
}
case api.ServiceTypeExternalName:
if service.Spec.ClusterIP != "" {
allErrs = append(allErrs, field.Invalid(specPath.Child("clusterIP"), service.Spec.ClusterIP, "must be empty for ExternalName services"))