홍콩 소개

8215 단어 KongnetworkGateway
개술
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 를 참고 하 십시오.

    좋은 웹페이지 즐겨찾기