2.2. Kubernetes를 사용하여 OSToy 애플리케이션 배포
애플리케이션을 배포하려면 컨테이너 이미지를 생성하고, 이미지 리포지토리에 저장하고, 해당 이미지를 사용하는 Deployment 오브젝트를 정의해야 합니다.
애플리케이션을 배포하려면 다음 단계를 수행해야 합니다.
- 프런트 엔드 및 백엔드 마이크로 서비스 컨테이너의 이미지를 만듭니다.
- 이미지 리포지토리에 컨테이너 이미지 저장
- 애플리케이션에 대한 Kubernetes Deployment 오브젝트 생성
- 애플리케이션 배포
이 워크샵에서는 애플리케이션 배포에 중점을 두고 있으며 사용자가 기존 이미지를 사용하는 원격 파일을 실행합니다.
2.2.1. 로그인 명령 검색 링크 복사링크가 클립보드에 복사되었습니다!
프로세스
다음 명령을 실행하여 CLI(명령줄 인터페이스)에 로그인했는지 확인합니다.
rosa whoami
rosa whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령줄 인터페이스에 로그인한 경우 "새 프로젝트 생성"으로 건너뜁니다. 명령줄 인터페이스에 로그인하지 않은 경우 이 절차를 계속합니다.
- 웹 콘솔을 사용하여 클러스터에 액세스합니다.
오른쪽 상단에 있는 로그인 이름 옆에 있는 드롭다운 화살표를 클릭하고 로그인 명령 복사를 선택합니다.
새 탭이 열립니다.
- 인증 방법을 선택합니다.
- 토큰 표시를 클릭합니다.
- 이 토큰을 사용하여 로그인 아래에 명령을 복사합니다.
터미널에서 복사된 명령을 붙여넣고 실행합니다. 로그인에 성공하면 다음 확인 메시지가 표시됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2. 새 프로젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
선호하는 인터페이스를 사용하여 새 프로젝트를 생성합니다.
2.2.2.1. CLI를 사용하여 새 프로젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
프로세스
다음 명령을 실행하여 클러스터에서
ostoy
라는 새 프로젝트를 생성합니다.oc new-project ostoy
$ oc new-project ostoy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Now using project "ostoy" on server "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443".
Now using project "ostoy" on server "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443".
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음 명령을 실행하여 고유한 프로젝트 이름을 생성합니다.
oc new-project ostoy-$(uuidgen | cut -d - -f 2 | tr '[:upper:]' '[:lower:]')
$ oc new-project ostoy-$(uuidgen | cut -d - -f 2 | tr '[:upper:]' '[:lower:]')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2.2. 웹 콘솔을 사용하여 새 프로젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
프로세스
-
웹 콘솔에서 홈
프로젝트를 클릭합니다. 프로젝트 페이지에서 프로젝트 생성 을 클릭합니다.
- 프로젝트 생성 상자의 이름 필드에 프로젝트 이름을 입력합니다.
- 생성을 클릭합니다.
2.2.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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.4. 프런트 엔드 마이크로 서비스 배포 링크 복사링크가 클립보드에 복사되었습니다!
프런트 엔드 배포에서는 애플리케이션 및 추가 Kubernetes 오브젝트에 Node.js 프런트 엔드를 사용합니다.
프론트 엔드 배포는 다음 기능을 정의합니다.
- 영구 볼륨 클레임
- Deployment 오브젝트
- Service
- 경로
- ConfigMaps
- 보안
프로세스
애플리케이션 프런트 엔드를 배포하고 다음 명령을 실행하여 오브젝트를 생성합니다.
oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-frontend-deployment.yaml
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-frontend-deployment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 오브젝트가 성공적으로 생성되어야 합니다.
2.2.5. 애플리케이션 경로 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션에 액세스할 경로를 가져옵니다.
프로세스
다음 명령을 실행하여 애플리케이션의 경로를 가져옵니다.
oc get route
$ oc get route
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.6. 애플리케이션 보기 링크 복사링크가 클립보드에 복사되었습니다!
프로세스
-
이전 단계에서
ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com
URL 출력을 복사합니다. 복사한 URL을 웹 브라우저에 붙여넣고 Enter 키를 누릅니다. 애플리케이션 홈페이지가 표시됩니다. 페이지가 로드되지 않으면
https
가 아닌http
를 사용해야 합니다.