Điểm:0

Cổng vào Istio không thể kết nối với nhiều bản sao cho một dịch vụ

lá cờ in

Tôi đang thiết lập Istio trong cụm AWS EKS mới và tạo triển khai nginx cơ bản để thử nghiệm. Khi triển khai chỉ có một bản sao, nó hoạt động hoàn hảo, phản hồi trong vòng chưa đầy 100 mili giây. Khi tôi thêm một bản sao, thời gian phản hồi của nhóm mới tăng lên chóng mặt, trung bình khoảng 10 giây.

Dựa trên các đề xuất từ ​​nơi khác, tôi đã cập nhật cấu hình lưới để tắt thử lại tự động:

lướiConfig:
   defaultHttpRetryPolicy: {}

Sau khi điều này xảy ra, tôi thấy rằng các yêu cầu đối với nhóm thứ hai luôn không thành công:

"GET / HTTP/1.1" 503 UF upstream_reset_b Before_response_started{connection_failure} - "-" 0 91 10003 - "108.249.9.111,10.1.0.117" "curl/7.68.0" "6fa51be8-1441-4454-8d 1b-a03c93b257dc" example.com" "10.1.52.62:80" outbound|80||nginx.my-namespace.svc.cluster.local - 10.1.108.189:8080 10.1.0.117:21410 - -

Thiết lập của tôi là như sau:

# AWS ALB Ingress -> istio-ingressgateway (ClusterIP) -> cổng -> dịch vụ ảo -> dịch vụ -> nginx

phiên bản api: mạng.istio.io/v1beta1
loại: Cổng
metadata:
  tên: mặc định
thông số kỹ thuật:
  bộ chọn:
    istio: cổng vào
  may chủ:
  - Hải cảng:
      số: 80
      tên: http
      giao thức: HTTP
    máy chủ:
    - "*"

---

phiên bản api: mạng.istio.io/v1beta1
loại: Dịch vụ ảo
metadata:
  tên: nginx
thông số kỹ thuật:
  máy chủ:
  - "ví dụ.com"
  cổng:
  - mặc định
  http:
  - tuyến đường:
    - điểm đến:
        máy chủ: nginx

---

phiên bản api: v1
loại: Dịch vụ
metadata:
  tên: nginx
  nhãn:
    ứng dụng: nginx
thông số kỹ thuật:
  bộ chọn:
    ứng dụng: nginx
  cổng:
    - cổng: 80
      tên: http

---
apiVersion: ứng dụng/v1
loại: Triển khai
metadata:
  tên: nginx
  nhãn:
    ứng dụng: nginx
    phiên bản: v1
thông số kỹ thuật:
  bản sao: 2
  bản sửa đổiLịch sửGiới hạn: 1
  bộ chọn:
    trận đấuNhãn:
      ứng dụng: nginx
      phiên bản: v1
  mẫu:
    metadata:
      nhãn:
        ứng dụng: nginx
        phiên bản: v1
    thông số kỹ thuật:
      hộp đựng:
        - tên: nginx
          hình ảnh: nginx: mới nhất
          cổng:
            - cảng container: 80
          tài nguyên:
            yêu cầu:
              bộ nhớ: 100Mi
              CPU: 100m
            Hạn mức:
              bộ nhớ: 1500Mi
              CPU: 1000m

Phiên bản:

phiên bản $ istioctl
phiên bản máy khách: 1.13.2
phiên bản máy bay điều khiển: 1.13.2
phiên bản mặt phẳng dữ liệu: 1.13.2 (1 proxy)


phiên bản $ kubectl --short
Phiên bản máy khách: v1.21.11
Phiên bản máy chủ: v1.21.5-eks-bc4871b
Điểm:0
lá cờ in

Tôi phát hiện ra rằng vấn đề của mình là do quy tắc nhóm bảo mật được định cấu hình sai cho các nút. Tôi đã không cho phép lưu lượng truy cập từ nút này sang nút khác, ngăn cổng vào istio giao tiếp với các nhóm trong các nút khác.

Sử dụng mô-đun AWS EKS Terraform, tôi đã thêm vào như sau:


  node_security_group_additional_rules = {

    ingress_self_all = {
      description = "Nút tới nút tất cả các cổng/giao thức"
      giao thức = "-1"
      from_port = 0
      to_port = 0
      gõ = "xâm nhập"
      tự = đúng
    }
    egress_all = {
      description = "Nút tất cả đầu ra"
      giao thức = "-1"
      from_port = 0
      to_port = 0
      gõ = "đi ra"
      cidr_blocks = ["0.0.0.0/0"]
    }
  }

Đă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.