本文整理汇总了Golang中github.com/hyperhq/runv/hypervisor/pod.KPod类的典型用法代码示例。如果您正苦于以下问题:Golang KPod类的具体用法?Golang KPod怎么用?Golang KPod使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了KPod类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: JsonFromFile
func (cli *HyperClient) JsonFromFile(filename string, yaml, k8s bool) (string, error) {
if _, err := os.Stat(filename); err != nil {
return "", err
}
jsonbody, err := ioutil.ReadFile(filename)
if err != nil {
return "", err
}
if yaml == true {
jsonbody, err = cli.ConvertYamlToJson(jsonbody)
if err != nil {
return "", err
}
}
if k8s {
var kpod pod.KPod
if err := json.Unmarshal(jsonbody, &kpod); err != nil {
return "", err
}
userpod, err := kpod.Convert()
if err != nil {
return "", err
}
jsonbody, err = json.Marshal(*userpod)
if err != nil {
return "", err
}
}
return string(jsonbody), nil
}
示例2: HyperCmdRun
// hyper run [OPTIONS] image [COMMAND] [ARGS...]
func (cli *HyperClient) HyperCmdRun(args ...string) error {
if len(args) == 0 {
return fmt.Errorf("%s ERROR: Can not accept the 'run' command without argument!\n", os.Args[0])
}
var opts struct {
PodFile string `short:"p" long:"podfile" value-name:"\"\"" description:"Create and Run a pod based on the pod file"`
K8s string `short:"k" long:"kubernetes" value-name:"\"\"" description:"Create and Run a pod based on the kubernetes pod file"`
Yaml bool `short:"y" long:"yaml" default:"false" default-mask:"-" description:"Create a pod based on Yaml file"`
Name string `long:"name" value-name:"\"\"" description:"Assign a name to the container"`
Attach bool `long:"attach" default:"true" default-mask:"-" description:"Attach the stdin, stdout and stderr to the container"`
Workdir string `long:"workdir" default:"/" value-name:"\"\"" default-mask:"-" description:"Working directory inside the container"`
Tty bool `long:"tty" default:"true" default-mask:"-" description:"Allocate a pseudo-TTY"`
Cpu int `long:"cpu" default:"1" value-name:"1" default-mask:"-" description:"CPU number for the VM"`
Memory int `long:"memory" default:"128" value-name:"128" default-mask:"-" description:"Memory size (MB) for the VM"`
Env []string `long:"env" value-name:"[]" default-mask:"-" description:"Set environment variables"`
EntryPoint string `long:"entrypoint" value-name:"\"\"" default-mask:"-" description:"Overwrite the default ENTRYPOINT of the image"`
RestartPolicy string `long:"restart" default:"never" value-name:"\"\"" default-mask:"-" description:"Restart policy to apply when a container exits (never, onFailure, always)"`
Remove bool `long:"rm" default:"false" value-name:"" default-mask:"-" description:"Automatically remove the pod when it exits"`
}
var parser = gflag.NewParser(&opts, gflag.Default|gflag.IgnoreUnknown)
parser.Usage = "run [OPTIONS] IMAGE [COMMAND] [ARG...]\n\nCreate a pod, and launch a new VM to run the pod"
args, err := parser.Parse()
if err != nil {
if !strings.Contains(err.Error(), "Usage") {
return err
} else {
return nil
}
}
if opts.PodFile != "" {
if _, err := os.Stat(opts.PodFile); err != nil {
return err
}
jsonbody, err := ioutil.ReadFile(opts.PodFile)
if err != nil {
return err
}
if opts.Yaml == true {
jsonbody, err = cli.ConvertYamlToJson(jsonbody)
if err != nil {
return err
}
}
t1 := time.Now()
podId, err := cli.RunPod(string(jsonbody), opts.Remove)
if err != nil {
return err
}
fmt.Printf("POD id is %s\n", podId)
t2 := time.Now()
fmt.Printf("Time to run a POD is %d ms\n", (t2.UnixNano()-t1.UnixNano())/1000000)
return nil
}
if opts.K8s != "" {
var (
kpod pod.KPod
userpod *pod.UserPod
)
if _, err := os.Stat(opts.K8s); err != nil {
return err
}
jsonbody, err := ioutil.ReadFile(opts.K8s)
if err != nil {
return err
}
if opts.Yaml == true {
jsonbody, err = cli.ConvertYamlToJson(jsonbody)
if err != nil {
return err
}
}
if err := json.Unmarshal(jsonbody, &kpod); err != nil {
return err
}
userpod, err = kpod.Convert()
if err != nil {
return err
}
jsonbody, err = json.Marshal(*userpod)
if err != nil {
return err
}
t1 := time.Now()
podId, err := cli.RunPod(string(jsonbody), opts.Remove)
if err != nil {
return err
}
fmt.Printf("POD id is %s\n", podId)
t2 := time.Now()
fmt.Printf("Time to run a POD is %d ms\n", (t2.UnixNano()-t1.UnixNano())/1000000)
return nil
}
if len(args) == 0 {
return fmt.Errorf("%s: \"run\" requires a minimum of 1 argument, please provide the image.", os.Args[0])
//.........这里部分代码省略.........
示例3: HyperCmdRun
// hyper run [OPTIONS] image [COMMAND] [ARGS...]
func (cli *HyperClient) HyperCmdRun(args ...string) error {
if len(args) == 0 {
return fmt.Errorf("%s ERROR: Can not accept the 'run' command without argument!\n", os.Args[0])
}
var opts struct {
PodFile string `short:"p" long:"podfile" value-name:"\"\"" description:"Create and Run a pod based on the pod file"`
K8s string `short:"k" long:"kubernetes" value-name:"\"\"" description:"Create and Run a pod based on the kubernetes pod file"`
Yaml bool `short:"y" long:"yaml" default:"false" default-mask:"-" description:"Create a pod based on Yaml file"`
Name string `long:"name" value-name:"\"\"" description:"Assign a name to the container"`
Attach bool `long:"attach" default:"true" default-mask:"-" description:"Attach the stdin, stdout and stderr to the container"`
Workdir string `long:"workdir" default:"/" value-name:"\"\"" default-mask:"-" description:"Working directory inside the container"`
Tty bool `long:"tty" default:"true" default-mask:"-" description:"Allocate a pseudo-TTY"`
Cpu int `long:"cpu" default:"1" value-name:"1" default-mask:"-" description:"CPU number for the VM"`
Memory int `long:"memory" default:"128" value-name:"128" default-mask:"-" description:"Memory size (MB) for the VM"`
Env []string `long:"env" value-name:"[]" default-mask:"-" description:"Set environment variables"`
EntryPoint string `long:"entrypoint" value-name:"\"\"" default-mask:"-" description:"Overwrite the default ENTRYPOINT of the image"`
RestartPolicy string `long:"restart" default:"never" value-name:"\"\"" default-mask:"-" description:"Restart policy to apply when a container exits (never, onFailure, always)"`
Remove bool `long:"rm" default:"false" value-name:"" default-mask:"-" description:"Automatically remove the pod when it exits"`
Portmap []string `long:"publish" value-name:"[]" default-mask:"-" description:"Publish a container's port to the host, format: --publish [tcp/udp:]hostPort:containerPort"`
}
var parser = gflag.NewParser(&opts, gflag.Default|gflag.IgnoreUnknown)
parser.Usage = "run [OPTIONS] IMAGE [COMMAND] [ARG...]\n\nCreate a pod, and launch a new VM to run the pod"
args, err := parser.Parse()
if err != nil {
if !strings.Contains(err.Error(), "Usage") {
return err
} else {
return nil
}
}
if opts.PodFile != "" {
if _, err := os.Stat(opts.PodFile); err != nil {
return err
}
jsonbody, err := ioutil.ReadFile(opts.PodFile)
if err != nil {
return err
}
if opts.Yaml == true {
jsonbody, err = cli.ConvertYamlToJson(jsonbody)
if err != nil {
return err
}
}
t1 := time.Now()
podId, err := cli.RunPod(string(jsonbody), opts.Remove)
if err != nil {
return err
}
fmt.Printf("POD id is %s\n", podId)
t2 := time.Now()
fmt.Printf("Time to run a POD is %d ms\n", (t2.UnixNano()-t1.UnixNano())/1000000)
return nil
}
if opts.K8s != "" {
var (
kpod pod.KPod
userpod *pod.UserPod
)
if _, err := os.Stat(opts.K8s); err != nil {
return err
}
jsonbody, err := ioutil.ReadFile(opts.K8s)
if err != nil {
return err
}
if opts.Yaml == true {
jsonbody, err = cli.ConvertYamlToJson(jsonbody)
if err != nil {
return err
}
}
if err := json.Unmarshal(jsonbody, &kpod); err != nil {
return err
}
userpod, err = kpod.Convert()
if err != nil {
return err
}
jsonbody, err = json.Marshal(*userpod)
if err != nil {
return err
}
t1 := time.Now()
podId, err := cli.RunPod(string(jsonbody), opts.Remove)
if err != nil {
return err
}
fmt.Printf("POD id is %s\n", podId)
t2 := time.Now()
fmt.Printf("Time to run a POD is %d ms\n", (t2.UnixNano()-t1.UnixNano())/1000000)
return nil
}
if len(args) == 0 {
//.........这里部分代码省略.........