Symfoware

Symfowareについての考察blog

API GatewayのKongをDebian 8にインストール

オープンソースのAPIゲートウェイ「Kong」
https://getkong.org/

色々な言語、webサーバーで動作するマイクロサービスなAPIを統合管理する
製品のようです。

Debian 8にインストールして動かしてみます。


※2017/1/15追記

Kong 0.9.7をインストールしてみました。
Kong 0.9.7をDebian 8にインストール




PostgreSQLのインストール



設定情報の保存先は、CassandraかPostgreSQLが選択できるようです。
今回はPostgreSQLを選択しました。

インストールは以前の記事を参考に行います。
Debian 8(Jessie)にPostgreSQL 9.4をインストールし、外部接続を許可する


2016/5/4時点で、デフォルトのリポジトリにPostgreSQL 9.4系が追加されているので、
ソースリストへの追記は不要です。

apt-getでPostgreSQL 9.4をインストールします。


# apt-get install postgresql-9.4




バージョン9.4.6がインストールできました。
ユーザー名:pgadmin、パスワード:P@ssw0rdなユーザーを作っておきます。


# su - postgres
$ createuser --pwprompt --interactive pgadmin
新しいロールのためのパスワード: [パスワード入力]
もう一度入力してください:[上記とパスワード入力]
新しいロールをスーパーユーザにしますか? (y/n)y

$ exit
ログアウト





接続のテストも兼ねて、データベース「kong」を作成しておきます。


# psql -h localhost -U pgadmin -W -d postgres
ユーザ pgadmin のパスワード: [パスワード入力]
psql (9.4.6)
SSL接続(プロトコル: TLSv1.2, 暗号化方式: ECDHE-RSA-AES256-GCM-SHA384, ビット長: 256, 圧縮: オフ)
"help" でヘルプを表示します.

postgres=# create database kong;
CREATE DATABASE

postgres=# \q








Kongのdebパッケージの取得とインストール



こちらを参考にインストールを行います。
https://getkong.org/install/debian/


Kongのサイトから、Debianインストール用のdebパッケージを取得します。


# cd /usr/local/src/
# wget --no-check-certificate https://github.com/Mashape/kong/releases/download/0.8.1/kong-0.8.1.jessie_all.deb




事前に必要なパッケージをインストール。


# apt-get update
# apt-get install netcat openssl libpcre3 dnsmasq procps




追加でsudoが必要でした。


# apt-get install sudo




kpkgコマンドで、kongをインストールします。


# dpkg -i kong-0.8.1.*.deb




これでKongのインストールは完了です。




Kongの設定



設定ファイルは、「/etc/kong/kong.yml」です。
PostgreSQLを使用するよう構成します。


# vi /etc/kong/kong.yml




98行目付近の設定ファイルを変更します。


######
## Specify which database to use. Only "cassandra" and "postgres" are currently available.
database: postgres

######
## PostgreSQL configuration
postgres:
    host: "127.0.0.1"
    port: 5432

######
## Name of the database used by Kong. Will be created if it does not exist.
    database: kong

#####
## User authentication settings
    user: "pgadmin"
    password: "P@ssw0rd"




これで設定は完了です。
「kong start」で起動してみます。


# kong start
[INFO] kong 0.8.1
[INFO] Using configuration: /etc/kong/kong.yml
[INFO] Setting working directory to /usr/local/kong
[INFO] database...........postgres host=127.0.0.1 database=kong user=pgadmin password=P@ssw0rd port=5432
[INFO] Migrating core (postgres)
[INFO] core migrated up to: 2015-01-12-175310_skeleton
[INFO] core migrated up to: 2015-01-12-175310_init_schema
[INFO] core migrated up to: 2015-11-23-817313_nodes
[INFO] core migrated up to: 2016-02-29-142793_ttls
[INFO] Migrating hmac-auth (postgres)
[INFO] hmac-auth migrated up to: 2015-09-16-132400_init_hmacauth
[INFO] Migrating rate-limiting (postgres)
[INFO] rate-limiting migrated up to: 2015-08-03-132400_init_ratelimiting
[INFO] Migrating acl (postgres)
[INFO] acl migrated up to: 2015-08-25-841841_init_acl
[INFO] Migrating oauth2 (postgres)
[INFO] oauth2 migrated up to: 2015-08-03-132400_init_oauth2
[INFO] Migrating jwt (postgres)
[INFO] jwt migrated up to: 2015-06-09-jwt-auth
[INFO] jwt migrated up to: 2016-03-07-jwt-alg
[INFO] Migrating basic-auth (postgres)
[INFO] basic-auth migrated up to: 2015-08-03-132400_init_basicauth
[INFO] Migrating response-ratelimiting (postgres)
[INFO] response-ratelimiting migrated up to: 2015-08-03-132400_init_response_ratelimiting
[INFO] Migrating key-auth (postgres)
[INFO] key-auth migrated up to: 2015-07-31-172400_init_keyauth
[INFO] dnsmasq............address=127.0.0.1:8053 dnsmasq=true port=8053
[INFO] serf ..............-profile=wan -rpc-addr=127.0.0.1:7373 -event-handler=member-join,member-leave,member-failed,member-update,member-reap,user:kong=/usr/local/kong/serf_event.sh -bind=0.0.0.0:7946 -node=kong_0.0.0.0:7946 -log-level=err
[INFO] Trying to auto-join Kong nodes, please wait..
[WARN] Cannot auto-join the cluster because no nodes were found
[INFO] Auto-generating the default SSL certificate and key...
[INFO] nginx .............admin_api_listen=0.0.0.0:8001 proxy_listen=0.0.0.0:8000 proxy_listen_ssl=0.0.0.0:8443
[OK] Started




ブラウザで、http://[kongサーバーのIP]:8001/を表示すると、こんな表示になりました。

687_01.png

ちゃんと動いてくれたようです。
続けて、APIの登録などを試してみようと思います。
関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2016/05/04(水) 16:19:32|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<API Gateway「Kong」設定方法の基礎(5-minute Quickstart) | ホーム | Debian easy_installで[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1879-73370b73
この記事にトラックバックする(FC2ブログユーザー)