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
Field | Value |
---|---|
Loại Gateway | kong |
Tên Gateway | gateway-prod-mj |
Tên Instance Gateway | Tự độ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
Resource | Value |
---|---|
CPU | 1000m |
Bộ Nhớ | 1000Mi |
Tài Nguyên Cơ Sở Dữ Liệu
Resource | Value |
---|---|
CPU | 1000m |
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ường | Giá trị |
---|---|
Tự động mở rộng Gateway | Bậ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 Kong | mj-test |
Lớp lưu trữ Kong | gp2 |
Dung lượng lưu trữ | 5 Gi |
Loại dịch vụ Proxy Kong | LoadBalancer |
NodePort dịch vụ Proxy Kong | 30001 |
Bước 5. Cài Đặt Affinity
Bật Affinity và cấu hình:
Key | Value |
---|---|
topology.kubernetes.io/zone | ap-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:
Operator | Key | Value |
---|---|---|
Bằng | spot | true |
Tồn tại | critical |
Đ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ường | Giá trị |
---|---|
Max Skew | 1 |
Khi Không Thoả Mãn | DoNotSchedule |
Đả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ần | Cài đặt |
---|---|
Redis Nội Bộ | Bật |
Fluent Bit | Bậ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.