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-apiとwebの両方が含まれていますが、webはオプションです。
manager-apiとwebはこのビルドガイドで製品として含まれます。
前提条件
ソースコードからビルドする前に、環境に以下の依存関係がインストールされていることを確認してください。
For manager-api:
- Golang 1.13+
ヒント: 中国大陸地域のユーザーは、以下のコマンドを使用してモジュールのダウンロード速度を向上させることができます
$ go env -w GOPROXY=https://goproxy.cn,direct
For web:
- Node.js current LTS (14.x+)
- Yarn
ダウンロード
git clone -b release/2.13 https://github.com/apache/apisix-dashboard.git && cd apisix-dashboard
ビルド
cd apisix-dashboard
make build
ビルドが完了すると、結果は「output」ルートディレクトリに保存されます。
注: make buildはmanager-apiとwebの両方をビルドします。詳細なコマンドはmake helpコマンドで確認できます。
起動
1.ビルドが完了したら、開始前に環境に以下の依存関係がインストールされ、実行されていることを確認してください。
- etcd 3.4.0+
- デプロイ環境に応じて
output/conf/config.yamlの設定情報を確認し、修正してください。 - ダッシュボードを起動します
cd ./output
./manager-api
- 設定を変更しない場合、
http://127.0.0.1:9000にアクセスしてGUI付きのダッシュボードを使用できます。デフォルトのユーザー名とパスワードはadminです。
サービスとして使用する
ソースコードのコンパイル方法でデプロイする場合、サービス管理を自分で処理する必要があります。Systemdサービスマネージャーを使用するオペレーティングシステム向けにサービスファイルテンプレートを提供しています。
- インストール
mkdir -p /usr/local/apisix-dashboard
cp -rf ./output/* /usr/local/apisix-dashboard
- サービスユニットの作成
以下のコピーコマンドを実行するか、このファイルを直接使用して/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
- サービスの管理
以下のコマンドを使用してサービスを管理できます
# 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-apiとwebはこのビルドガイドで製品として含まれます。
前提条件
Dockerイメージをビルドしてコンテナを起動する前に、環境に以下の依存関係がインストールされ、実行されていることを確認してください。
- Docker
- 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.hostが0.0.0.0の場合のみ、外部ネットワークからコンテナ内のサービスにアクセスできます。conf.etcd.endpointsはコンテナ内のetcdサービスにアクセス可能である必要があります。例:コンテナがホストネットワーク上のetcdにアクセスできるようにhost.docker.internal:2379を使用します。
- ダッシュボードの起動
#/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です。
- 停止
$ docker stop apisix_gui
その他
1.複数回イメージをビルドする場合は、キャッシュの使用は推奨されません。
$ docker build -t apisix-dashboard:$tag . --no-cache=true
2.複数のインスタンスを同時に使用することは推奨されません。複数のインスタンスを使用すると、各インスタンスがJWTトークンを生成して保持するため、認証の競合が発生します。