... | ... |
@@ -33,7 +33,7 @@ const ( |
33 | 33 |
|
34 | 34 |
// MasterConfig defines the required values to start a Kubernetes master |
35 | 35 |
type MasterConfig struct { |
36 |
- MasterHost string |
|
36 |
+ MasterIP net.IP |
|
37 | 37 |
MasterPort int |
38 | 38 |
NodeHosts []string |
39 | 39 |
PortalNet *net.IPNet |
... | ... |
@@ -67,7 +67,7 @@ func (c *MasterConfig) InstallAPI(container *restful.Container) []string { |
67 | 67 |
} |
68 | 68 |
|
69 | 69 |
masterConfig := &master.Config{ |
70 |
- PublicAddress: c.MasterHost, |
|
70 |
+ PublicAddress: c.MasterIP, |
|
71 | 71 |
ReadWritePort: c.MasterPort, |
72 | 72 |
ReadOnlyPort: c.MasterPort, |
73 | 73 |
|
... | ... |
@@ -507,9 +507,20 @@ func start(cfg *config, args []string) error { |
507 | 507 |
|
508 | 508 |
if startKube { |
509 | 509 |
portalNet := net.IPNet(cfg.PortalNet) |
510 |
+ masterIP := net.ParseIP(cfg.MasterAddr.Host) |
|
511 |
+ if masterIP == nil { |
|
512 |
+ addrs, err := net.LookupIP(cfg.MasterAddr.Host) |
|
513 |
+ if err != nil { |
|
514 |
+ glog.Fatalf("Unable to find an IP for %q - specify an IP directly? %v", cfg.MasterAddr.Host, err) |
|
515 |
+ } |
|
516 |
+ if len(addrs) == 0 { |
|
517 |
+ glog.Fatalf("Unable to find an IP for %q - specify an IP directly?", cfg.MasterAddr.Host) |
|
518 |
+ } |
|
519 |
+ masterIP = addrs[0] |
|
520 |
+ } |
|
510 | 521 |
|
511 | 522 |
kmaster := &kubernetes.MasterConfig{ |
512 |
- MasterHost: cfg.MasterAddr.Host, |
|
523 |
+ MasterIP: masterIP, |
|
513 | 524 |
MasterPort: cfg.MasterAddr.Port, |
514 | 525 |
NodeHosts: cfg.NodeList, |
515 | 526 |
PortalNet: &portalNet, |