웹사이트 검색

Ubuntu 18.04에서 OpenShift Origin PaaS 서버를 설치 및 구성하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 20.04(Focal Fossa)
  • Ubuntu 18.04(Bionic Beaver)

이 페이지에서

  1. 요구 사항\n
  2. 시작하기\n
  3. Docker CE 설치
  4. OpenShift 설치
  5. OpenShift 클러스터 시작
  6. OpenShift에서 테스트 프로젝트 생성\n
  7. OpenShift 웹 콘솔에 액세스

OpenShift는 Red Hat에서 개발한 무료 오픈 소스 Platform-as-a-Service입니다. OpenShift는 클라우드 환경에서 애플리케이션을 개발, 호스팅 및 확장하는 데 사용됩니다. OpenShift는 Java EE6, Ruby, PHP, Python, Perl, MongoDB, MySQL 및 PostgreSQL과 같은 많은 언어를 지원합니다. OpenShift는 1000개 이상의 기업이 신뢰하는 선도적인 클라우드 및 엔터프라이즈 Kubernetes 애플리케이션 플랫폼입니다. Openshift를 사용하면 요구 사항에 따라 애플리케이션을 생성, 수정 및 배포할 수 있습니다.

이 튜토리얼에서는 Ubuntu 18.04 LTS 서버에 단일 노드 OpenShift Origin을 설치하는 방법을 알아봅니다.

요구 사항

  • 최소 2GB RAM이 있는 Ubuntu 18.04를 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

시작하기

시작하기 전에 최신 안정 버전으로 시스템을 업데이트하십시오. 다음 명령으로 수행할 수 있습니다.

apt-get update -y
apt-get upgrade -y

업데이트가 완료되면 서버를 다시 시작하여 모든 구성 변경 사항을 적용하십시오.

도커 CE 설치

OpenShift는 Docker 컨테이너에서 실행됩니다. 따라서 서버에 Docker CE를 설치해야 합니다. Bt 기본값인 최신 버전의 Docker CE는 Ubuntu 18.04 기본 리포지토리에서 사용할 수 없습니다. 따라서 시스템에 Docker CE 리포지토리를 추가해야 합니다.

Docker CE를 설치하려면 다음 명령을 사용하여 Docker GPG 키를 다운로드하고 추가하십시오.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

추가했으면 다음 명령을 사용하여 Docker CE 리포지토리를 추가합니다.

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

다음으로 다음 명령을 사용하여 Docker CE를 업데이트하고 설치합니다.

apt-get update -y
apt-get install docker-ce -y

설치가 완료되면 다음 명령을 사용하여 Docker CE의 상태를 확인하십시오.

systemctl status docker

다음 출력이 표시되어야 합니다.

? docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-07 08:06:57 UTC; 33s ago
     Docs: https://docs.docker.com
 Main PID: 19052 (dockerd)
    Tasks: 8
   CGroup: /system.slice/docker.service
           ??19052 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372084572Z" level=warning msg="Your kernel does not support swap memory limit"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372483783Z" level=warning msg="Your kernel does not support cgroup rt period"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372711298Z" level=warning msg="Your kernel does not support cgroup rt runtime"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.373275104Z" level=info msg="Loading containers: start."
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.612047102Z" level=info msg="Default bridge (docker0) is assigned with an IP ad
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.712918131Z" level=info msg="Loading containers: done."
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.938574106Z" level=info msg="Docker daemon" commit=74b1e89 graphdriver(s)=overl
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.939341612Z" level=info msg="Daemon has completed initialization"
Aug 07 08:06:57 hitesh systemd[1]: Started Docker Application Container Engine.
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.989385865Z" level=info msg="API listen on /var/run/docker.sock"

완료되면 다음 단계로 진행할 수 있습니다.

오픈시프트 설치

먼저 Git 리포지토리에서 OpenShift의 안정적인 최신 버전을 다운로드해야 합니다. 다음 명령을 사용하여 Git 저장소에서 최신 버전의 OpenShift를 다운로드할 수 있습니다.

cd /opt
wget https://github.com/openshift/origin/releases/download/v3.9.0/openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz

다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일의 압축을 풉니다.

tar -zvxf openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz

다음으로 디렉토리를 추출된 디렉토리로 변경하고 다음 명령을 사용하여 oc 바이너리를 /usr/local/bin 디렉토리에 복사합니다.

cd openshift-origin-client-tools-v3.9.0-191fece-linux-64bit
cp oc /usr/local/bin/

이제 다음 명령을 사용하여 oc의 버전을 확인할 수 있습니다.

oc version

다음 출력이 표시되어야 합니다.

oc v3.9.0+191fece
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth GSSAPI Kerberos SPNEGO

다음으로 docker 데몬에 비보안 레지스트리를 추가해야 합니다. 다음 명령으로 수행할 수 있습니다.

nano /etc/docker/daemon.json

다음 줄을 추가합니다.

{
    "insecure-registries" : [ "172.30.0.0/16" ]
}

완료되면 파일을 저장하고 닫습니다. 그런 다음 Docker 서비스를 다시 시작하여 구성 변경 사항을 적용합니다.

systemctl restart docker

완료되면 다음 단계로 진행할 수 있습니다.

OpenShift 클러스터 시작

이제 아래와 같이 IP 주소 또는 호스트 이름을 지정하여 OpenShift 클러스터를 시작합니다.

oc cluster up --public-hostname=38.143.69.14

서버가 성공적으로 시작되면 다음 출력이 표시되어야 합니다.

WARNING: Binding DNS on port 8053 instead of 53, which may not be resolvable from all clients.
Using Docker shared volumes for OpenShift volumes
Using public hostname IP 38.143.69.14 as the host IP
Using 38.143.69.14 as the server IP
Starting OpenShift using openshift/origin:v3.9.0 ...
OpenShift server started.

The server is accessible via web console at:
    https://38.143.69.14:8443

You are logged in as:
    User:     developer
    Password: 

To login as administrator:
    oc login -u system:admin

참고: 서버 IP 주소를 38.143.69.14로 바꾸십시오.

이제 다음 명령을 사용하여 클러스터에 로그인합니다.

oc login -u system:admin

다음 출력이 표시되어야 합니다.

Logged into "https://38.143.69.14:8443" as "system:admin" using existing credentials.

You have access to the following projects and can switch between them with 'oc project ':

    default
    kube-public
    kube-system
  * myproject
    openshift
    openshift-infra
    openshift-node
    openshift-web-console
Using project "myproject".

이제 다음 명령을 사용하여 프로젝트를 기본값으로 변경할 수 있습니다.

oc project default

다음 출력이 표시되어야 합니다.

Now using project "default" on server "https://38.143.69.14:8443".

이제 다음 명령을 사용하여 프로젝트 상태를 확인할 수 있습니다.

oc status

다음 출력이 표시되어야 합니다.

In project default on server https://38.143.69.14:8443

svc/docker-registry - 172.30.1.1:5000
  dc/docker-registry deploys docker.io/openshift/origin-docker-registry:v3.9.0 
    deployment #1 deployed 3 minutes ago - 1 pod

svc/kubernetes - 172.30.0.1 ports 443->8443, 53->8053, 53->8053

svc/router - 172.30.106.228 ports 80, 443, 1936
  dc/router deploys docker.io/openshift/origin-haproxy-router:v3.9.0 
    deployment #1 deployed 3 minutes ago - 1 pod

View details with 'oc describe /' or list everything with 'oc get all'.

OpenShift에서 테스트 프로젝트 생성

이제 OpenShift가 설치되어 작동합니다. 그런 다음 개발자 사용자로 OpenShift에 로그인합니다.

oc login

개발자/개발자로 사용자 이름과 비밀번호를 제공하고 Enter 키를 누르십시오. 다음 출력이 표시되어야 합니다.

Authentication required for https://38.143.69.14:8443 (openshift)
Username: developer
Password: 
Login successful.

You have one project on this server: "myproject"

Using project "myproject".

이제 다음 명령을 사용하여 새 테스트 프로젝트를 만듭니다.

oc new-project dev --display-name="test - Dev" --description="Test Project"

다음 출력이 표시되어야 합니다.

Now using project "dev" on server "https://38.143.69.14:8443".

You can add applications to this project with the 'new-app' command. For example, try:

    oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git

to build a new example application in Ruby.

다음으로 다음 명령을 사용하여 이 프로젝트에서 새 Ruby 애플리케이션을 빌드합니다.

oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git

이제 다음 명령을 사용하여 현재 프로젝트의 상태를 확인합니다.

oc status

다음 출력이 표시되어야 합니다.

In project test - Dev (dev) on server https://38.143.69.14:8443

svc/ruby-ex - 172.30.16.207:8080
  dc/ruby-ex deploys istag/ruby-ex:latest <- bc="" ruby-ex="" source="" builds="" https:="" github="" com="" openshift="" git="" on="" istag="" ruby-22-centos7:latest="" build="" 1="" running="" for="" 54="" seconds="" -="" c00ecd7:="" merge="" pull="" request="" 25="" from="" pvalena="" master="" honza="" horak="" hhorak="" redhat="">)
    deployment #1 waiting on image or update

완료되면 다음 단계로 진행할 수 있습니다.

OpenShift 웹 콘솔에 액세스

이제 웹 브라우저를 열고 URL https://your-server-ip:8443을 입력합니다. 다음 페이지로 리디렉션됩니다.

개발자 사용자 이름과 비밀번호를 제공하십시오. 그런 다음 로그인 버튼을 클릭합니다. 다음 페이지에 OpenShift 기본 대시보드가 표시되어야 합니다.

이제 오른쪽에 있는 내 프로젝트를 클릭합니다. 다음 페이지가 표시됩니다.

이제 테스트 - Dev를 클릭합니다. 다음 페이지에 배포된 Ruby 앱이 표시되어야 합니다.

축하합니다! Ubuntu 18.04 서버에 OpenShift를 성공적으로 설치 및 구성했습니다. OpenShift를 사용하여 새 프로젝트를 생성하고 자체 애플리케이션을 배포할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요. 이 문서는 프로덕션 용도로 권장되지 않습니다. 자세한 내용은 OpenShift의 공식 문서를 참조하십시오.