Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes操作员可以在PVC中查看文件吗_Kubernetes_Operator Sdk - Fatal编程技术网

Kubernetes操作员可以在PVC中查看文件吗

Kubernetes操作员可以在PVC中查看文件吗,kubernetes,operator-sdk,Kubernetes,Operator Sdk,kubernetes操作符是否可以监视持久卷声明(PVC)中的文件? 我正在创建一个k8s Golang运营商来部署和管理我的应用程序。应用程序吊舱将有一个已装入的卷。如果PVC上的配置文件发生更改,我需要能够停止和启动pod。这可能吗?我可以在文档中看到,我可以为PVC添加一个监视程序,但不确定它是否也监视文件更新或更改。如评论中所述,您需要一个具有ReadWriteMany功能的卷提供程序,但请确保。这不是大多数操作符的工作方式,因此您必须自己管理文件监视,但有一些很好的低级inotify绑

kubernetes操作符是否可以监视持久卷声明(PVC)中的文件?
我正在创建一个k8s Golang运营商来部署和管理我的应用程序。应用程序吊舱将有一个已装入的卷。如果PVC上的配置文件发生更改,我需要能够停止和启动pod。这可能吗?我可以在文档中看到,我可以为PVC添加一个监视程序,但不确定它是否也监视文件更新或更改。

如评论中所述,您需要一个具有ReadWriteMany功能的卷提供程序,但请确保。这不是大多数操作符的工作方式,因此您必须自己管理文件监视,但有一些很好的低级inotify绑定可用,我认为Viper可以自行重新加载。将其与控制器运行时中的通道监视和与注入协调事件的文件监视接口的后台goroutine结合起来,您应该已经准备好了


也就是说,除非绝对必要,否则应避免使用RWX卷,因为所有现有提供商(NFS、CEPFS等)都有值得注意的缺点和注意事项。此外,这并不是操作符应该如何工作的一般模型,它们应该是API驱动的。一种可能更好的方法是,在每个pod中都有一个类似控制器的sidecar,用于监视API并在pod共享的emptyDir卷中重新生成配置,而不是包含配置的共享RWX卷。这基本上就是大多数入口控制器的工作方式,因此您可以将其作为示例。

如评论中所述,您需要一个支持ReadWriteMany的卷提供程序,但请确保。这不是大多数操作符的工作方式,因此您必须自己管理文件监视,但有一些很好的低级inotify绑定可用,我认为Viper可以自行重新加载。将其与控制器运行时中的通道监视和与注入协调事件的文件监视接口的后台goroutine结合起来,您应该已经准备好了


也就是说,除非绝对必要,否则应避免使用RWX卷,因为所有现有提供商(NFS、CEPFS等)都有值得注意的缺点和注意事项。此外,这并不是操作符应该如何工作的一般模型,它们应该是API驱动的。一种可能更好的方法是,在每个pod中都有一个类似控制器的sidecar,用于监视API并在pod共享的emptyDir卷中重新生成配置,而不是包含配置的共享RWX卷。这就是大多数入口控制器的基本工作方式,因此您可以将其作为示例。

否,要查看卷上的文件,您需要装入卷。@Jonas,卷将装入pod中。应用程序将从装入的卷加载配置文件。如果操作员pod能够监视文件,则必须将其装入。不,要监视卷上的文件,您需要装入卷。@Jonas,卷将装入pod中。应用程序将从装入的卷加载配置文件。如果操作员pod能够监视这些文件,则必须将其装入。