API 게이트웨이 Kong 시리즈(2) 배포
[OS]
centos 6.8 (centos 6.5라면 6.8로 업그레이드하십시오. 그렇지 않으면 docker가 지원되지 않습니다)
[Docker]
Client version: 1.7.1
Client API version: 1.19
Docker engine 1.9 이상 버전 권장, docker-compose 지원
[Kong]
Version: 0.9.9
모두가 알고 있는 원인으로 인해 국내 링크dockerhub와github는 모두 어느 정도의 문제가 있으므로daocloud를 사용하는 것을 권장합니다.io의 docker 렌즈 가속 서비스 이미지 풀 속도 향상
배포 프로세스
1. 데이터베이스 배포
kong은 2가지 데이터베이스 카스텔라와postgres를 지원합니다. 이쪽은 응용 장면이 크지 않기 때문에postgres를 사용합니다.
명령을 사용하려면 다음과 같이 하십시오.
sudo docker run -d\
--name kong-database\
--restart=always\
-p 5432:5432\
-e POSTGRES_USER=kong\
-e POSTGRES_DB=kong\
-v/var/lib/containers/kong/data:/var/lib/postgresql/data\
postgres
완성 후 용기 자동 시작
P.S: 마지막volume의 맵을 주의하십시오. 용기 내 데이터베이스를 로컬/var/lib/containers/kong/data에 비추어 영구화합니다. 이동할 때 데이터를 옮기는 것을 잊지 마십시오.
2.kong 서비스 배포
sudo docker run -d\
--name kong-core\
--restart=always\
-p 8001:8001\
-p 20802:8443\
-p 20801:8000\
-p 7946:7946\
-p 7946:7946/udp\
--link kong-database:kong-database\
-e KONG_DATABASE=postgres\
-e KONG_PG_HOST=kong-database\
-v/etc/localtime:/etc/localtime:ro\
-v /etc/letsencrypt:/etc/letsencrypt:ro\
-v /usr/local/container/kong/kong.conf:/usr/local/kong/kong.conf:ro\
-v/usr/local/container/kong/nginx-kong.conf/:/usr/local/kong/nginx-kong.conf:ro\
kong
SSL을 구성하려면:
letsencrypt의 무료 인증서를 사용합니다. 어떻게 만드는지 다른 글 보십시오.
sudo vi/usr/local/container/kong/kong.conf
1. ssl 수정cert_키는 당신의 개인 키pem (이 경로는 위의/etc/letsencrypt/live/your.domain.com/privkey.pem)
2. ssl 수정cert는 인증서pem입니다. (이 경로는 위의/etc/letsencrypt/live/your.domain.com/fullchain.pem에 대응합니다)
sudo vi/usr/local/container/kong/nginx-kong.conf
1. ssl 수정certificate_키는 당신의 개인 키pem (이 경로는 위의/etc/letsencrypt/live/your.domain.com/privkey.pem)
2. ssl 수정certificate는 당신의 인증서pem(이쪽 경로는 위의/etc/letsencrypt/live/your.domain.com/fullchain.pem)에 대응합니다
완료 후 컨테이너에 들어가기
sudo docker exec -it kong-core/bin/bash
구성 다시 로드
kong reload
컨테이너 종료
exit
P.S:
1. 이 시간대를 수정하고 만약 그렇지 않으면 ln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime(그렇지 않으면 서버/클라이언트 시간 불일치로 인해 hmac-sha1 플러그인 검증에 영향을 미칠 수 있음)
2.kong.conf 및nginx-kong.다음에 ssl을 설정하기 위해서readOnly로 마운트합니다. 처음 시작할 때kong의 기본값에 따라 이 두 개의 파일을 만듭니다. 그렇지 않으면 파일을 생성하지 않으면 시작하는데 문제가 발생할 수 있습니다. 첫 번째run을 시작할 때 로로 불러오지 않고 자동으로 생성합니다. 그리고 rm에서 이 용기를 제거하고 로로 다시 마운트해서 시작하면 로컬이 자동으로 생성됩니다.마지막으로 이 두 파일chomd 700에 대해
3. kong-dashboard 배치
ui를 통해 플러그인을 쉽게 변경할 수 있도록 편리한 플러그인 ui를 설치합니다
sudo docker run -d\
--name kong-ui\
--restart=always\
--link kong-core:kong-core\
-p 8080:8080\
pgbi/kong-dashboard
시작 후 Kong node URL을 입력하고 위에서 링크한 Kong-core (여기가 바로 "kong-core") 이름을 입력하십시오. (제가 IP를 사용해 봤는데 아무것도 정상적이지 않습니다.)
추가 정보 docker-compose.yml
1 version: "2"
2
3 services:
4 kong-database:
5 image: postgres
6 container_name: kong-database
7 restart: always
8 ports:
9 - "5432:5432"
10 environment:
11 - POSTGRES_USER=kong
12 - POSTGRES_DB=kong
13 volumes:
14 - "/var/lib/containers/kong/data:/var/lib/postgresql/data"
15 kong:
16 image: kong:0.9.9
17 container_name: kong-core
18 environment:
19 - KONG_DATABASE=postgres
20 - KONG_PG_HOST=kong-database
21 restart: always
22 ports:
23 - "20801:8000"
24 - "20802:8443"
25 - "8001:8001"
26 - "7946:7946"
27 - "7946:7946/udp"
28 links:
29 - kong-database
30 volumes:
31 - "/etc/localtime:/etc/localtime:ro"
32 - "/etc/letsencrypt:/etc/letsencrypt:ro"
33 - "/usr/local/container/kong/kong.conf:/usr/local/kong/kong.conf:ro"
34 - "/usr/local/container/kong/nginx-kong.conf/:/usr/local/kong/nginx-kong.conf:ro"
35 kong-ui:
36 image: pgbi/kong-dashboard
37 container_name: kong-ui
38 restart: always
39 links:
40 - kong-core
41 ports:
42 - "8080:8080"
전재 대상:https://www.cnblogs.com/shown1985/p/6474074.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.