Commit 887c48a5 authored by tengqm's avatar tengqm

Expose default service IP CIDR in apiserver

parent 0726f8c7
...@@ -113,6 +113,8 @@ func NewServerRunOptions() *ServerRunOptions { ...@@ -113,6 +113,8 @@ func NewServerRunOptions() *ServerRunOptions {
}, },
ServiceNodePortRange: kubeoptions.DefaultServiceNodePortRange, ServiceNodePortRange: kubeoptions.DefaultServiceNodePortRange,
} }
s.ServiceClusterIPRange = kubeoptions.DefaultServiceIPCIDR
// Overwrite the default for storage data format. // Overwrite the default for storage data format.
s.Etcd.DefaultStorageMediaType = "application/vnd.kubernetes.protobuf" s.Etcd.DefaultStorageMediaType = "application/vnd.kubernetes.protobuf"
......
...@@ -99,6 +99,7 @@ func TestAddFlags(t *testing.T) { ...@@ -99,6 +99,7 @@ func TestAddFlags(t *testing.T) {
// This is a snapshot of expected options parsed by args. // This is a snapshot of expected options parsed by args.
expected := &ServerRunOptions{ expected := &ServerRunOptions{
ServiceNodePortRange: kubeoptions.DefaultServiceNodePortRange, ServiceNodePortRange: kubeoptions.DefaultServiceNodePortRange,
ServiceClusterIPRange: kubeoptions.DefaultServiceIPCIDR,
MasterCount: 5, MasterCount: 5,
EndpointReconcilerType: string(reconcilers.MasterCountReconcilerType), EndpointReconcilerType: string(reconcilers.MasterCountReconcilerType),
AllowPrivileged: false, AllowPrivileged: false,
......
...@@ -17,8 +17,13 @@ limitations under the License. ...@@ -17,8 +17,13 @@ limitations under the License.
package options package options
import ( import (
"net"
utilnet "k8s.io/apimachinery/pkg/util/net" utilnet "k8s.io/apimachinery/pkg/util/net"
) )
// DefaultServiceNodePortRange is the default port range for NodePort services. // DefaultServiceNodePortRange is the default port range for NodePort services.
var DefaultServiceNodePortRange = utilnet.PortRange{Base: 30000, Size: 2768} var DefaultServiceNodePortRange = utilnet.PortRange{Base: 30000, Size: 2768}
// DefaultServiceIPCIDR is a CIDR notation of IP range from which to allocate service cluster IPs
var DefaultServiceIPCIDR net.IPNet = net.IPNet{IP: net.ParseIP("10.0.0.0"), Mask: net.CIDRMask(24, 32)}
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
"net" "net"
"github.com/golang/glog" "github.com/golang/glog"
kubeoptions "k8s.io/kubernetes/pkg/kubeapiserver/options"
"k8s.io/kubernetes/pkg/registry/core/service/ipallocator" "k8s.io/kubernetes/pkg/registry/core/service/ipallocator"
) )
...@@ -31,13 +31,8 @@ import ( ...@@ -31,13 +31,8 @@ import (
func DefaultServiceIPRange(passedServiceClusterIPRange net.IPNet) (net.IPNet, net.IP, error) { func DefaultServiceIPRange(passedServiceClusterIPRange net.IPNet) (net.IPNet, net.IP, error) {
serviceClusterIPRange := passedServiceClusterIPRange serviceClusterIPRange := passedServiceClusterIPRange
if passedServiceClusterIPRange.IP == nil { if passedServiceClusterIPRange.IP == nil {
defaultNet := "10.0.0.0/24" glog.Infof("Network range for service cluster IPs is unspecified. Defaulting to %v.", kubeoptions.DefaultServiceIPCIDR)
glog.Infof("Network range for service cluster IPs is unspecified. Defaulting to %v.", defaultNet) serviceClusterIPRange = kubeoptions.DefaultServiceIPCIDR
_, defaultServiceClusterIPRange, err := net.ParseCIDR(defaultNet)
if err != nil {
return net.IPNet{}, net.IP{}, err
}
serviceClusterIPRange = *defaultServiceClusterIPRange
} }
if size := ipallocator.RangeSize(&serviceClusterIPRange); size < 8 { if size := ipallocator.RangeSize(&serviceClusterIPRange); size < 8 {
return net.IPNet{}, net.IP{}, fmt.Errorf("The service cluster IP range must be at least %d IP addresses", 8) return net.IPNet{}, net.IP{}, fmt.Errorf("The service cluster IP range must be at least %d IP addresses", 8)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment