OpenShiftOnline+Nginx로 웹 서버 구축

소개



OpneShiftOnline에서 Nginx를 사용하여 웹 서버를 설정하기 전의 단계를 요약했습니다.
사용법이 전혀 모르고 고생했기 때문에 앞으로 사용하자는 사람의 참고가 되면.

OpenShift 프로젝트 만들기



오른쪽 상단의 "Create Project"를 선택하고 프로젝트 이름, 표시 이름, 설명을 입력하여 프로젝트를 만듭니다.


프로젝트에 애플리케이션 추가



프로젝트를 선택하고 오른쪽 상단의 "Add to Project"에서 "Browse Catalog"를 선택합니다.


애플리케이션 선택



표시된 응용 프로그램 목록에서 Nginx를 선택하려고합니다.

Nginx가 없다!

docker image를 찾아보세요



준비된 카테고리에 없기 때문에 어쩔 수 없이 "Deploy Image"에서 Nginx의 docker image를 검색.




Nginx의 이미지 발견




Nginx 공식이 공개하고 있는 docker image인 것 같습니다만 아무래도 주의서가 있습니다.
아무래도 이 Nginx의 이미지는 클러스터가 허가하지 않을지도 모르는 루트 유저 권한으로 기동한다고 말하고 있는 것 같다. 무슨 일이야.

이미지 추가



어쩐지 모르겠지만 어쨌든 추가해 보자, 라고 하는 것으로 우하의 "Deploy"로부터 어플리케이션을 추가한다.
그러면

마음대로 구축이 시작된 것 같다. 괜찮을까요? 라고 보면


실패. 뭔가 좋지 않은 일이 일어난 것 같다.

빌드 실패의 원인



오류 메시지의 "view log"에서 무슨 일이 일어났는지 살펴 보자.

"Crash loop back off"라고 나와 있지만 아무래도 mkdir 명령이 권한 에러로 연주되고 있는 모양. 왜다.

여러가지 조사해 보면, OpneShift는 루트 권한으로의 컨테이너 조작을 금지하고 있는 것 같다.
아까의 주의 문언의 루트 권한으로 움직이겠다, 라고 하는 것은 이를 위한 주의인가···

해결 방법



그렇다고 해서, 발견한 docker image는 유감스럽게 사용할 수 없었기 때문에 다른 방법을 찾아본다.
그러면 RedHat이 공개하는 Nginx의 도커 이미지이 OpenShift에서도 사용할 수있는 것 같습니다.
조속히 시험해 본다.

드디어 구축 완료



아까의 "deploy image"에서 검색해도 나오지 않기 때문에 OpenShift를 조작하는 OC 툴이라는 것을 사용한다.
상단 메뉴의 "Command Line Tool"에서 떨어집니다.


떨어지면 압축을 풀고 명령 프롬프트에서 압축 해제 폴더로 이동하여 다음 명령을 복사하여 두드립니다. 이제 자신의 프로젝트에 로그인 할 수있는 상태가됩니다.


그런 다음 응용 프로그램 추가 아래 명령을 입력.
>oc new-app registry.access.redhat.com/rhscl/nginx-112-rhel7~[gitリポジトリ]

git 리포지토리에는 웹 서버에 넣고 싶은 자산이 들어있는 리포지토리를 넣으십시오.
그리고 OpneShiftOnline에서 확인하면 ...

구축 할 수 있다!

그리고 루트 디렉토리를 지정하면

git 리포지토리의 페이지를 볼 수 있습니다. 길었다 ...

요약



어떻게든 구축 할 수 있었습니다만 잘 모르게 남아 있는 곳이 많다(POD는 무엇?Nginx 컨피그는 어디?) 때문에 아직 아직 조사 부족하다. .
또, docker image는 스스로 루트 권한이 아니어도 기동할 수 있는 설정으로 해 만들면 자작의 image에서도 구축은 할 수 있는 것 같습니다.

참고 기사:
How to run nginx on openshift and deploy website?

좋은 웹페이지 즐겨찾기