Cách xác định Ingress trong GKE, với vùng chứa Netflix của Spring Cloud

Aug 16 2020

Tôi có một kiến ​​trúc microservice, xây dựng trên Spring Cloud Netflix:

  • business-owner-service trỏ đến một ứng dụng Spring Boot chạy trên cổng 8763. Chuyển tiếp cổng đã hoàn tất, business-owner-service: 80 chuyển hướng đến cổng 8763.
  • dịch vụ khách hàng trỏ đến ứng dụng Spring Boot chạy trên cổng 8766. dịch vụ khách hàng: 80 -> 8766

Kiến trúc chạy chính xác nếu tôi gọi nó qua cổng Spring Cloud Zuul nhưng tôi muốn thiết lập Ingress.

Cấu hình chính xác của tôi như sau:

  • xâm nhập

  • cấu hình đường dẫn xâm nhập

Vấn đề là kẻ xâm nhập có tất cả các dịch vụ phụ trợ không lành mạnh và tôi không biết mình đang làm gì sai. Tôi phải làm gì để có một Ingress hoạt động?

Chỉnh sửa: Theo nhận xét, tôi đã cố gắng xác định readinessProbe, cho nhóm dịch vụ khách hàng, như sau:

Điều này không hoạt động và khi tôi cố gắng kiểm tra lại cấu hình đã cập nhật, readinessProbe không hiển thị. Tôi nghĩ rằng đây là một lỗi, nhưng tôi không chắc chắn làm thế nào để kiểm tra xem đầu dò đã được cập nhật hay chưa.

Ngoài ra, bộ truyền động / sức khỏe GET đang chạy qua cổng Zuul:

Trả lời

1 TudorGrigoriu Aug 19 2020 at 17:49

Điều cuối cùng trở thành giải pháp trong trường hợp của tôi là cấu hình kiểm tra sức khỏe, không phải readinessProbe. Tôi đã cập nhật kiểm tra tình trạng tự động được tạo cho các dịch vụ phụ trợ xâm nhập trỏ tới / actuator / health. Điều này đã hoạt động

ArghyaSadhu Aug 16 2020 at 00:24

Bộ điều khiển xâm nhập GKE thực hiện kiểm tra tình trạng với đầu dò mức độ sẵn sàng được xác định trong triển khai nhóm. Thêm một đầu dò sẵn sàng như bên dưới bằng cách sử dụng bộ truyền động khởi động lò xo

spec:
  containers:
    - name: name
      readinessProbe:
        httpGet:
          port: 8080
          path: /actuator/health
        initialDelaySeconds: 10