Điểm:0

Hết thời gian chờ xâm nhập AWS EKS trên bất kỳ đường dẫn không root nào

lá cờ fr

Chúng tôi đã định cấu hình tài nguyên Ingress trên cụm EKS của mình với các bản viết lại từ /.* trên bộ cân bằng tải tới URI ngược dòng phù hợp. Nếu chúng ta đến thăm staging.my-domain.com/, chúng tôi thấy phản hồi kiểm tra tình trạng thành công như mong đợi. Tuy nhiên, bất kỳ url nào khác, ví dụ: /api/, dẫn đến thời gian chờ từ bộ cân bằng tải. Dưới đây là cấu hình. (SSL hiện đang bị vô hiệu hóa trong khi chúng tôi tìm ra nó). Bất kỳ trợ giúp sẽ được đánh giá cao!

# Trình điều khiển xâm nhập: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/deploy/installation/
# YAML: https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/alb-ingress.md
apiVersion: mạng.k8s.io/v1
loại: Xâm nhập
metadata:
  chú thích:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: hướng tới internet
    bên ngoài-dns.alpha.kubernetes.io/hostname: staging.my-domain.com
    nginx.ingress.kubernetes.io/ssl-redirect: "sai"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "sai"
    nginx.ingress.kubernetes.io/rewrite-target: /
  tên: nlx-api
thông số kỹ thuật:
  quy tắc:
  - máy chủ: staging.my-domain.com
    http:
      con đường:
      - con đường: /
        pathType: Tiền tố
        phụ trợ:
          dịch vụ:
            tên: our-api
            Hải cảng:
              số: 80
---

phiên bản api: v1
loại: Dịch vụ
metadata:
  tên: our-api
thông số kỹ thuật:
  cổng:
  - tên: http
    cổng: 80
    cổng mục tiêu: 8080
  loại: LoadBalancer
  bộ chọn:
    ứng dụng: our-api
Điểm:0
lá cờ id

Có vẻ như của bạn viết lại Mục tiêu là sai. Nhìn vào ví dụ chung này từ tài liệu:

apiVersion: mạng.k8s.io/v1
loại: Xâm nhập
metadata:
  chú thích:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  tên: viết lại
  không gian tên: mặc định
thông số kỹ thuật:
  quy tắc:
  - chủ nhà: rewrite.bar.com
    http:
      con đường:
      - phụ trợ:
          Tên dịch vụ: http-svc
          cổng dịch vụ: 80
        đường dẫn: /something(/|$)(.*)

Trong định nghĩa xâm nhập này, bất kỳ ký tự nào được ghi lại bởi (.*) sẽ được chỉ định cho trình giữ chỗ $2, mà sau đó được sử dụng như một tham số trong viết lại mục tiêu chú thích. Ví dụ: định nghĩa xâm nhập ở trên sẽ dẫn đến việc viết lại như sau:

  • viết lại.bar.com/something viết lại thành viết lại.bar.com/
  • viết lại.bar.com/something/ viết lại thành viết lại.bar.com/
  • viết lại.bar.com/something/new viết lại thành viết lại.bar.com/new

Trong trường hợp của bạn, nếu bạn cố gắng truy cập staging.my-domain.com/, bạn được viết lại vào cùng một địa chỉ. Mọi thứ đều ổn. Nhưng bạn chỉ có thể viết lại địa chỉ này. Bạn nên thay đổi bảng kê khai của mình như thế này:

apiVersion: mạng.k8s.io/v1
loại: Xâm nhập
metadata:
  chú thích:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: hướng tới internet
    bên ngoài-dns.alpha.kubernetes.io/hostname: staging.my-domain.com
    nginx.ingress.kubernetes.io/ssl-redirect: "sai"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "sai"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
  tên: nlx-api
thông số kỹ thuật:
  quy tắc:
  - máy chủ: staging.my-domain.com
    http:
      con đường:
      - con đường: /(.*)
        pathType: Tiền tố
        phụ trợ:
          dịch vụ:
            tên: our-api
            Hải cảng:
              số: 80

Trong tình huống này, bất kỳ ký tự nào được chụp bởi (.*) sẽ được chỉ định cho trình giữ chỗ $1(đây là nhóm chụp đầu tiên), nhóm này sau đó được sử dụng làm tham số trong viết lại mục tiêu chú thích.

DragonBobZ avatar
lá cờ fr
Rất tiếc, tôi đã thực sự sử dụng cấu hình này như một phần của quá trình khắc phục sự cố trước đây và vừa thử lại. Nó nói: `Mô hình xây dựng không thành công do xâm nhập: our-namespace/our-api: đường dẫn tiền tố không được chứa ký tự đại diện: /(.*)`
Mikołaj Głodziak avatar
lá cờ id
Hãy thử thêm chú thích `nginx.ingress.kubernetes.io/use-regex: "true"`. Bạn có thể đọc thêm [tại đây](https://kubernetes.github.io/ingress-nginx/user-guide/ingress-path-matching/#regular-expression-support). Bạn cũng có thể xem mô tả về [lỗi này](https://github.com/kubernetes/kubernetes/issues/41881). Có vẻ như nó vẫn chưa được sửa.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.