咨询:在OpenShift 4.12.45中通过社区版Grafana Operator v5.9.2为grafana-a自定义资源配置环境变量并传递至grafana-a-deployment
咨询:在OpenShift 4.12.45中通过社区版Grafana Operator v5.9.2为grafana-a自定义资源配置环境变量并传递至grafana-a-deployment
我完全懂你的困扰——手动改Deployment的环境变量确实只是临时方案,Operator的自动调和(reconcile)很快就会把配置打回原形。针对你用的Grafana Operator v5.9.2版本,其实官方已经提供了稳定的方式,直接在Grafana自定义资源(CR)里配置环境变量,会自动同步到对应的Deployment,不会再被覆盖。
具体操作步骤如下:
编辑grafana-a的Grafana CR
在CR的spec字段下新增deployment.env配置块,把需要的NO_PROXY、HTTPS_PROXY等变量定义在这里:apiVersion: grafana.integreatly.org/v1beta1 kind: Grafana metadata: name: grafana-a spec: # 保留你已有的其他配置(比如关联的仪表盘、数据源等) deployment: env: - name: NO_PROXY value: "你的NO_PROXY取值,比如内部服务域名、IP段列表" - name: HTTPS_PROXY value: "你的代理服务地址,例如http://proxy.example.com:8080"敏感值用Secret/ConfigMap引用(可选)
如果代理地址这类信息需要保密,不要直接写明文,可以通过valueFrom从Secret或ConfigMap中读取:- name: HTTPS_PROXY valueFrom: secretKeyRef: name: proxy-secrets key: https-proxy-url应用修改并验证
保存修改后的CR并推送到集群,等待几秒让Operator完成调和,之后查看grafana-a-deployment的环境变量,就能看到配置的变量已经生效,而且后续Operator不会再覆盖这些配置。
你之前尝试的PR方法可能对应Operator的早期版本或者未正式合并的特性,在v5.9.2里已经不需要用那种方式了,官方已经把环境变量配置整合到了spec.deployment字段下,这是当前版本的标准用法。
备注:内容来源于stack exchange,提问作者wwillfred
相关产品推荐
相关产品推荐

