小编mrc*_*mrc的帖子

如何在 Kubernetes (AKS) 中使用 Helm 注释 Ingress Controller 的 Pod?

在 Azure AKS 上运行 helm 图表打包容器时,我尝试自动注释 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>
Run Code Online (Sandbox Code Playgroud)

没问题,但是当我的 Pod 终止时,我将丢失注释,并且 Scalyr 可能会丢失一些日志。或者 ingress nginx pod 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>"
Run Code Online (Sandbox Code Playgroud)

但它只是落在 ingress.yaml 的元数据注释中

kind: Ingress
metadata:
  name: {{ $fullName }}
  labels:
    {{- include "myservice.labels" . | nindent 4 }}
  {{- with .Values.ingress.annotations }}
  annotations:
    {{- toYaml . | nindent 4 }}
Run Code Online (Sandbox Code Playgroud)

这会产生服务的注释。但是,我需要在 Pod 上进行注释,以便 Scalyr 使用我的自定义解析器,而不是在服务中。

另一种方法是在安装 nginx-ingress 时硬装:

helm install …
Run Code Online (Sandbox Code Playgroud)

nginx azure kubernetes kubernetes-helm azure-aks

1
推荐指数
1
解决办法
6859
查看次数

标签 统计

azure ×1

azure-aks ×1

kubernetes ×1

kubernetes-helm ×1

nginx ×1