我在kubernetes
中运行了一个应用程序,它通过configmaps
挂载了一个文件。现在,在应用程序内部,我希望在更新此文件(来自configmap)时执行一些操作(比如通过kubectl update configmaps xyz
命令)。
假设我使用以下命令创建了configmap:
kubectl create configmap myy-config --from-file=config.json
我的部署是这样创建的:
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: myapp
spec:
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
-
image: "xyz"
name: myapp
ports:
-
containerPort: 5566
volumeMounts:
-
mountPath: /myapp/config
name: config
dnsPolicy: ClusterFirstWithHostNet
volumes:
-
name: config
configMap:
name: my-config
现在,如果我做kubectl exec-it
当然,如果我在笔记本电脑上运行同一个应用程序,代码会得到fsnotify,我的应用程序会更新它的配置。来自kubernetes的代码与来自configmap的文件相同,但不起作用。我读过其他类似的SOF问题和其他各种问题,但没有任何具体的解决方案可以解决我所面临的问题。
我知道文件(来自配置图)是一个符号链接,实际文件位于一个名为
... data/config.json
的文件夹中。我试图添加该文件也,但仍然没有得到fs通知信号。是否有可能从应用程序内的配置图(以及机密)中获取文件的fs通知信号?如果是的话,有人能帮助我并告诉我如何做吗(最好是在GO lang中)?
听起来像是你要找的那个。它将监视configmap/secret并更新与其相关的部署。
您可能会遇到这样的问题:
当ConfigMap更改时,它包含的配置文件的实际路径会更改,但这有点被两级符号链接“隐藏”:[…]
因此,您似乎需要遵循符号链接链并注意这一点。由于您的应用程序是用go
编写的,您可以使用spf13/viper
,因为添加了WatchConfig和Kubernetes功能。
或者,您可以通过Kubernetes API获得有关ConfigMap更改的通知。这可能需要预先配置一些访问规则。
我有一个小型java webapp,由三个微服务组成——api-service、book-service和db-service,所有这些都使用mini kube本地部署在kubernetes集群上。 我计划为api-service和book-service保留单独的UI,从单独的pod提供常见的静态文件,可能是映像。 我能够创建一个前端,为参考本教程的nginx:alpine中的静态文件提供服务。
要获取请求URL,可以在堆栈溢出中找到以下方法。 第一种方法: 第二种方法: 第三种方法: 我不知道在spring boot应用程序中使用哪一个来获取请求URL。 如果我使用第三种方法,那么我是否需要在配置类中创建RequestContextListener的bean,如下所示?
我想在通知屏幕上显示通知,无论应用程序是在后台还是前台。我为寻找解决办法而疲惫不堪。非常感谢任何帮助。
当应用程序在后台时,如何更新包含数据负载的Firebase推送通知?有没有办法在通知中指定通知id给Firebase API? 完整的项目在github https://github.com/akshatashan/FireBaseCloudMessagingDemo中
问题内容: 您能否解释一下如何在我的子类中获取实例?可能吗?我已尝试按照以下代码片段的方式进行操作,但它似乎不起作用- 未设置: web.xml: 问题是我需要从中获取上下文参数。如果有其他方法,请给我一个提示,我将不胜感激。 我了解注记可能并非为此目的。实际上,我不需要自己。如果只有我可以从web.xml中获取上下文参数,我将非常高兴。 这是我真正需要的一个例子: 谢谢。 问题答案: 从Jers
我使用了Web API控制器中的IActionResult和邮递员的加热方法,我的功能正在工作,但没有得到成功响应。我的代码是: Postman中的响应是:无法获得任何响应连接到https://localhost:44303/api/pousada/markasinactive时出错。可能发生这种情况的原因:服务器无法发送响应:确保后端正常工作自签名SSL证书被阻止:通过关闭设置>常规代理配置错误