CLI에서 첫 번째 클래식 클러스터 설정

클래식 인프라

이 튜토리얼에서는 CLI를 사용하여 클래식 인프라에 Red Hat OpenShift on IBM Cloud 클러스터를 배포합니다.

대상

이 튜토리얼은 CLI를 사용하여 Red Hat OpenShift on IBM Cloud 클러스터를 처음 생성하는 방법을 배우고자 하는 클러스터 관리자를 대상으로 합니다.

목표

이 튜토리얼에서는 다음 과제를 수행하게 됩니다.

  • 4개의 코어와 16GB메모리가 있는 2개의 작업자 노드가 있는 Washington, DC에 클러스터를 작성하십시오.
  • Red Hat OpenShift 웹 콘솔을 여십시오.
  • 샘플 앱을 배치하십시오.
  • 외부 사용자가 서비스에 액세스할 수 있도록 라우트에 앱을 노출하십시오.

얻을 수 있는 것

이 튜토리얼에서는 CLI를 사용하여 다음 리소스를 작성합니다. 학습서를 완료한 후 보존하지 않으려는 경우 이러한 자원을 삭제하는 선택적 단계가 있습니다.

  • 2개의 작업자 노드가 있는 클래식 클러스터
  • 클러스터에 배치된 간단한 Hello World 앱
  • 앱을 노출하기 위한 라우트

클러스터 아키텍처
아키텍처

전제조건

  1. 권한을 확인하십시오. 계정 소유자라면 클러스터를 생성하는 데 필요한 권한을 이미 보유하고 있으므로 다음 단계로 진행할 수 있습니다. 계정 소유자가 아닌 경우에는 계정 소유자에게 API키를 설정하고 IBM Cloud IAM 에서 필요한 권한을 지정하도록 요청하십시오.

  2. IBM Cloud CLI 도구를 설치하십시오.

Red Hat OpenShift on IBM Cloud 클러스터 작성

  1. 계정 및 리소스 그룹에 로그인하십시오. 연합 계정이 있는 경우, --sso 옵션을 포함하십시오.

    ibmcloud login [-g RESOURCE GROUP] [--sso]
    
  2. 다음 명령을 실행하여 워싱턴 D.C.에 4코어, 16GB 메모리를 갖춘 2개의 워커 노드로 구성된 버전 4.21 클러스터를 생성하십시오.

    ibmcloud oc cluster create classic --name my-tutorial-cluster --location wdc04 --version 4.21_openshift --flavor b3c.4x16  --workers 2 --public-service-endpoint
    
  3. 클러스터 작성을 완료하는 데 다소 시간이 걸릴 수 있습니다. 클러스터 상태가 정상을 나타내면 클러스터 네트워크 및 Ingress 컴포넌트가 Red Hat OpenShift 웹 콘솔 및 기타 라우트에 사용하는 클러스터 도메인을 배치하고 업데이트하는 데 약 10분 이상이 소요됩니다.

  4. 클러스터 세부사항을 나열하십시오. 클러스터 상태를 검토하고, Ingress 하위 도메인을 확인하고, 마스터 URL을 기록해 두십시오.

    ibmcloud oc cluster get --cluster CLUSTER_NAME_OR_ID
    
  5. 클러스터에 맞는 kubeconfig 구성 파일을 다운로드하여 추가하십시오.

    ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID
    
  6. 브라우저에서 마스터 URL의 주소로 이동하고 /console을 추가하십시오. 예: https://c0.containers.cloud.ibm.com:23652/console.

  7. 버전을 확인하여 클러스터에서 oc 명령이 올바르게 실행되는지 확인하십시오.

    oc version
    

    출력 예

    Client Version: v4.21.0
    Kubernetes Version: v1.35.7.2
    

    관리자 권한이 필요한 오퍼레이션(예: 클러스터에 있는 모든 작업자 노드 또는 팟(Pod) 나열)을 수행할 수 없으면 ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID --admin 명령을 실행하여 클러스터 관리자에 적합한 TLS 인증서 및 권한 파일을 다운로드하십시오.

Red Hat OpenShift 콘솔 탐색

  1. 콘솔 에서 ‘ Red Hat OpenShift ’ 클러스터를 선택한 다음, ‘ OpenShift ’ 웹 콘솔을 클릭합니다.
  2. CLI에서 클러스터를 사용하려면 프로필 IAM#user.name@email.com > 로그인 명령 복사 을 클릭하세요. CLI를 사용하여 인증하도록 명령행에 oc login 토큰 명령을 표시하고 복사하십시오.

클러스터에 앱 배치

  1. Hello World 앱에 적합한 프로젝트를 작성하십시오.

    oc new-project hello-world
    
  2. oc new-app 명령을 사용하여 샘플 앱 소스 코드에서 를 빌드하십시오.

    oc new-app --name hello-world https://github.com/IBM/container-service-getting-started-wt --context-dir="Lab 1"
    

    출력에 경고 메시지가 표시될 수 있지만 이 예제에는 영향을 주지 않습니다.

  3. hello-world 서비스를 나열하고 서비스 이름을 기록해 두십시오. Ingress 제어기가 외부 트래픽 요청을 앱에 전달할 수 있도록 이러한 내부 클러스터 IP 주소의 트래픽을 청취합니다(서비스에 대한 라우트를 작성하지 않은 경우).

    oc get svc -n hello-world
    

    출력 예

    NAME          TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    hello-world   ClusterIP   172.21.xxx.xxx   <none>       8080/TCP   31m
    
  4. 팟 (Pod) 을 나열하고 hello-world 팟 (Pod) 상태가 실행 중 이고 builddeploy 팟 (Pod) 이 완료됨 인지 확인하십시오.

    oc get pods -n hello-world
    

    출력 예

    NAME                  READY     STATUS             RESTARTS   AGE
    hello-world-1-9cv7d   1/1       Running            0          30m
    hello-world-1-build   0/1       Completed          0          31m
    hello-world-1-deploy  0/1       Completed          0          31m
    
  5. 공용으로 Hello world 서비스에 액세스할 수 있도록 라우트를 설정하십시오.

    oc create route edge --service=hello-world -n hello-world
    
  6. 호스트/포트 출력에서 라우트 호스트 이름 주소를 가져오십시오.

    oc get route -n hello-world
    

    출력 예

    NAME          HOST/PORT                         PATH                                        SERVICES      PORT       TERMINATION   WILDCARD
    hello-world   hello-world-hello.world.CLUSTER-NAME-RANDOM-ID.REGION.containers.appdomain.cloud    hello-world   8080-tcp   edge/Allow    None
    
  7. 앱에 액세스하십시오. 라우트 호스트 이름에 https://를 추가하십시오. 노출된 서비스가 표시되기 전에 1분이 걸릴 수 있습니다.

    curl https://hello-world-hello-world.CLUSTER-NAME-RANDOM-ID.REGION.containers.appdomain.cloud
    

    출력 예

    Hello world from hello-world-9cv7d! Your app is up and running in a cluster!
    

학습서 자원 정리

  1. hello-world 프로젝트의 자원을 나열하십시오.
    oc get all -l app=hello-world -o name -n hello-world
    
    출력 예
    pod/hello-world-1-dh2ff
    replicationcontroller/hello-world-1
    service/hello-world
    deploymentconfig.apps.openshift.io/hello-world
    buildconfig.build.openshift.io/hello-world
    build.build.openshift.io/hello-world-1
    imagestream.image.openshift.io/hello-world
    imagestream.image.openshift.io/node
    route.route.openshift.io/hello-world
    
  2. 자원을 삭제하십시오.
    oc delete all -l app=hello-world -n hello-world
    

다음에 수행할 작업

Red Hat OpenShift on IBM Cloud 의 인기 클러스터 애드온 두 개를 설치하세요: IBM Cloud Logs 그리고 IBM Cloud Monitoring.