1. 응용 프로그램 배포 Bookinfo
Istio에서이 응용 프로그램을 실행하려면 응용 프로그램 자체를 변경할 필요가 없습니다. 우리는 단순히 Istio 환경, 각 서비스에 주입 특사 사이드카에있는 특정 지점에서 서비스하고 실행을 구성합니다. 아래 도시하는 바와 같이,이 처리에 필요한 특정 명령 및 구성은보다 일관된 결과를 배포 런타임 환경에 의해 결정된다 :
모든 마이크로 특사 사이드카 및 서비스는, 당신은 제어 플레인 Istio 서비스 라우팅 응용 프로그램을 사용할 수 있습니다, 원하는 외부 제어 후크를 준비 할 수 있도록 모든 트래픽, 사이드카를 납치하는 통합 서비스 액세스를 통합 원격 측정 데이터 수집 및 정책 집행 기능을합니다.
다음으로, 이하의 설명에서 전개 애플리케이션에 따른 동작 환경 Istio, 방법.
- 설치 디렉토리에 Istio.
-
응용 프로그램 컨테이너를 시작합니다 :
- 클러스터가 사용하는 경우 손 사이드카 주입을 다음 명령을 사용하여 :
istioctl KUBE-주입 명령을 배포하기 전에 응용 프로그램을 수정하는 데 사용됩니다
bookinfo.yaml
- 클러스터를 사용하는 것은 경우 자동으로 사이드카에 주입 , 단순히
kubectl
서비스의 배포를 완료합니다.
위의 명령도 포함 네 가지 서비스가 시작됩니다
reviews
서비스의 세 가지 버전을 (v1
,v2
과v3
) -
침투 게이트웨이의 정의를 적용하려면 :
-
모든 서비스와 포드 정의하고 시작하는 권리가 있음을 확인합니다 :
-
침투는 IP와 포트를 결정
확인하려면 다음 명령을 실행
ingressgateway
NodePort 모드가 활성화되어 있는지 여부를 확인합니다.진입 IP를 확인합니다 :
포트를 결정합니다 :
-
설정
GATEWAY_URL
:
다음 사용할 수있는 curl
동작 Bookinfo 응용 프로그램을 확인하는 명령을 :
또한 브라우저에서 URL을 열 수있는 http://$GATEWAY_URL/productpage
응용 프로그램에서 웹 페이지를 탐색 할 수 있습니다. 당신이 페이지를 일부 응용 프로그램을 새로 고칠 경우 페이지가 무작위로 표시됩니다 볼 reviews
효과 (표시 레드, 블랙 스타 또는하지 않음) 서비스의 다른 버전. reviews
우리는 경로의 버전을 제어 할 수 Istio을 사용하지 않았기 때문에 서비스 발생합니다.
3. 카나리아 배포
Bookinfo 예부터 마이크로 서비스 리뷰의 세 가지 버전의 배포, 그래서 우리는 기본 경로를 설정해야합니다. 응용 프로그램을 여러 번 액세스하는 경우 그렇지 않으면, 당신은 출력이 성급 호텔로 구성되어, 때로는하지 때로는 것을 알 수 있습니다. 명시 적으로 기본 경로를 지정하지 않는 응용 프로그램, Istio는 요청이 무작위로 서비스의 사용 가능한 모든 버전에 연결됩니다 때문입니다.
이 작업은 당신이 어떤 경로를 설정하지 않은 것으로 가정합니다. 샘플 응용 프로그램에 대한 라우팅 규칙의 충돌을 만든 경우 다음 명령을 사용할 필요가 replace
장소에 create
. 참고 :이 문서는 당신이 어떤 라우팅 규칙을 설정하지 않은 것으로 가정합니다.
모든 마이크로 기본 라우팅 서비스의 첫 번째는 v1로 설정됩니다.
당신은 라우팅 규칙이 다음 명령에 의해 생성 된 표시 할 수 있습니다 :