كيفية بناء نسخة قديمة من NGINX Ingress Controller وتصحيحها

في هذا HOWTO، فإننا سوف إصلاح الخلل في النسخة القديمة من إنجن إكس دخول تحكم v0.20.0 وتعلم كيفية العمل مع العودة تبعيات من الإصدارات القديمة من خلال إقلاع + بائع .


بسيط


تم أخذ المقال الأصلي بموافقة المؤلف من موقع vitya.top .


مشكلة


ingress-nginx v0.20.0 rewrite. (v0.32.0), :


path: /service/api/v1/tokens
rewrite-target: /api/v1/tokens

/ YAML- Ingress, ingress-nginx 0.20.0 rewrite /api/v1/tokens//. , - , - .


NGINX Ingress, . :


  • ( ).
  • Ingress Controller, .

, .



location.Rewrite.Target strings.TrimSuffix(location.Rewrite.Target, "/").


:


go get k8s.io/ingress-nginx
cd ~/go/src/k8.io/ingress-inginx

, :


git checkout v0.20.0

Makefile. 40 :


vim Makefile

( sed -i -e 's/^ALL_ARCH.*/ALL_ARCH = amd64/g')


:


vim internal/ingress/controller/template/template.go +539

( — . "")


Docker- Go:


vim build/go-in-docker.sh

:


  • E2E_IMAGE docker.myregistry.com/ops/golang:1.10.7-alpine3.8-v7;
  • --entrypoint ${FLAGS}.

:


git add -A
git commit -m "Fix trailing slash bug"

:


dep ensure =v  #  ,      internal 

( 5):


make

tagged quay.io/kubernetes-ingress-controller/nginx-ingress-controller-amd64:0.20.0

:


docker tag quay.io/kubernetes-ingress-controller/nginx-ingress-controller-amd64:0.20.0 docker.myregistry.com/ops/nginx-ingress-controller:0.20.0-patched-2

docker push docker.myregistry.com/ops/nginx-ingress-controller:0.20.0-patched-2

!


, Kubernetes-.


All Articles