티스토리 뷰

Kong이란?

Kong 은 API Gateway 이며 Nginx 기반의 Gateway 로 Plugin 을 add 하면서 부가 기능을 사용할 수 있다.

1.3 버전부터 gRPC 를 지원하기 시작했고 grpc-gateway Plugin도 지원하여 Restful 등록도 가능하다.

gRPC 프로토콜을 지원하기 위한 API Gateway 가 필요하여 Kong을 설치하고 사용해보려고 한다.

 

Kong Gateway 설치

DB-less 버전도 있는데, 서비스 관리를 admin api를 사용하여 할 것이기 때문에 DB 있는 버전으로 설치하려고 한다.

 

0. Docker Network 생성

따로 쓰는 docker network가 없으면 생성해놓는다.

docker network create kong-ee-net

 

1. DB 설치

docker run -d --name kong-ee-database --network=kong-ee-net -p 5432:5432 -e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" -e "POSTGRES_PASSWORD=kong" postgres:9.6

 

2. DB에 Kong 사용을 위한 스키마 설치

docker run --rm --network=kong-ee-net -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-ee-database" -e "KONG_PG_PASSWORD=kong" -e "KONG_PASSWORD=kong" kong-ee kong migrations bootstrap

 

3. Kong 이미지 pull

docker pull kong-docker-kong-gateway-docker.bintray.io/kong-enterprise-edition:2.3.3.0-alpine
docker tag 3a786c1f88a7 kong-ee

 

4. Kong 실행

gRPC는 http2 기반이기 때문에 아래 빨간 표시의 config와 port를 꼭 추가해야 한다. 

docker run -d --name kong-ee --network=kong-ee-net
-e "KONG_DATABASE=postgres"
-e "KONG_PG_HOST=kong-ee-database"
-e "KONG_PG_PASSWORD=kong"
-e "KONG_PROXY_ACCESS_LOG=/dev/stdout"
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout"
-e "KONG_PROXY_ERROR_LOG=/dev/stderr"
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr"
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001"
-e "KONG_ADMIN_GUI_URL=http://0.0.0.0:8002"
-e "KONG_PROXY_LISTEN=0.0.0.0:9080 http2, 0.0.0.0:9081 http2 ssl"
-p 8000:8000 -p 8443:8443 -p 8001:8001 -p 8444:8444 -p 8002:8002 -p 8445:8445 -p 8003:8003 -p 8004:8004 -p 9080:9080 -p 9081:9081 -v data:/data kong-ee

 

Kong에서 사용 포트는 아래와 같다.

서비스 포트
http 8000
https 8443
http2 8444
admin api 8001
grpc 9080
grpcs 9081

 

 

Reference

https://docs.konghq.com/enterprise/2.4.x/deployment/installation/docker/

 

Open-Source API Management and Microservice Management

Secure, Manage & Extend your APIs or Microservices with plugins for authentication, logging, rate-limiting, transformations and more.

docs.konghq.com

 

'Architecture > Middleware' 카테고리의 다른 글

[EFK] EFK 스택 오프라인 설치  (0) 2021.03.24
[Nginx] 497 Error 이슈  (0) 2021.03.16
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함