APISIX Dashboardのインストールとデプロイガイド

Linux環境でのApache APISIX Dashboardのインストールは非常に簡単です。現在、DockerイメージとRPMインストールパッケージを提供しています。

Docker

Dashboardの実行にはDockerの使用を推奨します:

docker pull apache/apisix-dashboard
docker run -d --name apisix_gui \
           -p 9010:9010        \
           -v <CONFIG_PATH>:/usr/local/apisix-dashboard/conf/config.yaml \
           apache/apisix-dashboard

:::注意 <CONFIG_PATH>は実際の設定ファイルパスに置き換えてください。 :::

RPM

注意: 現在、CentOS 7のみサポートしています。

インストール

# 1. RPMパッケージのインストール
sudo yum install -y https://github.com/apache/apisix-dashboard/releases/download/v2.13/apisix-dashboard-2.13-0.el7.x86_64.rpm

起動

# シェルでDashboardを実行
sudo manager-api -p /usr/local/apisix/dashboard/

# またはサービスとして実行
systemctl start apisix-dashboard

設定を変更しない場合、http://127.0.0.1:9000にアクセスしてGUI付きのダッシュボードを使用できます。デフォルトのユーザー名とパスワードはadminです。

ソースコード

Dashboardプロジェクトにはmanager-apiwebの両方が含まれていますが、webはオプションです。

manager-apiwebはこのビルドガイドで製品として含まれます。

前提条件

ソースコードからビルドする前に、環境に以下の依存関係がインストールされていることを確認してください。

For manager-api:

  1. Golang 1.13+

ヒント: 中国大陸地域のユーザーは、以下のコマンドを使用してモジュールのダウンロード速度を向上させることができます

$ go env -w GOPROXY=https://goproxy.cn,direct

For web:

  1. Node.js current LTS (14.x+)
  2. Yarn

ダウンロード

git clone -b release/2.13 https://github.com/apache/apisix-dashboard.git && cd apisix-dashboard

ビルド

cd apisix-dashboard
make build

ビルドが完了すると、結果は「output」ルートディレクトリに保存されます。

注: make buildmanager-apiwebの両方をビルドします。詳細なコマンドはmake helpコマンドで確認できます。

起動

1.ビルドが完了したら、開始前に環境に以下の依存関係がインストールされ、実行されていることを確認してください。

  • etcd 3.4.0+
  1. デプロイ環境に応じてoutput/conf/config.yamlの設定情報を確認し、修正してください。
  2. ダッシュボードを起動します
cd ./output

./manager-api
  1. 設定を変更しない場合、http://127.0.0.1:9000にアクセスしてGUI付きのダッシュボードを使用できます。デフォルトのユーザー名とパスワードはadminです。

サービスとして使用する

ソースコードのコンパイル方法でデプロイする場合、サービス管理を自分で処理する必要があります。Systemdサービスマネージャーを使用するオペレーティングシステム向けにサービスファイルテンプレートを提供しています。

  1. インストール
mkdir -p /usr/local/apisix-dashboard
cp -rf ./output/* /usr/local/apisix-dashboard
  1. サービスユニットの作成

以下のコピーコマンドを実行するか、このファイルを直接使用して/usr/lib/systemd/systemディレクトリにコピーし、systemctl daemon-reloadコマンドを実行してください。

# サービスユニットをコピー
cp ./api/service/apisix-dashboard.service /usr/lib/systemd/system/apisix-dashboard.service
systemctl daemon-reload

# または: サービスユニットを修正する必要がある場合は、以下のコマンドを使用できます
echo "[Unit]
Description=apisix-dashboard
Conflicts=apisix-dashboard.service
After=network-online.target

[Service]
WorkingDirectory=/usr/local/apisix-dashboard
ExecStart=/usr/local/apisix-dashboard/manager-api -c /usr/local/apisix-dashboard/conf/config.yaml" > /usr/lib/systemd/system/apisix-dashboard.service
  1. サービスの管理

以下のコマンドを使用してサービスを管理できます

# apisix-dashboardを起動
systemctl start apisix-dashboard

# apisix-dashboardを停止
systemctl stop apisix-dashboard

# apisix-dashboardのステータスを確認
systemctl status apisix-dashboard

Dockerイメージのビルド

注意: Docker Imageをサポートしています。詳細はDockerHubをご覧ください。以下の手順はDocker Imageを手動でビルドするためのものです。

DashboardをDockerでビルドするには、Dockerfileファイルをルートディレクトリからデバイスにダウンロードするだけで(すべてのソースコードをダウンロードする必要はありません)、このガイドに従ってください。

manager-apiwebはこのビルドガイドで製品として含まれます。

前提条件

Dockerイメージをビルドしてコンテナを起動する前に、環境に以下の依存関係がインストールされ、実行されていることを確認してください。

  1. Docker
  2. etcd 3.4.0+

ビルド

# Dockerfileが存在するディレクトリ(デフォルトはプロジェクトルート)でbuildコマンドを実行し、手動でタグを指定します。
$ docker build -t apisix-dashboard:$tag .

# 中国大陸のユーザーは、`ENABLE_PROXY`パラメータを提供してモジュールのダウンロードを高速化できます。
$ docker build -t apisix-dashboard:$tag . --build-arg ENABLE_PROXY=true

# 最新のコードでビルドする場合は、`APISIX_DASHBOARD_VERSION`パラメータを`master`に指定できます。
# このパラメータは特定のバージョンのブランチ名(例:`v2.1.1`)にも指定できます。
$ docker build -t apisix-dashboard:$tag . --build-arg APISIX_DASHBOARD_VERSION=master

起動

1.設定ファイルの準備

コンテナを起動する前に、コンテナ内のデフォルトの【設定ファイル】(https://github.com/apache/apisix-dashboard/blob/master/api/conf/config.yaml)を上書きするために、ホスト内でconfig.yaml設定ファイルを準備する必要があります。

注意点:

  • conf.listen.host0.0.0.0の場合のみ、外部ネットワークからコンテナ内のサービスにアクセスできます。
  • conf.etcd.endpointsはコンテナ内のetcdサービスにアクセス可能である必要があります。例:コンテナがホストネットワーク上のetcdにアクセスできるようにhost.docker.internal:2379を使用します。
  1. ダッシュボードの起動
#/path/to/config.yaml は上記の設定ファイルへの絶対パスである必要があります。
$ docker run -d -p 9010:9010 -v /path/to/config.yaml:/usr/local/apisix-dashboard/conf/config.yaml --name apisix_gui apisix-dashboard:$tag

3.コンテナの起動確認

$ docker ps -a

apisix-dashboardコンテナに問題がない場合は、http://127.0.0.1:9000にアクセスしてGUI付きのダッシュボードを使用できます。デフォルトのユーザー名とパスワードはadminです。

  1. 停止
$ docker stop apisix_gui

その他

1.複数回イメージをビルドする場合は、キャッシュの使用は推奨されません。

$ docker build -t apisix-dashboard:$tag . --no-cache=true

2.複数のインスタンスを同時に使用することは推奨されません。複数のインスタンスを使用すると、各インスタンスがJWTトークンを生成して保持するため、認証の競合が発生します。

タグ: APISIX dashboard Docker etcd golang

7月25日 20:31 投稿