krew install ingress-nginx, который позволит получить текущую nginx-конфигурацию для Nexus
kubectl ingress-nginx conf -n ingress-nginx --host nexus.example.ru
2. Для манифеста Ingress добавить следующие аннотации:
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-buffering: "off"
nginx.ingress.kubernetes.io/server-snippet: |
location ~ ^/(v1|v2)/[^/]+/?[^/]+/blobs/ {
if ($request_method ~* (POST|PUT|DELETE|PATCH|HEAD) ) {
rewrite ^/(.*)$ /repository/docker-private/$1 last;
}
rewrite ^/(.*)$ /repository/docker-group/$1 last;
}
location ~ ^/(v1|v2)/ {
if ($request_method ~* (POST|PUT|DELETE|PATCH) ) {
rewrite ^/(.*)$ /repository/docker-private/$1 last;
}
rewrite ^/(.*)$ /repository/docker-group/$1 last;
}
Решение основано на https://stackoverflow.com/a/65122703
Пул будет из group, пуш будет в private. Предыдущий вариант с proxy_pass выглядит как хардкод, т.к. привязываемся к имени сервиса
Ты заметил что решение из СО взято по ссылке что я запинил?)
кажется, понял о чём речь. В гисте abdennour в самом начале примерно такая же конфигурацичя
Обсуждают сегодня