Continuous Delivery 및 Satellite 구성을 사용하여 클러스터에 앱 배치

GitHub 또는 GitLab 저장소에 있는 배포(deployments)와 같은 Kubernetes 리소스를, IBM Cloud® Continuous Delivery 및 Satellite Config를 사용하여 여러 클러스터에 배포할 수 있습니다.

목표

이 튜토리얼에서는 Continuous Delivery 를 사용하여 앱을 여러 클러스터에 배포함으로써 오픈 툴체인을 구축하는 방법을 배웁니다. 또한 Continuous Delivery 서비스에서 도구 체인이 구현되는 방법과 Continuous Delivery전용 도구 체인 템플리트를 사용하여 단순 웹 앱을 배치하는 방법을 학습합니다.

Satellite 구성을 사용하여 클러스터 그룹에 배치할 Kubernetes 리소스를 지정하는 구성을 작성합니다. 그런 다음 Continuous Delivery 파이프라인을 설정하여 구성이 변경될 때마다 클러스터 그룹에 이러한 리소스를 배치하십시오.

이 학습서에서 사용되는 도구 체인은 Satellite 위치에서 배치를 관리하여 지속적 딜리버리 기능에 대한 표준 DevOps 사례를 구현합니다. 클러스터를 생성하고 이를 Satellite 클러스터 그룹에 연결한 후, 툴체인을 생성하여 배포용 소스 코드를 수정하고 해당 변경 사항을 GitHub 저장소에 푸시할 수 있습니다. 저장소에 변경사항을 푸시하면 Tekton 기반 딜리버리 파이프라인이 자동으로 코드를 클러스터에 배치합니다.

대상

이 튜토리얼은 Continuous Delivery 툴체인과 Satellite Config를 사용하여 리소스를 처음 배포하는 관리자를 대상으로 합니다.

전제조건

이 튜토리얼을 시작하기 전에, 다음 자료들이 준비되어 있는지 확인하십시오.

  • IBM Cloud 계정. IBM Cloud 계정 유형에 따라 특정 리소스에 대한 액세스가 제한될 수 있습니다. 계정 요금제의 제한 사항에 따라, 일부 배포 전략에 필요한 특정 기능을 사용할 수 없을 수도 있습니다. IBM Cloud 계정에 대한 자세한 내용은 ‘ IBM Cloud 계정 설정’‘계정 업그레이드’를 참조하십시오.

  • Satellite 위치에 등록된 IBM Cloud 의 Satellite 클러스터 또는 Red Hat® OpenShift® 클러스터.

Satellite 클러스터가 없는 경우, Satellite 에서 Red Hat OpenShift 클러스터를 등록할 수 있습니다.

시작하기

IBM Cloud 에서 툴체인을 구축하기 시작하세요.

  1. IBM Cloud 신임 정보를 사용하여 IBM Cloud 도구 체인 에 로그인하십시오.
  2. 도구 체인의 리소스 그룹 및 위치를 선택하십시오.
  3. '툴체인 생성'을 클릭합니다.
  4. 도구 체인 작성 페이지의 필터 아래에서 Satellite 를 선택하여 Satellite에 적용 가능한 템플리트를 표시하십시오.
  5. 다중 클러스터에 Kubernetes 리소스 배치 템플리트를 선택하십시오.
  6. 정보를 읽고 도구 체인이 작동하는 방법을 이해한 후 시작을 클릭하십시오.

도구 체인 설정 정의

도구 체인의 이름, 지역 및 리소스 그룹을 정의하십시오.

  1. 도구 체인의 이름을 제공하십시오.
  2. 툴체인을 생성할 지역을 선택하십시오.
  3. 도구 체인을 작성할 리소스 그룹을 선택하십시오.
  4. 계속을 클릭합니다.

소스 저장소 정의

이 도구 체인이 청취할 소스 저장소의 세부사항을 지정하십시오. 표준 구성 옵션 또는 고급 구성 옵션을 사용하여 이 정보를 지정할 수 있습니다.

  1. 소스 제공자를 선택하십시오. 선택하는 소스 제공자에 따라 해당 소스 제공자에 특정한 옵션이 표시됩니다. 예를 들어, Github 엔터프라이즈 Whitewater 를 소스 제공자로 선택할 수 있습니다.

  2. 소스 저장소를 정의하십시오.

    • 이 도구 체인에 새 저장소를 사용하려면 새 소스 저장소 작성 을 클릭하고 새 저장소의 이름을 지정하십시오.
    • 이 툴체인에 기존 저장소를 사용하려면 ‘기존 소스 저장소 사용’을 클릭하고 저장소 URL 를 지정하십시오. 소스 제공자를 선택하고 리포지토리의 URL 주소를 입력하세요. 예: https://github.com/my-org/my-repo.
  3. 계속을 클릭합니다.

사용자 정의 서버 사용 및 복제 동작 변경과 같은 고급 소스 저장소 설정에 액세스하려면 고급 구성으로 전환을 선택하십시오.

딜리버리 파이프라인 설정

Satellite 클러스터 그룹 내의 여러 클러스터에 애플리케이션을 배포하기 위한 배포 파이프라인의 이름을 지정하십시오.

  1. 도구 체인에 표시되는 파이프라인 이름을 입력하십시오.

  2. 계속을 클릭합니다.

API키 제공

툴체인이 Satellite 위치에 액세스하는 데 사용할 수 있는 IBM Cloud API 키 정보를 입력하세요.

기존 API키 또는 여러 개의 기존 API키가 있는 경우 다음 단계를 수행하십시오.

  1. 사용하는 하나 이상의 시크릿 제공자를 선택하십시오. 하나 이상 선택할 수 있습니다.

  2. 계속을 클릭합니다.

  3. 시크릿 제공자에 액세스하는 데 필요한 정보를 제공하십시오.

기존 API키가 없는 경우 이 페이지의 옵션을 무시하고 계속 을 클릭하여 다음 페이지로 진행할 수 있습니다. 여기서 IBM Cloud API키를 작성하고 시크릿 제공자에 저장할 수 있습니다.

Satellite 설정 구성

Satellite 구성 도구가 리소스를 배포할 때 사용할 수 있는 설정을 지정합니다.

  1. IBM Cloud API 키를 입력하세요. 이전 페이지에서 기존 IBM Cloud API키를 제공하지 않은 경우 새로 작성을 클릭하여 새 IBM Cloud API키를 작성할 수 있습니다.

    새 키를 작성할 때 해당 옵션을 선택하거나 키 아이콘을 클릭하여 재사용하기 위해 선택한 비밀 정보 제공자에 이 키를 저장할 수 있습니다.

  2. 리소스를 배치할 네임스페이스를 정의하십시오. 이 이름 공간은 기존 이름 공간이어야 합니다.

  3. 자원을 배치할 분기를 지정하십시오 (예: v1).

  4. 자원을 배치할 경로를 제공하십시오 (예: deployments).

  5. 배치 중인 리소스를 수신할 클러스터 그룹을 선택하십시오.

  6. Satellite 구성의 표시 이름을 제공하십시오.

  7. 계속을 클릭합니다.

요약 검토

요약을 검토하고 도구 체인 작성을 확인하십시오.

  • 이전에 제공한 매개변수를 변경하려면 이전을 클릭하십시오.

  • 제공된 매개변수를 사용하여 도구 체인을 작성하려면 도구 체인 작성을 클릭하십시오.

도구 체인 테스트

도구 체인이 작성되면 도구 체인 개요 페이지가 표시됩니다. 이 페이지에서는 이 툴체인과 연결된 리포지토리, 파이프라인 및 IBM Cloud 의 모든 도구를 확인할 수 있습니다.

저장소 아래에는 Tekton 카탈로그 및 파이프라인 태스크를 위한 추가 저장소뿐만 아니라 소스 저장소가 있습니다. Tekton 사용에 익숙한 경우 이러한 Tekton 저장소로 이동하여 도구 체인을 변경할 수 있습니다.

Delivery Pipeline 아래에서 파이프라인 실행의 상태를 볼 수 있습니다. 파이프라인의 이름을 클릭하여 파이프라인에 대한 세부사항을 보고 이 파이프라인 개요에서 파이프라인에 대한 트리거를 설정할 수 있습니다. 트리거는 파이프라인이 시작되는 시기를 정의합니다.

다음 방법 중 하나를 사용하여 배포 파이프라인을 시작할 수 있습니다.

  • 수동 트리거를 설정하여 전달 파이프라인을 수동으로 트리거하십시오.
  • Git 저장소 트리거에 의해 정의된 대로 배치 소스 저장소에 커미트를 푸시하십시오. Git 저장소 트리거를 설정하려면 다른 분기에서 앱의 새 버전 배치 를 참조하십시오.

수동 파이프라인 실행을 시작하려면 다음 단계를 수행하십시오.

  1. Delivery Pipeline 아래에 있는 도구 체인의 개요 에서 해당 상태를 보려는 delivery pipeline을 선택하십시오.
  2. 파이프라인 실행을 클릭하십시오.
  3. 트리거 특성을 검토하여 구성과 일치하는지 확인하십시오.
  4. 실행 을 클릭하여 도구 체인을 실행하고 앱을 배치하십시오.
  5. 선택사항: 상태, 로그 및 세부사항을 보려면 실행의 이름을 클릭하십시오.
  6. 선택사항: 앱이 실행된 후 Satellite 구성 으로 이동하거나 ibmcloud sat config 명령을 실행하여 Satellite 구성 자원을 확인하십시오.

샘플 앱이 실행 중인지 확인

툴체인이 설정되고 ‘ Delivery Pipeline ’가 성공적으로 완료된 후, 다음 단계를 수행하여 앱을 확인하세요.

  1. 클러스터 페이지에서 앱을 배치하는 데 사용한 클러스터를 클릭하십시오.
  2. OpenShift 웹 콘솔을 클릭하십시오.
  3. 워크로드 > 팟 (Pod) 섹션에서 프로젝트 또는 클러스터 네임스페이스별로 필터링하고 팟 (Pod) 이 실행 중인지 확인하십시오.
  4. '네트워킹 > 경로' 섹션에서 프로젝트 또는 클러스터 네임스페이스를 기준으로 필터링한 후, 앱 URL 을 찾아보세요.
  5. 브라우저에서 URL 으로 접속하여 앱이 실행 중인지 확인하십시오.
  6. 선택사항: Satellite 구성 콘솔에서 을 보거나 ibmcloud sat config ls 명령 를 실행하여 볼 수 있습니다.

다른 분기에서 앱의 새 버전 배치

여러 버전의 앱을 나타내는 여러 분기가 저장소에 있는 경우 다른 분기를 배치하여 실행 중인 앱의 새 버전을 볼 수 있습니다. 도구 체인을 수정하여 소스 저장소의 다른 분기를 배치하려면 다음 단계를 수행하십시오.

  1. 도구 체인의 개요 에서 수정할 딜리버리 파이프라인을 선택하십시오.
  2. 트리거를 클릭하십시오.
  3. 커미트 푸시 트리거에 대한 조치 메뉴를 클릭하십시오.
  4. 편집을 선택하십시오.
  5. 분기 필드에서 배치할 분기를 선택하십시오. 예를 들어, v2입니다.
  6. 특성아래의 deployment-branch 행에서 편집 아이콘을 클릭하십시오.
  7. 이 특성의 값을 배치할 분기 이름으로 수정하십시오. 예를 들어, v2입니다.
  8. 변경사항을 저장하십시오.
  9. 브라우저에서 URL 페이지에 접속하여 앱이 새 버전으로 실행 중인지 확인해 보세요.
  10. 선택사항: Satellite 구성 콘솔 에서 또는 ibmcloud sat config get --config CONFIG 명령 을 실행하여 구성의 새 버전을 보십시오.

이제 단일 도구 체인을 사용하여 Kubernetes 리소스를 여러 클러스터에 배치할 수 있습니다.