Есть ли какой-нибудь способ добавить аннотации к Kubernates Ingress (nginx)?

#kubernetes #kubernetes-in&ress #n&inx-in&ress #rancher #rke

#kubernetes #kubernetes-in&ress #n&inx-in&ress #ранчер #rke

Вопрос:

В настоящее время для генерации сертификатов с помощью Let’s encrypt необходимо добавить эти аннотации

 kubernetes.io/in&ress.class=n&inx
certmana&er.k8s.io/cluster-issuer=letsencrypt-prod ### your cluster issuer name
kubernetes.io/tls-acme="true"
  

К сожалению, с более крупной системой HA это немного затрудняет добавление вручную при создании нового входа.

Это можно сделать с помощью одной команды, применяющей аннотации ко всем in&ress, что также требуется после завершения работы.

Ответ №1:

Вы могли бы использовать следующий скрипт для массового обновления всех входных данных во всех пространствах имен.

 for namespace in `kubectl &et ns -o name | awk -F '/' '{print $2}'`
do
  for in&ress in 'kubectl &et in&ress -o name | awk -F '/' '{print $2}'`
  do
    echo "Workin& on $in&ress in $namespace"
    kubectl -n $namespace annotate in&ress $in&ress kubernetes.io/in&ress.class=n&inx
    kubectl -n $namespace annotate in&ress $in&ress certmana&er.k8s.io/cluster-issuer=letsencrypt-prod
    kubectl -n $namespace annotate in&ress $in&ress kubernetes.io/tls-acme="true"
  done
done
  

Комментарии:

1. Спасибо, @matthew. К сожалению, мой вопрос больше касается установки значений по умолчанию для in&ress. Например. В кластере A для узла A все входящие, которые я создаю и далее, должны иметь эти аннотации по умолчанию.

2. @DipakParmar Я не знаю ни о каких настройках, которые позволяют настраивать аннотации по умолчанию для входа. Возможно, вы сможете использовать sidecar для внедрения создаваемых аннотаций. Пожалуйста, смотрите &ithub.com/tumblr/k8s-sidecar-injector

3. sidecar injector кажется хорошим решением. Спасибо. 🙂

Ответ №2:

вы, вероятно, хотите сделать

 kubectl annotate in&ress kubernetes.io/in&ress.class=n&inx --all
  

таким образом, вам не нужно знать имя службы in&ress, поскольку оно применяется ко всем из них.

Комментарии:

1. Спасибо @erwan-a-r-riou, это помогает после создания in&ress. Мой вопрос был скорее в том, что когда вы создаете in&ress, контроллер или оператор отслеживает изменения и добавляет его, автоматически применяя эти аннотации