Cài đặt Apache APISIX sử dụng Docker

Apache APISIX là một open source, dynamic, scalable và high-performance cloud native API Gateway mà các bạn có thể sử dụng để làm một traffic entrance tới các API của mình. Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt Apache APISIX sử dụng Docker các bạn nhé!

Có 2 cách để các bạn có thể cài đặt APISIX với Docker, đó là:

Sử dụng script quickstart từ website api7.ai

Để cài đặt APISIX sử dụng quickstart từ website api7.ai, các bạn chỉ cần chạy command sau:

Script quickstart từ website api7.ai sẽ tự động download và cài đặt các Docker container cần thiết cho Apache APISIX. Các Docker Container này bao gồm Docker Container cho etcd và Docker Container của Apache APISIX như các bạn thấy.

Nói nôm na về etcd thì nó là một hệ thống lưu trữ distributed key-value có tính đồng bộ và nhất quán cao đó các bạn!

Kết quả của mình như sau:

Đến đây thì chúng ta đã cài đặt thành công Apache APISIX rồi đó các bạn!

Giờ thì nếu các bạn request tới địa chỉ http://127.0.0.1:9080 với HEAD HTTP Method sử dụng Postman chẳng hạn, các bạn sẽ thấy phần Header của response sẽ hiển thị APISIX version như sau:

Sử dụng tập tin Docker Compose

Các bạn hãy clone GitHub Repository https://github.com/apache/apisix-docker/ về máy của mình. Tập tin Docker Compose để cài đặt APISIX nằm ở thư mục /example trong repository này các bạn nhé!

Sau khi đã clone repository này xong, các bạn hãy đi đến thư mục example, mở tập tin docker-compose.yaml rồi chỉnh sửa tag của các Docker Image được khai báo sử dụng trong tập tin docker-compose.yaml này bao gồm etcd, nginx, prometheus, grafana: sử dụng latest version nhé:

Hiện tại, nếu không chỉnh sửa lại thông tin các tag đang khai báo trong tập tin docker-compose.yaml này thì khi chạy command “docker-compose up”, trên máy mình sẽ bị báo lỗi. Các bạn có thể không cần chỉnh sửa cũng được, nhưng nếu vẫn bị lỗi như mình thì có thể làm theo cách mình nói ở trên.

Sau khi đã chỉnh sửa tập tin docker-compose.yaml thì các bạn hãy chạy command:

để start APISIX lên!

Kết quả của mình như sau:

Chạy lại request Postman như mình đã làm ở trên, các bạn cũng sẽ thấy kết quả tương tự.

Add Comment