Kong 0.12.1をUbuntu 16.04にインストール

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

以前、Debian 8にインストールしたことがあるのですがバージョンが上がっているので
改めてインストール方法をメモしておきます。
Kong 0.9.7をDebian 8にインストール

今回は、
OS:Ubuntu 16.04
Database:PostgreSQL 10.1
Kong:0.12.1
の構成でインストールしてみます。


PostgreSQL 10.1のインストール



データベースにはPostgreSQLを使用することにしました。
以下の手順でインストールしています。
PostgreSQL 10.1をUbuntu 16.04へインストールし、外部からの接続を許可

ユーザー:pgadmin
パスワード:P@ssw0rd
で接続できるようにしておきました。

事前に「kong」というデータベースを作成しておきます。


$ psql -h localhost -U pgadmin -d postgres
Password for user pgadmin: [P@ssw0rd]
psql (10.1)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=# create database kong;
CREATE DATABASE
postgres=# \q








インストール



こちらを参考にインストールしました。
Ubuntu Installation

依存しているライブラリをインストール。
debファイルをダウンロードし、インストールします。


$ sudo apt-get update
$ sudo apt-get install openssl libpcre3 procps perl
$ wget -O kong-community-edition-0.12.1.deb https://bintray.com/kong/kong-community-edition-deb/download_file?file_path=dists/kong-community-edition-0.12.1.xenial.all.deb
$ sudo dpkg -i kong-community-edition-0.12.1.deb








設定ファイルの編集



設定ファイルの雛形をコピーし、データベース接続情報を記載します。


$ sudo cp /etc/kong/kong.conf.default /etc/kong/kong.conf
$ sudo vi /etc/kong/kong.conf




「DATASTORE」の項目でコメントを解除し編集します。


#------------------------------------------------------------------------------
# DATASTORE
#------------------------------------------------------------------------------

# Kong will store all of its data (such as APIs, consumers and plugins) in
# either Cassandra or PostgreSQL.
#
# All Kong nodes belonging to the same cluster must connect themselves to the
# same database.

database = postgres             # Determines which of PostgreSQL or Cassandra
                                 # this node will use as its datastore.
                                 # Accepted values are `postgres` and
                                 # `cassandra`.

pg_host = 127.0.0.1             # The PostgreSQL host to connect to.
pg_port = 5432                 # The port to connect to.
pg_user = pgadmin             # The username to authenticate if required.
pg_password = P@ssw0rd         # The password to authenticate if required.
pg_database = kong             # The database name to connect to.




以前と異なり、いきなり起動は出来ません。
データベースのスキーマを作成するため、migrations upを実行します。


$ kong migrations up
migrating core for database kong
core migrated up to: 2015-01-12-175310_skeleton
core migrated up to: 2015-01-12-175310_init_schema
core migrated up to: 2015-11-23-817313_nodes
core migrated up to: 2016-02-29-142793_ttls
core migrated up to: 2016-09-05-212515_retries
...
oauth2 migrated up to: 2017-04-24-oauth2_client_secret_not_unique
oauth2 migrated up to: 2017-10-19-set_auth_header_name_default
oauth2 migrated up to: 2017-10-11-oauth2_new_refresh_token_ttl_config_value
58 migrations ran





この状態でも起動できますが、警告が表示されます。


[warn] ulimit is currently set to "1024". For better performance set it to at least "4096" using "ulimit -n"




事前にulimitを変更しておきます。


$ ulimit -n 4096




kong startで起動


$ sudo kong start
Kong started




curlで応答を確認。


$ curl -i http://localhost:8001/
HTTP/1.1 200 OK
Date: Thu, 25 Jan 2018 12:39:22 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.12.1
...





無事インストールできたようです。

関連記事

コメント

非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ