Merge pull request #44 from dlorenc/container
Add a flag to control whether or not localkube runs in a container.pull/57/head
commit
512703be7b
|
@ -1,6 +1,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/signal"
|
||||
|
@ -14,6 +15,8 @@ var (
|
|||
DNSDomain = "cluster.local"
|
||||
ClusterDNSIP = "10.1.30.3"
|
||||
DNSServerAddr = "172.17.0.1:1970"
|
||||
|
||||
containerized = flag.Bool("containerized", true, "Whether localkube is inside a container or not")
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
@ -49,7 +52,7 @@ func load() {
|
|||
LK.Add(scheduler)
|
||||
|
||||
// setup kubelet (configured for weave proxy)
|
||||
kubelet := localkube.NewKubeletServer(DNSDomain, ClusterDNSIP)
|
||||
kubelet := localkube.NewKubeletServer(DNSDomain, ClusterDNSIP, *containerized)
|
||||
LK.Add(kubelet)
|
||||
|
||||
// proxy
|
||||
|
@ -64,11 +67,10 @@ func load() {
|
|||
}
|
||||
|
||||
func main() {
|
||||
// check for network
|
||||
|
||||
flag.Parse()
|
||||
// if first
|
||||
load()
|
||||
err := LK.Run(os.Args, os.Stderr)
|
||||
err := LK.Run(flag.Args(), os.Stderr)
|
||||
if err != nil {
|
||||
fmt.Printf("localkube errored: %v\n", err)
|
||||
os.Exit(1)
|
||||
|
|
|
@ -33,17 +33,17 @@ var (
|
|||
KubeletStop chan struct{}
|
||||
)
|
||||
|
||||
func NewKubeletServer(clusterDomain, clusterDNS string) Server {
|
||||
func NewKubeletServer(clusterDomain, clusterDNS string, containerized bool) Server {
|
||||
return &SimpleServer{
|
||||
ComponentName: KubeletName,
|
||||
StartupFn: StartKubeletServer(clusterDomain, clusterDNS),
|
||||
StartupFn: StartKubeletServer(clusterDomain, clusterDNS, containerized),
|
||||
ShutdownFn: func() {
|
||||
close(KubeletStop)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func StartKubeletServer(clusterDomain, clusterDNS string) func() {
|
||||
func StartKubeletServer(clusterDomain, clusterDNS string, containerized bool) func() {
|
||||
KubeletStop = make(chan struct{})
|
||||
config := options.NewKubeletServer()
|
||||
|
||||
|
@ -51,7 +51,7 @@ func StartKubeletServer(clusterDomain, clusterDNS string) func() {
|
|||
config.APIServerList = []string{APIServerURL}
|
||||
|
||||
// Docker
|
||||
config.Containerized = true
|
||||
config.Containerized = containerized
|
||||
config.DockerEndpoint = WeaveProxySock
|
||||
|
||||
// Networking
|
||||
|
@ -59,7 +59,11 @@ func StartKubeletServer(clusterDomain, clusterDNS string) func() {
|
|||
config.ClusterDNS = clusterDNS
|
||||
|
||||
// use hosts resolver config
|
||||
config.ResolverConfig = "/rootfs/etc/resolv.conf"
|
||||
if containerized {
|
||||
config.ResolverConfig = "/rootfs/etc/resolv.conf"
|
||||
} else {
|
||||
config.ResolverConfig = "/etc/resolv.conf"
|
||||
}
|
||||
|
||||
schedFn := func() error {
|
||||
return kubelet.Run(config, nil)
|
||||
|
|
|
@ -32,19 +32,19 @@ func (lk *LocalKube) Add(server Server) {
|
|||
}
|
||||
|
||||
func (lk *LocalKube) Run(args []string, out io.Writer) error {
|
||||
if len(args) < 2 {
|
||||
if len(args) < 1 {
|
||||
return errors.New("you must choose start <name>, stop <name>, or status")
|
||||
}
|
||||
|
||||
switch args[1] {
|
||||
switch args[0] {
|
||||
case "start":
|
||||
// check if just start
|
||||
if len(args) == 2 {
|
||||
if len(args) == 1 {
|
||||
fmt.Fprintln(out, "Starting LocalKube...")
|
||||
lk.StartAll()
|
||||
return nil
|
||||
} else if len(args) == 3 {
|
||||
serverName := args[2]
|
||||
} else if len(args) == 2 {
|
||||
serverName := args[1]
|
||||
fmt.Fprintf(out, "Starting `%s`...\n", serverName)
|
||||
return lk.Start(serverName)
|
||||
|
||||
|
@ -53,12 +53,12 @@ func (lk *LocalKube) Run(args []string, out io.Writer) error {
|
|||
}
|
||||
case "stop":
|
||||
// check if just stop
|
||||
if len(args) == 2 {
|
||||
if len(args) == 1 {
|
||||
fmt.Fprintln(out, "Stopping LocalKube...")
|
||||
lk.StopAll()
|
||||
return nil
|
||||
} else if len(args) == 3 {
|
||||
serverName := args[2]
|
||||
} else if len(args) == 2 {
|
||||
serverName := args[1]
|
||||
fmt.Fprintf(out, "Stopping `%s`...\n", serverName)
|
||||
return lk.Stop(serverName)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue