作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在阅读和解析Volumesnapshot对象(或任何K8s对象)。我试图从https://github.com/kubernetes/client-go引用。
我正在尝试在VolumeSnapshot CRD元数据中添加自定义注释
apiVersion: snapshot.storage.k8s.io/v1beta1
kind: VolumeSnapshot
metadata:
name: new-snapshot-test
**annotation:**
**test:Tushar**
spec:
volumeSnapshotClassName: csi-hostpath-snapclass
source:
persistentVolumeClaimName: pvc-test
我也有一个自定义的CSI驱动程序。我需要CSI驱动程序在K8s api服务器中查找volumneSnapshot并解析此自定义注释,然后进行相应处理。
最佳答案
您可以按照Github repo here中的任何示例进行操作。例如,使用动态/非结构化方式(基于this的代码段):
func main() {
var kubeconfig *string
if home := homedir.HomeDir(); home != "" {
kubeconfig = flag.String("kubeconfig", filepath.Join(home, ".kube", "config"), "(optional) absolute path to the kubeconfig file")
} else {
kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file")
}
flag.Parse()
namespace := "default"
config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig)
if err != nil {
panic(err)
}
client, err := dynamic.NewForConfig(config)
if err != nil {
panic(err)
}
volumesnapshotRes := schema.GroupVersionResource{Group: "snapshot.storage.k8s.io", Version: "v1beta1", Resource: "volumesnapshots"}
// List VolumeSnapshots
prompt()
fmt.Printf("Listing volume snapshots in namespace %q:\n", apiv1.NamespaceDefault)
list, err := client.Resource(volumesnapshotRes).Namespace(namespace).List(context.TODO(), metav1.ListOptions{})
if err != nil {
panic(err)
}
for _, d := range list.Items {
...
// do whatever with the items (print, etc)
}
// Finish up
...
关于go - 如何读取Volumesnapshot对象(或任何K8s对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62780682/
我是一名优秀的程序员,十分优秀!