azure - 如何在 Kubernetes (AKS) 中使用 Helm 注释 Ingress Controller 的 pod?
问题描述
在 Azure AKS 上运行 helm chart 打包容器时,我正在尝试自动注释 pod(编辑:入口控制器 pod)以在 Scalyr 中设置自定义日志解析器。我可以自动注释服务,但无法自动注释 pod。使用 kubectl 手动执行此操作:
kubectl annotate pod nginx-ingress-ingress-nginx-controller-yyy-xxx --overwrite log.config.scalyr.com/attributes.parser=<my_scalyr_parser_name>
很好,但是当我的 pod 终止时,我会丢失我的注释,并且 Scalyr 可能会丢失一些日志。还是入口 nginx pods IDDQD(不朽)?所以我试图以某种方式自动化它。
我尝试将其添加到 values.yaml
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: "true"
log.config.scalyr.com/attributes.parser: "<my_scalyr_parser_name>"
但它只是落在 ingress.yaml 中的元数据注释中
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "myservice.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
这导致了服务的注释。但是,我需要在 pod 上进行注释,以便 Scalyr 使用我的自定义解析器,而不是在服务中。
另一种方法是在安装 nginx-ingress 时努力做到这一点:
helm install nginx-ingress ingress-nginx/ingress-nginx --set controller.replicaCount=3 --set-string controller.pod.annotations.'log\.config\.scalyr\.com/attributes\.parser'="<my_scalyr_parser_name>"
--set-string controller.service.annotations.'service\.beta\.kubernetes\.io/azure-load-balancer-internal'="true"
当我设置 controller.service.annotations 时,我在服务上得到了注释,但是 controller.pod.annotations 被忽略了(我在 nginx 文档中找到了 controller.pod.annotations)。
那我还能做什么?
解决方案
您应该能够使用values.yaml
, 以您尝试的类似方式来做到这一点ingress
:
controller:
podAnnotations:
log.config.scalyr.com/attributes.parser: "<my_scalyr_parser_name>"
由于某种原因,变量的键controller.podAnnotations
不是controller.pod.annotations
推荐阅读
- mysql - Mysql 未在 xampp 中启动:意外关闭
- spring - Spring Boot 2.2.1 RELEASE 构建错误相对路径
- swift - 索引标签 UITapGestureRecognizer 在应用于插座集合时没有响应
- bash - 如果没有给出输出文件,Crontab Bash 脚本似乎超时
- vuejs2 - 使用 Vue2-Leaflet 对 Geojson 的错误可视化
- c++ - 无需显式声明即可自动将多种类型初始化为特定值
- jsf - 将xhtml文件复制并重命名为JSF中的新文件导致数据不加载
- angular - 在角材料中创建动态按钮
- python - How to detect overfitting with Cross Validation: What should be the difference threshold?
- javascript - 如何在谷歌函数中绘制圆形或矩形等图形对象?