本文整理汇总了Golang中k8s/io/kubernetes/pkg/client/unversioned.PodInterface类的典型用法代码示例。如果您正苦于以下问题:Golang PodInterface类的具体用法?Golang PodInterface怎么用?Golang PodInterface使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PodInterface类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: firstContainerName
func firstContainerName(c kclient.PodInterface, podName string) (string, error) {
pod, err := c.Get(podName)
if err != nil {
return "", err
}
return pod.Spec.Containers[0].Name, nil
}
示例2: getPodConfig
func getPodConfig(c kclient.PodInterface, podName string) (conf *PodConfig, err error) {
pod, err := c.Get(podName)
if err != nil {
return nil, err
}
env := make(map[string]string)
for _, container := range pod.Spec.Containers {
for _, e := range container.Env {
env[e.Name] = e.Value
}
}
return &PodConfig{pod.Spec.Containers[0].Name, env}, nil
}
示例3: getPodStatusForReplicationController
func getPodStatusForReplicationController(c client.PodInterface, controller *api.ReplicationController) (running, waiting, succeeded, failed int, err error) {
rcPods, err := c.List(labels.SelectorFromSet(controller.Spec.Selector), fields.Everything())
if err != nil {
return
}
for _, pod := range rcPods.Items {
switch pod.Status.Phase {
case api.PodRunning:
running++
case api.PodPending:
waiting++
case api.PodSucceeded:
succeeded++
case api.PodFailed:
failed++
}
}
return
}
示例4: installationStarted
func installationStarted(c kclient.PodInterface, name string, s kclient.SecretsInterface) wait.ConditionFunc {
return func() (bool, error) {
pod, err := c.Get(name)
if err != nil {
return false, err
}
if pod.Status.Phase == kapi.PodPending {
return false, nil
}
// delete a secret named the same as the pod if it exists
if secret, err := s.Get(name); err == nil {
if secret.Annotations[newcmd.GeneratedForJob] == "true" &&
secret.Annotations[newcmd.GeneratedForJobFor] == pod.Annotations[newcmd.GeneratedForJobFor] {
if err := s.Delete(name); err != nil {
glog.V(4).Infof("Failed to delete install secret %s: %v", name, err)
}
}
}
return true, nil
}
}
示例5: NewPodWatch
// NewPodWatch creates a pod watching function which is backed by a
// FIFO/reflector pair. This avoids managing watches directly.
// A stop channel to close the watch's reflector is also returned.
// It is the caller's responsibility to defer closing the stop channel to prevent leaking resources.
func NewPodWatch(client kclient.PodInterface, namespace, name, resourceVersion string, stopChannel chan struct{}) func() *kapi.Pod {
fieldSelector := fields.OneTermEqualSelector("metadata.name", name)
podLW := &cache.ListWatch{
ListFunc: func(options kapi.ListOptions) (runtime.Object, error) {
options.FieldSelector = fieldSelector
return client.List(options)
},
WatchFunc: func(options kapi.ListOptions) (watch.Interface, error) {
options.FieldSelector = fieldSelector
return client.Watch(options)
},
}
queue := cache.NewResyncableFIFO(cache.MetaNamespaceKeyFunc)
cache.NewReflector(podLW, &kapi.Pod{}, queue, 1*time.Minute).RunUntil(stopChannel)
return func() *kapi.Pod {
obj := cache.Pop(queue)
return obj.(*kapi.Pod)
}
}
示例6: installationComplete
func installationComplete(c kclient.PodInterface, name string, out io.Writer) wait.ConditionFunc {
return func() (bool, error) {
pod, err := c.Get(name)
if err != nil {
if kapierrors.IsNotFound(err) {
return false, fmt.Errorf("installation pod was deleted; unable to determine whether it completed successfully")
}
return false, nil
}
switch pod.Status.Phase {
case kapi.PodSucceeded:
fmt.Fprintf(out, "--> Success\n")
if err := c.Delete(name, nil); err != nil {
glog.V(4).Infof("Failed to delete install pod %s: %v", name, err)
}
return true, nil
case kapi.PodFailed:
return true, fmt.Errorf("installation of %q did not complete successfully", name)
default:
return false, nil
}
}
}
示例7:
"k8s.io/kubernetes/pkg/apimachinery/registered"
client "k8s.io/kubernetes/pkg/client/unversioned"
awscloud "k8s.io/kubernetes/pkg/cloudprovider/providers/aws"
gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
"k8s.io/kubernetes/pkg/util"
)
const (
gcePDDetachTimeout = 10 * time.Minute
gcePDDetachPollTime = 10 * time.Second
)
var _ = Describe("Pod Disks", func() {
var (
podClient client.PodInterface
host0Name string
host1Name string
)
framework := NewFramework("pod-disks")
BeforeEach(func() {
SkipUnlessNodeCountIsAtLeast(2)
podClient = framework.Client.Pods(framework.Namespace.Name)
nodes := ListSchedulableNodesOrDie(framework.Client)
Expect(len(nodes.Items)).To(BeNumerically(">=", 2), "Requires at least 2 nodes")
host0Name = nodes.Items[0].ObjectMeta.Name
host1Name = nodes.Items[1].ObjectMeta.Name
示例8:
import (
"time"
"k8s.io/kubernetes/pkg/api"
client "k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/util"
"k8s.io/kubernetes/pkg/util/wait"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("Probing container", func() {
framework := NewFramework("container-probe")
var podClient client.PodInterface
probe := webserverProbeBuilder{}
BeforeEach(func() {
framework.beforeEach()
podClient = framework.Client.Pods(framework.Namespace.Name)
})
AfterEach(framework.afterEach)
It("with readiness probe should not be ready before initial delay and never restart [Conformance]", func() {
p, err := podClient.Create(makePodSpec(probe.withInitialDelay().build(), nil))
expectNoError(err)
startTime := time.Now()
Expect(wait.Poll(poll, 90*time.Second, func() (bool, error) {
示例9:
client "k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/cloudprovider/providers/aws"
"k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/util"
)
const (
gcePDDetachTimeout = 10 * time.Minute
gcePDDetachPollTime = 10 * time.Second
)
var _ = Describe("Pod Disks", func() {
var (
podClient client.PodInterface
host0Name string
host1Name string
)
framework := NewFramework("pod-disks")
BeforeEach(func() {
SkipUnlessNodeCountIsAtLeast(2)
podClient = framework.Client.Pods(framework.Namespace.Name)
nodes, err := framework.Client.Nodes().List(labels.Everything(), fields.Everything())
expectNoError(err, "Failed to list nodes for e2e cluster.")
Expect(len(nodes.Items)).To(BeNumerically(">=", 2), "Requires at least 2 nodes")
host0Name = nodes.Items[0].ObjectMeta.Name