diff --git a/cmd/kube-apiserver/app/options/options.go b/cmd/kube-apiserver/app/options/options.go index e15f1052c6b..ec5f7ba5b78 100644 --- a/cmd/kube-apiserver/app/options/options.go +++ b/cmd/kube-apiserver/app/options/options.go @@ -120,7 +120,6 @@ func NewServerRunOptions() *ServerRunOptions { }, ServiceNodePortRange: kubeoptions.DefaultServiceNodePortRange, } - s.ServiceClusterIPRanges = kubeoptions.DefaultServiceIPCIDR.String() // Overwrite the default for storage data format. s.Etcd.DefaultStorageMediaType = "application/vnd.kubernetes.protobuf" diff --git a/cmd/kube-apiserver/app/options/options_test.go b/cmd/kube-apiserver/app/options/options_test.go index d41d284aaf6..2c8c2df5d4e 100644 --- a/cmd/kube-apiserver/app/options/options_test.go +++ b/cmd/kube-apiserver/app/options/options_test.go @@ -112,13 +112,14 @@ func TestAddFlags(t *testing.T) { "--proxy-client-key-file=/var/run/kubernetes/proxy.key", "--request-timeout=2m", "--storage-backend=etcd3", + "--service-cluster-ip-range=192.168.128.0/17", } fs.Parse(args) // This is a snapshot of expected options parsed by args. expected := &ServerRunOptions{ ServiceNodePortRange: kubeoptions.DefaultServiceNodePortRange, - ServiceClusterIPRanges: kubeoptions.DefaultServiceIPCIDR.String(), + ServiceClusterIPRanges: (&net.IPNet{IP: net.ParseIP("192.168.128.0"), Mask: net.CIDRMask(17, 32)}).String(), MasterCount: 5, EndpointReconcilerType: string(reconcilers.LeaseEndpointReconcilerType), AllowPrivileged: false, diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index b5fdb06f5b9..22da02ec911 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -306,7 +306,7 @@ func CreateKubeAPIServerConfig( PerConnectionBandwidthLimitBytesPerSec: s.MaxConnectionBytesPerSec, }) - serviceIPRange, apiServerServiceIP, lastErr := master.DefaultServiceIPRange(s.PrimaryServiceClusterIPRange) + serviceIPRange, apiServerServiceIP, lastErr := master.ServiceIPRange(s.PrimaryServiceClusterIPRange) if lastErr != nil { return } @@ -315,7 +315,7 @@ func CreateKubeAPIServerConfig( var secondaryServiceIPRange net.IPNet // process secondary range only if provided by user if s.SecondaryServiceClusterIPRange.IP != nil { - secondaryServiceIPRange, _, lastErr = master.DefaultServiceIPRange(s.SecondaryServiceClusterIPRange) + secondaryServiceIPRange, _, lastErr = master.ServiceIPRange(s.SecondaryServiceClusterIPRange) if lastErr != nil { return } @@ -575,7 +575,7 @@ func Complete(s *options.ServerRunOptions) (completedServerRunOptions, error) { // nothing provided by user, use default range (only applies to the Primary) if len(serviceClusterIPRangeList) == 0 { var primaryServiceClusterCIDR net.IPNet - serviceIPRange, apiServerServiceIP, err = master.DefaultServiceIPRange(primaryServiceClusterCIDR) + serviceIPRange, apiServerServiceIP, err = master.ServiceIPRange(primaryServiceClusterCIDR) if err != nil { return options, fmt.Errorf("error determining service IP ranges: %v", err) } @@ -588,7 +588,7 @@ func Complete(s *options.ServerRunOptions) (completedServerRunOptions, error) { return options, fmt.Errorf("service-cluster-ip-range[0] is not a valid cidr") } - serviceIPRange, apiServerServiceIP, err = master.DefaultServiceIPRange(*(primaryServiceClusterCIDR)) + serviceIPRange, apiServerServiceIP, err = master.ServiceIPRange(*(primaryServiceClusterCIDR)) if err != nil { return options, fmt.Errorf("error determining service IP ranges for primary service cidr: %v", err) } diff --git a/pkg/master/master.go b/pkg/master/master.go index 54abbfbe6ee..6703bcd604e 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -278,7 +278,7 @@ func (cfg *Config) Complete() CompletedConfig { &cfg.ExtraConfig, } - serviceIPRange, apiServerServiceIP, err := DefaultServiceIPRange(c.ExtraConfig.ServiceIPRange) + serviceIPRange, apiServerServiceIP, err := ServiceIPRange(c.ExtraConfig.ServiceIPRange) if err != nil { klog.Fatalf("Error determining service IP ranges: %v", err) } diff --git a/pkg/master/services.go b/pkg/master/services.go index dbd06191023..80c640ed8ac 100644 --- a/pkg/master/services.go +++ b/pkg/master/services.go @@ -25,12 +25,14 @@ import ( "k8s.io/kubernetes/pkg/registry/core/service/ipallocator" ) -// DefaultServiceIPRange takes a the serviceIPRange flag and returns the defaulted service ip range (if needed), -// api server service IP, and an error -func DefaultServiceIPRange(passedServiceClusterIPRange net.IPNet) (net.IPNet, net.IP, error) { +// ServiceIPRange checks if the serviceClusterIPRange flag is nil, raising a warning if so and +// setting service ip range to the default value in kubeoptions.DefaultServiceIPCIDR +// for now until the default is removed per the deprecation timeline guidelines. +// Returns service ip range, api server service IP, and an error +func ServiceIPRange(passedServiceClusterIPRange net.IPNet) (net.IPNet, net.IP, error) { serviceClusterIPRange := passedServiceClusterIPRange if passedServiceClusterIPRange.IP == nil { - klog.Infof("Network range for service cluster IPs is unspecified. Defaulting to %v.", kubeoptions.DefaultServiceIPCIDR) + klog.Warningf("No CIDR for service cluster IPs specified. Default value which was %s is deprecated and will be removed in future releases. Please specify it using --service-cluster-ip-range on kube-apiserver.", kubeoptions.DefaultServiceIPCIDR.String()) serviceClusterIPRange = kubeoptions.DefaultServiceIPCIDR } if size := ipallocator.RangeSize(&serviceClusterIPRange); size < 8 {