Eu tenho um gráfico de leme que contém um TargetGroupBinding
{{- range $v := .Values.targetBindings }}
apiVersion: elbv2.k8s.aws/v1beta1
kind: TargetGroupBinding
metadata:
name: {{ include "fullname" $ }}-{{ $v.name }}
labels:
{{- include "labels" $ | nindent 4 }}
spec:
targetGroupARN: {{ $v.target }}
serviceRef:
name: {{ include "fullname" $ }}
port: {{ $v.port }}
---
{{- end }}
Isso funciona perfeitamente bem ao instalar um novo gráfico de leme, mas assim que tentamos executar uma atualização de leme, obtemos o seguinte erro
Error: UPGRADE FAILED: failed to replace object: admission webhook "vtargetgroupbinding.elbv2.k8s.aws" denied the request: TargetGroupBinding must specify these fields: spec.targetType
Como diz o erro, tentei adicionar o spec.targetType (que é 'ip' neste caso), mas ao fazer isso recebo o erro:
Error: UPGRADE FAILED: failed to replace object: admission webhook "vtargetgroupbinding.elbv2.k8s.aws" denied the request: TargetGroupBinding update may not change these fields: spec.ipAddressType
De acordo com a documentação da AWS, spec.targetType é opcional ( https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.8/guide/targetgroupbinding/spec/#elbv2.k8s.aws/v1beta1. TargetType )
Alguém já se deparou com isso antes/sabe como resolver isso?
Parece que resolvi isso para tipos de destino IP. Eu adicionei
targetType
ao yaml apesar de ser considerado opcional e, embora não esteja na documentação da AWS, executando umkubectl edit
no recurso, percebi que também haviaipAddressType
, então também adicionei isso ao meu yaml.Meu resultado é:
Não sei como
ipAddressType
seria ou se existiria setargetType
fosse uma instância, mas por enquanto não preciso me preocupar com isso.