Project/인턴_Project

2. Kong API gateway 설치하기 (Kubernetes, Minikube)

chea-young

이전에 설치한 Minikube 위에 Kong을 설치하려고 합니다.

 

Kong은 docker, centos, masos 등 다양한 환경에서 설치할 수 있습니다. 궁금하신 분은 이 사이트를 방문해서 확인해보세요.

 

Kong을 DB less 모드와 DB 모드 모두 존재하는데 이후 Kong web ui 중 하나인 Konga를 사용하기 위해 DB 모드를 설치할 것 입니다. 그래서 혹시나 몰라 DB를 설치할 예정입니다. Konga는 Kong에 DB가 연결되어있을 경우에만 Konga에서 리소스를 추가할 수 있습니다. 만약 DBless를 이용한다면 Konga에서는 CLI에 추가한 리소스를 확인하는 용도로만 사용할 수 있습니다. Kong은 postgres와 Cassandra를 사용할 수 있지만 Kubernetes에 설치 할 때는 postgres만 가능하기 때문에 DB로는 postgres를 사용합니다. 

설치 kong 설치 사이트를 바탕으로 하여 Github의 있는 코드를 섞어서 작성해놓은 것을 사용합니다. 궁금하신 분은 링크로 들어가서 확인해보세요!

 

가상환경 스펙

- Red Hat Enterprise Linux8

- 스펙: 8 core/15Gi Ram

 

설치  버전

- Minikube : 1.22.3 (21.12.16 기준 최신 버전)

- Kong : 2.5 (21.12.16 기준 최신 버전)

-  Postgres : 9.5

 

설치 순서

1. Kong ingress Controller 설치

2. LoadBalancer 설정

3. 연결 확인

 


1. Kong Ingress Controller 설치

1-1과 1-2 중 한 가지만 선택하셔서 진행하시면 됩니다.

1-1 DB 모드

1
kubectl create -f https://bit.ly/kong-k8s-postgres

1-2 DB less 모드

1
kubectl create -f https://bit.ly/k4k8s

1-3 설치 확인

-DB 모드 (아직 모든 단계를 진행하지 않아 pod에 running이 뜨지 않음)

-DB less 모드 (아직 모든 단계를 진행하지 않아 CrashLoopBackOFF가 pod에 뜸)


2. LoadBalancer 설정

2-1 LoadBalancer 연결

1
minikube tunnel

service에 kong-proxy가 뜨면 연결 완료가 된 것입니다.

2-2 연결확인

-DB 모드

- DB less 모드


3. 연결확인

1
2
export PROXY_IP=$(minikube service -n kong kong-proxy --url | head -1)
curl –I $PROXY_IP
cs

kong 연결 확인!! '/'로 아직 라우터가 생성되지 않아 404가 뜬 것 입니다.

만악 연결이 성공적으로 되지 않았다면 Failed가 뜹니다!


이렇게 kong api gatewqy 설치를 완료했습니다.

다음에는 kong web ui인 konga를 설치하고 

라우팅 테스트와 kong에 내장된 kongplugin들을 사용하는 것을 보여드리겠습니다.