4.3. Istio 앰비언트 모드에서 Bookinfo 애플리케이션 배포
ZTunnel
프록시를 사용하여 사이드카 삽입 없이 Istio 앰비언트 모드에서 info
샘플 애플리케이션을 배포할 수 있습니다. bookinfo
애플리케이션에 대한 자세한 내용은 " Bookinfo 애플리케이션 정보"를 참조하십시오.
사전 요구 사항
- Istio 앰비언트 모드에 필요한 지원되는 Kubernetes Gateway API CRD(사용자 정의 리소스 정의)를 포함하는 OpenShift Container Platform 4.15 이상에 클러스터를 배포했습니다.
-
설치 방법에 따라
cluster-admin
역할의 사용자로 웹 콘솔을 통해 또는oc login
명령을 사용하여 OpenShift Container Platform 클러스터에 로그인했습니다. - Red Hat OpenShift Service Mesh Operator를 설치하고 Istio 리소스를 생성했으며 Operator에서 Istio를 배포했습니다.
-
IstioCNI
리소스를 생성했으며 Operator에서 필요한IstioCNI
Pod를 배포했습니다. -
Ztunnel
리소스를 생성했으며 Operator에서 필요한Ztunnel
Pod를 배포했습니다.
프로세스
다음 명령을 실행하여
info
네임스페이스를 생성합니다.oc create namespace info
$ oc create namespace info
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
istio-discovery=enabled
레이블을info
네임스페이스에 추가합니다.oc label namespace info istio-discovery=enabled
$ oc label namespace info istio-discovery=enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
bookinfo
애플리케이션을 배포하도록info
YAML 파일을 적용합니다.oc apply -n info -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.26/samples/bookinfo/platform/kube/bookinfo.yaml
$ oc apply -n info -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.26/samples/bookinfo/platform/kube/bookinfo.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
bookinfo
애플리케이션을 배포하도록info-versions
YAML 파일을 적용합니다.oc apply -n info -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.26/samples/bookinfo/platform/kube/bookinfo-versions.yaml
$ oc apply -n info -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.26/samples/bookinfo/platform/kube/bookinfo-versions.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
정보
pod가 실행 중인지 확인합니다.oc -n info get pods
$ oc -n info get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
info
애플리케이션이 실행 중인지 확인합니다.oc exec "$(oc get pod -l app=ratings -n info \ -o jsonpath='{.items[0].metadata.name}')" \ -c ratings -n info \ -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"
$ oc exec "$(oc get pod -l app=ratings -n info \ -o jsonpath='{.items[0].metadata.name}')" \ -c ratings -n info \ -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 전체 네임스페이스 또는 개별 Pod에 레이블을 지정하여 info 애플리케이션을 Istio 앰비언트 메시에 추가합니다.
정보 네임스페이스에 모든 워크로드를 포함하려면 다음 명령을 실행하여
istio.io/dataplane-mode=
앰비 레이블을bookinfo
네임스페이스에 적용합니다.oc label namespace info istio.io/dataplane-mode=ambient
$ oc label namespace info istio.io/dataplane-mode=ambient
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
특정 워크로드만 포함하려면
istio.io/dataplane-mode=앰비 레이블을
개별 Pod에 직접 적용합니다. 메시에서 워크로드를 추가하거나 제외하는 데 사용되는 라벨에 대한 자세한 내용은 "추가 리소스" 섹션을 참조하십시오.
참고앰비언트 메시에 워크로드를 추가하는 경우 애플리케이션 Pod를 다시 시작하거나 재배포할 필요가 없습니다. 사이드카 모드와 달리 각 Pod의 컨테이너 수는 변경되지 않습니다.
다음 명령을 실행하여 Ztunnel 프록시가 Pod 네트워크 네임스페이스에서 수신 대기 소켓을 성공적으로 열었습니다.
istioctl ztunnel-config workloads --namespace ztunnel
$ istioctl ztunnel-config workloads --namespace ztunnel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow