Chuyển tới nội dung chính

API Gateway Creation

Tổng Quan

Tạo một API Gateway là bước đầu tiên để công khai và quản lý các API thông qua hệ thống APIM. Trong các môi trường sản xuất thực tế như cơ sở hạ tầng của APIM, việc thiết lập Gateway phải xem xét đến việc mở rộng, phân phối lưu lượng, chuyển tiếp nhật ký và ánh xạ DNS. Hướng dẫn này sẽ hướng dẫn bạn cách tạo một gateway đạt tiêu chuẩn sản xuất được cấu hình qua một trường hợp ví dụ.

Điều Kiện Tiên Quyết

Đảm bảo các điều sau trước khi bạn bắt đầu:

  • Bạn có Administrator quyền truy cập vào APIM Console.
  • Một Project đã được tạo (ví dụ: pj-test-01).

Hướng Dẫn Từng Bước

Bước 1. Truy Cập Trang Tạo Gateway

  • Đăng nhập vào APIM Console.
  • Chọn dự án: pj-test-01.
  • Điều hướng đến Quản lý Gateway.
  • Nhấp vào nút Tạo Gateway.

Bước 2. Thông Tin Gateway

FieldValue
Loại Gatewaykong
Tên Gatewaygateway-prod-mj
Tên Instance GatewayTự động điền là gateway-prod-mj
Mô tảMột gateway để thử nghiệm quy trình tạo gateway
Thẻtest, kr (có thể thêm nhiều thẻ hơn để phân loại gateway)

Bước 3. Cấu Hình Tài Nguyên

Tài Nguyên Pod Gateway

ResourceValue
CPU1000m
Bộ Nhớ1000Mi

Tài Nguyên Cơ Sở Dữ Liệu

ResourceValue
CPU1000m
Bộ Nhớ1000Mi

Sử dụng thanh trượt để thay đổi các giá trị

Bước 4. Cài Đặt Triển Khai

TrườngGiá trị
Tự động mở rộng GatewayBật (chuyển đổi bật)
Số bản sao tối thiểu: 1
Số bản sao tối đa: 5
CPU: 50
Bộ nhớ: 50
Có thể nhập hoặc sử dụng thanh trượt để thay đổi giá trị
Tên không gian Kongmj-test
Lớp lưu trữ Konggp2
Dung lượng lưu trữ5 Gi
Loại dịch vụ Proxy KongLoadBalancer
NodePort dịch vụ Proxy Kong30001

Bước 5. Cài Đặt Affinity

Bật Affinity và cấu hình:

KeyValue
topology.kubernetes.io/zoneap-northeast-2

Điều này đảm bảo rằng các pod gateway chỉ được lên lịch trong các vùng khả dụng cụ thể.

Bước 6. Cài Đặt Toleration

Bật Toleration và thêm:

OperatorKeyValue
Bằngspottrue
Tồn tạicritical

Điều này cho phép các pod gateway được lên lịch vào các nút có taint như spot=true hoặc critical.

Bước 7. Cấu Hình Phân Tán Topology

TrườngGiá trị
Max Skew1
Khi Không Thoả MãnDoNotSchedule

Đảm bảo rằng các pod gateway được phân tán đều trên các vùng và tránh việc lên lịch không thoả mãn.

Bước 8. Các Tiện Ích Hệ Thống

Thành phầnCài đặt
Redis Nội BộBật
Fluent BitBật
OpenTelemetry: Bật
Elasticsearch: Tắt

Bật Fluent Bit giúp tập trung nhật ký gateway trong pipeline quan sát của bạn.

Bước 9. Cấu Hình Kong

Nhập JSON sau:

{
"upstream_keepalive_idle_timeout": 60,
"upstream_keepalive_max_requests": 100000,
"nginx_http_keepalive_requests": 100000,
"upstream_keepalive_pool_size": 1024
}

Các giá trị này tối ưu hóa việc tái sử dụng kết nối upstream và giúp trong các môi trường hiệu suất cao.

Bước 10. Tạo Gateway

  • Nhấp vào nút Tạo Gateway ở dưới cùng.

  • Đi đến trang chi tiết gateway và xác minh gateway đã được tạo.

Thực Hành Tốt Nhất

  • Sử dụng hậu tố môi trường trong tên: gateway-dev, gateway-staging, gateway-prod.
  • Định nghĩa các không gian tên riêng cho mỗi môi trường để tách biệt tài nguyên một cách sạch sẽ.
  • Giữ chế độ tự động mở rộng tắt trừ khi bạn có các kích hoạt dựa trên số liệu.
  • Sử dụng Affinity và Phân Tán Topology cùng nhau để đạt được tính khả dụng cao.
  • Tài liệu và phiên bản JSON Cấu Hình Kong của bạn để kiểm toán và quay lại.