mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
aggregation: handle ClusterIPNone correctly
This commit is contained in:
parent
d56759452c
commit
b1f708758c
@ -101,6 +101,8 @@ func ResolveCluster(services listersv1.ServiceLister, namespace, id string) (*ur
|
|||||||
port := intstr.FromInt(443)
|
port := intstr.FromInt(443)
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
|
case svc.Spec.Type == v1.ServiceTypeClusterIP && svc.Spec.ClusterIP == v1.ClusterIPNone:
|
||||||
|
return nil, fmt.Errorf(`cannot route to service with ClusterIP "None"`)
|
||||||
// use IP from a clusterIP for these service types
|
// use IP from a clusterIP for these service types
|
||||||
case svc.Spec.Type == v1.ServiceTypeClusterIP, svc.Spec.Type == v1.ServiceTypeLoadBalancer, svc.Spec.Type == v1.ServiceTypeNodePort:
|
case svc.Spec.Type == v1.ServiceTypeClusterIP, svc.Spec.Type == v1.ServiceTypeLoadBalancer, svc.Spec.Type == v1.ServiceTypeNodePort:
|
||||||
svcPort, err := findServicePort(svc, port)
|
svcPort, err := findServicePort(svc, port)
|
||||||
|
@ -118,6 +118,22 @@ func TestResolve(t *testing.T) {
|
|||||||
clusterMode: expectation{url: "https://hit:443"},
|
clusterMode: expectation{url: "https://hit:443"},
|
||||||
endpointMode: expectation{error: true},
|
endpointMode: expectation{error: true},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "none cluster ip",
|
||||||
|
services: []*v1.Service{
|
||||||
|
{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{Namespace: "one", Name: "alfa"},
|
||||||
|
Spec: v1.ServiceSpec{
|
||||||
|
Type: v1.ServiceTypeClusterIP,
|
||||||
|
ClusterIP: v1.ClusterIPNone,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
endpoints: nil,
|
||||||
|
|
||||||
|
clusterMode: expectation{error: true},
|
||||||
|
endpointMode: expectation{error: true},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "loadbalancer",
|
name: "loadbalancer",
|
||||||
services: []*v1.Service{
|
services: []*v1.Service{
|
||||||
|
Loading…
Reference in New Issue
Block a user