18.4. 튜토리얼: 애플리케이션 배포
18.4.1. Kubernetes를 사용하여 OSToy 애플리케이션 배포
이미지 리포지토리에 프런트 엔드 및 백엔드 마이크로 서비스 컨테이너의 이미지를 생성하고 저장하여 OSToy 애플리케이션을 배포할 수 있습니다. 그런 다음 Kubernetes 배포를 생성하여 애플리케이션을 배포할 수 있습니다.
18.4.1.1. 로그인 명령 검색
- CLI에 로그인하지 않은 경우 웹 콘솔을 사용하여 클러스터에 액세스합니다.
오른쪽 상단에 있는 로그인 이름 옆에 있는 드롭다운 화살표를 클릭하고 로그인 명령 복사를 선택합니다.
새 탭이 열립니다.
- 인증 방법을 선택합니다.
- 토큰 표시를 클릭합니다.
- 이 토큰을 사용하여 로그인 아래에 명령을 복사합니다.
터미널에서 복사된 명령을 붙여넣고 실행합니다. 로그인에 성공하면 다음 확인 메시지가 표시됩니다.
$ oc login --token=<your_token> --server=https://api.osd4-demo.abc1.p1.openshiftapps.com:6443 Logged into "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443" as "rosa-user" using the token provided. You don't have any projects. You can try to create a new project, by running oc new-project <project name>
18.4.1.2. 새 프로젝트 생성
18.4.1.2.1. CLI 사용
다음 명령을 실행하여 클러스터에서
ostoy
라는 새 프로젝트를 생성합니다.$ oc new-project ostoy
출력 예
Now using project "ostoy" on server "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443".
선택 사항: 또는 다음 명령을 실행하여 고유한 프로젝트 이름을 생성합니다.
$ oc new-project ostoy-$(uuidgen | cut -d - -f 2 | tr '[:upper:]' '[:lower:]')
18.4.1.2.2. 웹 콘솔 사용
-
웹 콘솔에서 홈
프로젝트를 클릭합니다. 프로젝트 페이지에서 프로젝트 생성 을 클릭합니다.
18.4.1.3. 백엔드 마이크로 서비스 배포
마이크로 서비스는 내부 웹 요청을 제공하고 현재 호스트 이름과 무작위로 생성된 색상 문자열이 포함된 JSON 오브젝트를 반환합니다.
터미널에서 다음 명령을 실행하여 마이크로 서비스를 배포합니다.
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-microservice-deployment.yaml
출력 예
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-microservice-deployment.yaml deployment.apps/ostoy-microservice created service/ostoy-microservice-svc created
18.4.1.4. 프런트 엔드 서비스 배포
프런트 엔드 배포에서는 애플리케이션 및 추가 Kubernetes 오브젝트에 Node.js 프런트 엔드를 사용합니다.
ostoy-frontend-deployment.yaml
파일은 프런트 엔드 배포에서 다음 기능을 정의하는 것을 보여줍니다.
- 영구 볼륨 클레임
- Deployment 오브젝트
- Service
- 경로
- ConfigMaps
보안
애플리케이션 프런트 엔드를 배포하고 다음 명령을 입력하여 모든 오브젝트를 생성합니다.
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-frontend-deployment.yaml
출력 예
persistentvolumeclaim/ostoy-pvc created deployment.apps/ostoy-frontend created service/ostoy-frontend-svc created route.route.openshift.io/ostoy-route created configmap/ostoy-configmap-env created secret/ostoy-secret-env created configmap/ostoy-configmap-files created secret/ostoy-secret created
생성된 모든 오브젝트가 표시됩니다.
18.4.1.5. 경로 가져오기
애플리케이션에 액세스하려면 경로를 가져와야 합니다.
다음 명령을 실행하여 애플리케이션의 경로를 가져옵니다.
$ oc get route
출력 예
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD ostoy-route ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com ostoy-frontend-svc <all> None
18.4.1.6. 애플리케이션 보기
-
이전 단계에서
ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com
URL 출력을 복사합니다. 복사한 URL을 웹 브라우저에 붙여넣고 Enter 키를 누릅니다. 애플리케이션 홈페이지가 표시됩니다. 페이지가 로드되지 않는 경우
https
가 아닌http
를 사용해야 합니다.