mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Enable km to use local km in agent.
This commit is contained in:
parent
203e1e9663
commit
b361f40009
@ -344,7 +344,7 @@ func (s *SchedulerServer) AddStandaloneFlags(fs *pflag.FlagSet) {
|
|||||||
|
|
||||||
func (s *SchedulerServer) AddHyperkubeFlags(fs *pflag.FlagSet) {
|
func (s *SchedulerServer) AddHyperkubeFlags(fs *pflag.FlagSet) {
|
||||||
s.addCoreFlags(fs)
|
s.addCoreFlags(fs)
|
||||||
fs.StringVar(&s.kmPath, "km-path", s.kmPath, "Location of the km executable, may be a URI or an absolute file path.")
|
fs.StringVar(&s.kmPath, "km-path", s.kmPath, "Location of the km executable, may be a URI or an absolute file path; may be prefixed with 'file://' to specify the path to a pre-installed, agent-local km binary.")
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns (downloadURI, basename(path))
|
// returns (downloadURI, basename(path))
|
||||||
@ -390,11 +390,16 @@ func (s *SchedulerServer) prepareExecutorInfo(hks hyperkube.Interface) (*mesos.E
|
|||||||
return nil, fmt.Errorf("either run this scheduler via km or else --executor-path is required")
|
return nil, fmt.Errorf("either run this scheduler via km or else --executor-path is required")
|
||||||
} else {
|
} else {
|
||||||
if strings.Index(s.kmPath, "://") > 0 {
|
if strings.Index(s.kmPath, "://") > 0 {
|
||||||
// URI could point directly to executable, e.g. hdfs:///km
|
if strings.HasPrefix(s.kmPath, "file://") {
|
||||||
// or else indirectly, e.g. http://acmestorage/tarball.tgz
|
// If `kmPath` started with "file://", `km` in agent local path was used.
|
||||||
// so we assume that for this case the command will always "km"
|
ci.Value = proto.String(strings.TrimPrefix(s.kmPath, "file://"))
|
||||||
ci.Uris = append(ci.Uris, &mesos.CommandInfo_URI{Value: proto.String(s.kmPath), Executable: proto.Bool(true)})
|
} else {
|
||||||
ci.Value = proto.String("./km") // TODO(jdef) extract constant
|
// URI could point directly to executable, e.g. hdfs:///km
|
||||||
|
// or else indirectly, e.g. http://acmestorage/tarball.tgz
|
||||||
|
// so we assume that for this case the command will always "km"
|
||||||
|
ci.Uris = append(ci.Uris, &mesos.CommandInfo_URI{Value: proto.String(s.kmPath), Executable: proto.Bool(true)})
|
||||||
|
ci.Value = proto.String("./km") // TODO(jdef) extract constant
|
||||||
|
}
|
||||||
} else if s.kmPath != "" {
|
} else if s.kmPath != "" {
|
||||||
uri, kmCmd := s.serveFrameworkArtifact(s.kmPath)
|
uri, kmCmd := s.serveFrameworkArtifact(s.kmPath)
|
||||||
ci.Uris = append(ci.Uris, &mesos.CommandInfo_URI{Value: proto.String(uri), Executable: proto.Bool(true)})
|
ci.Uris = append(ci.Uris, &mesos.CommandInfo_URI{Value: proto.String(uri), Executable: proto.Bool(true)})
|
||||||
|
Loading…
Reference in New Issue
Block a user