티스토리 뷰
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
링크
TAG
- Spring
- vuejs
- Bruteforce
- Redis
- 사토시 나가모토
- gRPC
- Vue.js
- 백준
- 동적계획법
- Java
- CARDANO
- 카르다노
- 스프링
- 블록체인
- k8s
- excel parsing
- 암호화폐
- white paper
- kubernetes
- Nealford
- leetcode
- SpringBoot
- 비트코인
- architecture
- Bitcoin
- Blockchain
- 스프링 시큐리티
- DP
- 알고리즘
- 아키텍처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함