홍콩 소개
Kong 은 클 라 이언 트 와 (마이크로) 서비스 간 에 API 통신 을 전송 하 는 API 게 이 트 웨 이 로 플러그 인 을 통 해 기능 을 확장 합 니 다.
Kong 의 공식 사이트,https://konghq.com/kongKong 의 공식 Github 사이트:https://github.com/kong/kongKong 두 개의 주요 구성 요소 가 있 습 니 다:
Kong Server: nginx 기반 서버 로 API 요청 을 받 습 니 다.Apache Cassandra: 조작 데 이 터 를 저장 합 니 다.
Kong 의 데이터 저장 소 는 두 개의 구성 요소, Cassandra 와 PostgreSQL 을 지원 합 니 다.
Kong 이 공식 적 으로 추천 하 는 GUI 도 구 는 Kong - Dashboard 라 고 하 는데 우호 도가 좋 지 않 습 니 다.
KongA 라 는 GUI 도구 가 있 는데 GitHub 주 소 는?https://github.com/pantsel/konga 。
더 많은 Kong Server 기 계 를 추가 하여 Kong 서 비 스 를 수평 으로 확장 할 수 있 으 며, 선행 부하 이퀄 라이저 를 통 해 이 기계 들 에 게 요청 할 수 있 습 니 다.문서 설명 에 따 르 면 두 개의 Cassandra 노드 는 절대 다수의 상황 을 지탱 할 수 있 지만 네트워크 가 매우 복잡 하면 더 많은 노드 를 적당 하 게 추가 하 는 것 을 고려 할 수 있다.
오픈 소스 커 뮤 니 티 에 있어 Kong 에서 가장 매력 적 인 특징 은 플러그 인 을 통 해 기 존 기능 을 확장 할 수 있 는 것 입 니 다. 이 플러그 인 들 은 API 요청 이 순환 하 는 생명 주기 에서 실 행 됩 니 다.플러그 인 은 Lua 를 사용 하여 작 성 했 고 Kong 은 다음 과 같은 몇 가지 기본 기능 도 있 습 니 다. HTTP 기본 인증, 키 인증, CORS (Cross - origin Resource Sharing, 크로스 도 메 인 자원 공유), TCP, UDP, 파일 로그, API 요청 흐름 제한, 전송 요청 및 nginx 모니터링.
Kong 패 키 지 는 일부 Linux 발행 판 (CentOS, RHEL, Debian, Ubuntu 포함), Mac OS X 와 Docker, Kubernetes, AWS - cloud, Google - cloud 에서 로 컬 컴퓨터 든 클 라 우 드 서버 든 모두 실행 할 수 있다.
Mashape 는 무료 오픈 소스 버 전 뿐만 아니 라 기술 지원, 교육 서비스 사용, API 분석 플러그 인 등 비용 을 지불 하 는 기업 버 전도 제공 했다.
rpm 기반 설치
현재 CentOS 7 기반 으로 설치 되 어 있 습 니 다.
현재 Kong 의 최신 버 전 은 1.3.0 입 니 다.
패 키 지 를 다운로드 하면 공식 주소 에서 다운로드 할 수 있다.
https://bintray.com/kong/kong-rpm/download_file?file_path=centos/7/kong-1.3.0.el7.amd64.rpm
yum 창 고 를 사용 하여 다운로드 할 수 있 습 니 다. yum 창고 의 repo 파일 을 수정 하 는 baseurl 경 로 는:
baseurl=https://kong.bintray.com/kong-rpm/centos/7
우 리 는 다음 에 yum 의 epel 소스 를 사용 하여 설 치 를 진행 할 것 이다.
rpm 패키지 설치
yum install epel-release
yum install kong-1.3.0.*.noarch.rpm --nogpgcheck
데이터 저장 소 를 설치 한 데이터베이스
Kong 은 운영 과정 에서 데이터 베 이 스 를 가 질 수도 있 고 데이터 베 이 스 를 가지 고 있 지 않 을 수도 있다.
데이터 베 이 스 를 사용 하려 면
kong.conf
프로필 에서 데이터 저장 방식 으로 데이터 베 이 스 를 시작 하 는 방식 과 해당 하 는 경로 나 Kong 의 대 리 를 설정 해 야 합 니 다.데이터 데이터 베 이 스 를 사용 할 필요 가 없다 면
kong.conf
파일 에 kong.yml
성명 식 프로필 을 데이터 로 저장 할 파일 로 지정 하 십시오.Kong 은 PostgreSQL 9.5 + 와 Cassandra 3. xx 를 그의 데이터 저장 데이터베이스 로 지원 합 니 다.
데이터베이스 사용 시:
PostgreSQL 을 사용 하려 면 데이터베이스 와 사용 자 를 초기 화해 야 합 니 다. 예 를 들 어:
CREATE USER kong; CREATE DATABASE kong OWNER kong;
지금 Kong migrations 실행 중
kong migrations bootstrap [-c /path/to/kong.conf]
데이터 베 이 스 를 사용 하지 않 으 면:
Kong 을 db 없 이 실행 하려 면 먼저 성명 성 프로필 을 생 성 해 야 합 니 다.아래 명령 을 사용 하여 현재 폴 더 아래 에 일반
kong.yml
을 생 성 합 니 다.kong config init
kong.yml
파일 을 생 성 한 후 kong.conf
파일 을 편집 하고 다음 과 같은 인 자 를 설정 합 니 다.database = off
declarative_config = /path/to/kong.yml
부팅 kong
kong start [-c /path/to/kong.conf]
멈 추 려 면 다음 명령 을 사용 하여 멈 추 십시오.
kong stop
과부하 명령 은?
kong reload
콩 사용 하기
Kong 기본 값 은 로 컬 8001 포트 에서 실 행 됩 니 다.
curl -i http://localhost:8001/
Docker 기반 설치 Kong
데이터베이스 사용
다음은 콩 용기 와 그의 데이터베이스 용기 에 빠르게 연결 할 수 있다.
Docker 네트워크 만 들 기
사용자 정의 네트워크 를 만 들 고 용 기 를 실행 하여 발견 하고 서로 통신 해 야 합 니 다. 그 다음 에
kong-net
라 는 네트워크 를 만 들 고 다른 이름 도 사용 할 수 있 습 니 다.docker network create kong-net
시작 데이터베이스
카 산 드 라 용 기 를 사용 하고 싶다 면
docker run -d --name kong-database \
--network=kong-net \
-p 9042:9042 \
cassandra:3
PostgreSQL 용 기 를 사용 하려 면
docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.6
데이터베이스 초기 화
migrations 를 실행 하려 면 짧 은 Kong 용 기 를 사용 하 십시오.
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations bootstrap
위의 예제 에서 당신 의
KONG_DATABASE
인 자 를 스스로 수정 해 야 합 니 다.시작 Kong
migration 이 실행 되 었 고 데이터베이스 가 준비 되 었 을 때 Kong 용 기 를 시작 하여 데이터베이스 용 기 를 연결 합 니 다. 예 를 들 어:
docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
-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, 0.0.0.0:8444 ssl" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:latest
콩 사용 하기
Kong 은 8001 에서 실 행 됩 니 다.
curl -i http://localhost:8001/
데이터베이스 모드 없 음
Docker 네트워크 만 들 기
사용자 정의 네트워크 를 만 들 고 용 기 를 실행 하여 발견 하고 서로 통신 해 야 합 니 다. 그 다음 에
kong-net
라 는 네트워크 를 만 들 고 다른 이름 도 사용 할 수 있 습 니 다.docker network create kong-net
데이터베이스 가 없 는 모드 에서 전용 네트워크 를 만 들 필요 가 없 지만 만 든 후에 다른 내용 을 추가 할 수 있 습 니 다. 예 를 들 어 Redis 클 러 스 터 가 지원 하 는 속도 제한 플러그 인 등 입 니 다.
Docker 볼 륨 만 들 기
이 안내서 의 목적 에 대해 Docker 볼 륨 은 호스트 내의 폴 더 입 니 다.용기 에 비 추 는 폴 더 입 니 다. kong - vol 이라는 이름 을 말 아 줍 니 다.
docker volume create kong-vol
다음 명령 을 사용 하여 볼 륨 의 마 운 트 지점 경 로 를 봅 니 다.
$ docker volume inspect kong-vol
[
{
"CreatedAt": "2019-05-28T12:40:09Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/kong-vol/_data",
"Name": "kong-vol",
"Options": {},
"Scope": "local"
}
]
MountPoint 의 경 로 를 기록 합 니 다. 아래 에 사용 할 것 입 니 다.
프로필 초기 화
성명 에 따 르 면 설정 파일 의 규범 에 따라 설정 파일 을 수정 하고 필요 한 설정 항목 을 추가 합 니 다. 예 를 들 어 server. ice, route, plugins, consumer 등 설정 파일 을 MountPoint 경로 에 저장 합 니 다. 본 고 는
/var/lib/docker/volumes/kong-vol/_data/kong.yml
데이터베이스 없 이 Kong 시작다음 명령 을 사용 하여 Kong 을 시작 하고
-v
매개 변 수 를 사용 하여 데이터 볼 륨 을 마 운 트 합 니 다. -e
매개 변 수 를 사용 하여 필요 한 환경 변 수 를 지정 합 니 다.$ docker run -d --name kong \
--network=kong-net \
-v "kong-vol:/usr/local/kong/declarative" \
-e "KONG_DATABASE=off" \
-e "KONG_DECLARATIVE_CONFIG=/usr/local/kong/declarative/kong.yml" \
-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, 0.0.0.0:8444 ssl" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:latest
콩 사용 하기
Kong 이 시작 되면 사용 할 수 있 습 니 다. 다음 과 같은 방식 으로 Kong 을 방문 할 수 있 습 니 다.
curl -i http://localhost:8001/
예 를 들 어 service 목록 가 져 오기
curl -i http://localhost:8001/services
Kong 의 기본 포트
Kong 모든 것 이 정상 입 니 다. 시작 하면 다음 포트 를 기본적으로 감청 합 니 다.
:8000
Kong 은 클 라 이언 트 로부터 HTTP 요청 을 감청 하고 상위 서비스 로 전송 합 니 다.:8443
Kong 은 HTTPS 트 래 픽 을 감청 합 니 다. 이 포트 의 행 위 는 :8000
와 유사 합 니 다. HTTPS 의 요청 만 감시 하고 퍼 가기 기능 이 없습니다. 이 포트 는 설정 파일 에서 닫 을 수 있 습 니 다.:8001
Admin API 인 터 페 이 스 는 Kong 의 감청 서 비 스 를 설정 하 는 데 사용 된다.:8444
Admin API 가 HTTPS 의 데 이 터 를 감청 합 니 다.작은 매듭
본 고 는 Kong 이 무엇 인지, 그리고 CentOS 와 Docker 에서 어떻게 설치 하 는 지 를 묘사 했다.Kong 은 OpenResty 의 응용 구성 요소 입 니 다. 원본 코드 에서 Kong 을 설치 하려 면 먼저 OpenResty 를 설치 해 야 합 니 다. 구체 적 으로 Compile Source 를 참고 하 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kong API Gateway GUI/Konga 구축Mac環境の記事ですが、Windows環境も同じ手順になります。環境依存の部分は読み替えてお試しください。 목적 이 기사를 끝까지 읽으면 다음을 할 수 있습니다. No. 개요 키워드 가장 환경 구축 VirtualBox, Vag...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.