本文整理汇总了Golang中k8s/io/kubernetes/pkg/client.Client.PersistentVolumeClaims方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.PersistentVolumeClaims方法的具体用法?Golang Client.PersistentVolumeClaims怎么用?Golang Client.PersistentVolumeClaims使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类k8s/io/kubernetes/pkg/client.Client
的用法示例。
在下文中一共展示了Client.PersistentVolumeClaims方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: validatePersistenceVolumeClaims
func validatePersistenceVolumeClaims(c *k8sclient.Client, f *cmdutil.Factory) (Result, error) {
ns, _, err := f.DefaultNamespace()
if err != nil {
return Failure, err
}
rc, err := c.PersistentVolumeClaims(ns).List(labels.Everything(), fields.Everything())
if err != nil {
util.Fatalf("Failed to get PersistentVolumeClaims, %s in namespace %s\n", err, ns)
}
if rc != nil {
items := rc.Items
pendingClaimNames := make([]string, 0, len(items))
for _, item := range items {
status := item.Status.Phase
if status != "Bound" {
pendingClaimNames = append(pendingClaimNames, item.ObjectMeta.Name)
}
}
if len(pendingClaimNames) > 0 {
util.Failuref("PersistentVolumeClaim not Bound for: %s. You need to create a PersistentVolume!\n", strings.Join(pendingClaimNames, ", "))
util.Info(`
to generate a single node PersistentVolume then type something like this:
cat <<EOF | oc create -f -
---
kind: PersistentVolume
apiVersion: v1
metadata:
name: fabric8
spec:
accessModes:
- ReadWrite
capacity:
storage: 1000
hostPath:
path: /opt/fabric8-data
EOF
`)
return Failure, err
}
return Success, err
}
return Failure, err
}
示例2:
volumeTestCleanup(c, config)
}()
pod := startVolumeServer(c, config)
serverIP := pod.Status.PodIP
Logf("NFS server IP address: %v", serverIP)
pv := makePersistentVolume(serverIP)
pvc := makePersistentVolumeClaim(ns)
Logf("Creating PersistentVolume using NFS")
pv, err := c.PersistentVolumes().Create(pv)
Expect(err).NotTo(HaveOccurred())
Logf("Creating PersistentVolumeClaim")
pvc, err = c.PersistentVolumeClaims(ns).Create(pvc)
Expect(err).NotTo(HaveOccurred())
// allow the binder a chance to catch up. should not be more than 20s.
waitForPersistentVolumePhase(api.VolumeBound, c, pv.Name, 1*time.Second, 30*time.Second)
pv, err = c.PersistentVolumes().Get(pv.Name)
Expect(err).NotTo(HaveOccurred())
if pv.Spec.ClaimRef == nil {
Failf("Expected PersistentVolume to be bound, but got nil ClaimRef: %+v", pv)
}
Logf("Deleting PersistentVolumeClaim to trigger PV Recycling")
err = c.PersistentVolumeClaims(ns).Delete(pvc.Name)
Expect(err).NotTo(HaveOccurred())