3.6. OpenShift 템플릿을 사용하여 APIcast 배포
OpenShift 템플릿을 사용하여 APIcast API 게이트웨이를 배포할 수 있습니다. APIcast API 게이트웨이를 배포하면 API를 보호하는 데 도움이 되며 해당 API에 대한 트래픽을 분석하고 모니터링할 수 있습니다.
사전 요구 사항
- APIcast 설치 여부에 따라 Red Hat 3scale API Management 관리 포털에서 APIcast 를 구성해야 합니다.
- 통합 설정에서 자체 관리 게이트웨이가 배포 옵션으로 선택되어 있는지 확인합니다.
- 계속 진행하도록 스테이징 및 프로덕션 환경이 모두 구성되어 있어야 합니다.
절차
기본적으로 개발자로 로그인하여 다음 단계를 진행할 수 있습니다.
그렇지 않으면 이전 단계에서 다운로드하여 설치한 OpenShift 클라이언트 툴에서
oc login
명령을 사용하여 OpenShift에 로그인합니다. 기본 로그인 인증 정보는 username = " developer" 및 password = " developer" 입니다.oc login https://OPENSHIFT-SERVER-IP:8443
oc login https://OPENSHIFT-SERVER-IP:8443
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Login successful.
출력이 표시되어야 합니다.프로젝트를 생성합니다. 이 예에서는 표시 이름을 게이트웨이로설정
oc new-project "3scalegateway" --display-name="gateway" --description="3scale gateway demo"
oc new-project "3scalegateway" --display-name="gateway" --description="3scale gateway demo"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 응답은 다음과 같아야 합니다.
Now using project "3scalegateway" on server "https://172.30.0.112:8443"
Now using project "3scalegateway" on server "https://172.30.0.112:8443"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 프롬프트의 텍스트 출력에서 제안된 다음 단계를 무시하고 아래의 다음 단계로 진행합니다.
<access_token>
및<domain>
을 자체 인증 정보로 교체하여 프로젝트를 참조하는 새 시크릿을 생성합니다.<access_token>
및<domain>
에 대한 자세한 내용은 아래를 참조하십시오.oc create secret generic apicast-configuration-url-secret --from-literal=password=https://<access_token>@<admin_portal_domain> --type=kubernetes.io/basic-auth
oc create secret generic apicast-configuration-url-secret --from-literal=password=https://<access_token>@<admin_portal_domain> --type=kubernetes.io/basic-auth
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
<access_token>
은 3scale 계정의 액세스 토큰이며<domain>-admin.3scale.net
은 3scale 관리 포털의 URL입니다.응답은 다음과 같아야 합니다.
secret/apicast-configuration-url-secret
secret/apicast-configuration-url-secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 템플릿에서 APIcast 게이트웨이 애플리케이션을 생성하고 배포를 시작합니다.
oc new-app -f https://raw.githubusercontent.com/3scale/3scale-amp-openshift-templates/3scale-2.10.0-GA/apicast-gateway/apicast.yml
oc new-app -f https://raw.githubusercontent.com/3scale/3scale-amp-openshift-templates/3scale-2.10.0-GA/apicast-gateway/apicast.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 하단에 다음 메시지가 표시됩니다.
--> Creating resources with label app=3scale-gateway ... deploymentconfig "apicast" created service "apicast" created --> Success Run 'oc status' to view your app.
--> Creating resources with label app=3scale-gateway ... deploymentconfig "apicast" created service "apicast" created --> Success Run 'oc status' to view your app.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6.1. OpenShift 콘솔을 통해 경로 생성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 콘솔을 통해 경로를 생성하려면 다음을 수행합니다.
절차
브라우저에서 OpenShift 클러스터의 웹 콘솔을 엽니다. https://OPENSHIFT-SERVER-IP:8443/console/
원격 서버에서 OpenShift 클러스터를 시작한 경우
OPENSHIFT-SERVER-IP
대신--public-hostname
에 지정된 값을 사용합니다.OpenShift의 로그인 화면이 표시됩니다.
참고신뢰할 수 없는 웹 사이트에 대한 경고가 표시될 수 있습니다. 이는 유효한 인증서를 구성하지 않고도 보안 프로토콜을 통해 웹 콘솔에 액세스하려고 하기 때문에 이는 예상된 결과입니다. 프로덕션 환경에서 이 문제를 방지해야 하지만 이 테스트 설정에서는 계속 진행하여 이 주소에 대한 예외를 생성할 수 있습니다.
개발자 자격 증명을 사용하여 로그인합니다.
위의 명령줄에서 생성한 게이트웨이 프로젝트를 포함하여 프로젝트 목록이 표시됩니다. 게이트웨이 프로젝트가 표시되지 않으면 다른 사용자로 만들었을 수 있으며 이 사용자에게 정책 역할을 할당해야 합니다.
게이트웨이 링크를 클릭하면 개요 탭이 표시됩니다.
OpenShift는 APIcast용 코드를 다운로드하고 배포를 시작했습니다. 배포가 진행 중일 때 실행 중인 Deployment #1 메시지가 표시될 수 있습니다.
빌드가 완료되면 UI(사용자 인터페이스)가 템플릿에 정의된 대로 OpenShift에서 시작하는 APIcast(1 pod) 인스턴스를 새로 고치고 표시합니다.
각 APIcast 인스턴스는 시작 시 3scale 관리 포털의 통합 페이지에서 제공한 설정을 사용하여 3scale에서 필요한 구성을 다운로드합니다.
OpenShift는 두 개의 APIcast 인스턴스를 유지 관리하고 두가지 모두의 상태를 모니터링합니다. 비정상 APIcast 인스턴스는 자동으로 새 APIcast 인스턴스로 교체됩니다.
APIcast 인스턴스가 트래픽을 수신하도록 허용하려면 경로를 생성해야 합니다. 경로 생성을 클릭하여 시작합니다.
위의 3scale에 설정한 동일한 호스트를 Public Base URL ( http:// 제외 및 포트 없이) (예:
gateway.openshift.demo
)에서 입력합니다. 그런 다음 Create 버튼을 클릭합니다.사용자가 정의한 모든 3scale 제품에 대해 새 경로를 생성해야 합니다.