2.6. Operator를 사용하여 3scale 배포

이 섹션에서는 APIManager 사용자 지정 리소스를 사용하여 3scale Operator를 통해 3scale 솔루션을 설치하고 배포하는 방법을 설명합니다.

참고
  • 3scale 2.6 이후 와일드카드 경로가 제거되었습니다.

    • 이 기능은 백그라운드에서 Zync에 의해 처리됩니다.
  • API 공급자가 생성, 업데이트 또는 삭제되면 경로에 해당 변경 사항이 자동으로 반영됩니다.

사전 요구 사항

다음 절차에 따라 Operator를 사용하여 3scale을 배포합니다.

2.6.1. APIManager 사용자 정의 리소스 배포

APIManager 사용자 지정 리소스를 배포하면 Operator가 처리를 시작하고 해당 리소스에서 3scale 솔루션을 배포합니다.

절차

  1. Operators > 설치된 Operators를 클릭합니다.

    1. 설치된 Operator 목록에서 3scale Operator를 클릭합니다.
  2. API Manager 탭을 클릭합니다.
  3. APIManager 생성을 클릭합니다.
  4. 샘플 콘텐츠를 지우고 편집기에 다음 YAML 정의를 추가한 다음 생성 을 클릭합니다.

    • 3scale 2.8 이전에는 highAvailability 필드를 true 로 설정하여 복제본을 자동으로 추가할 수 있습니다. 3scale 2.8의 다음 예와 같이 복제본 추가는 APIManager CR의 replicas 필드를 통해 제어됩니다.

      참고

      wildcardDomain 매개변수는 유효한 DNS 도메인인 IP 주소로 확인되는 제공할 원하는 이름일 수 있습니다.

    • 최소 요구사항이 있는 APIManager CR:

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManager
      metadata:
        name: apimanager-sample
      spec:
        wildcardDomain: example.com
    • 복제본이 구성된 APIManager CR:

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManager
      metadata:
        name: apimanager-sample
      spec:
        system:
          appSpec:
            replicas: 1
          sidekiqSpec:
            replicas: 1
        zync:
          appSpec:
            replicas: 1
          queSpec:
            replicas: 1
        backend:
          cronSpec:
            replicas: 1
          listenerSpec:
            replicas: 1
          workerSpec:
            replicas: 1
        apicast:
          productionSpec:
            replicas: 1
          stagingSpec:
            replicas: 1
        wildcardDomain: example.com

2.6.2. APIManager 관리 포털 및 마스터 관리자 포털 인증 정보 가져오기

운영자 기반 배포 후 3scale 관리 포털 또는 마스터 관리 포털에 로그인하려면 별도의 각 포털에 대한 인증 정보가 필요합니다. 다음 인증 정보를 얻으려면 다음을 수행합니다.

  1. 다음 명령을 실행하여 관리 포털 인증 정보를 가져옵니다.

    oc get secret system-seed -o json | jq -r .data.ADMIN_USER | base64 -d
    oc get secret system-seed -o json | jq -r .data.ADMIN_PASSWORD | base64 -d
    1. 관리 포털 관리자로 로그인하여 이러한 인증 정보가 작동하는지 확인합니다.
  2. 다음 명령을 실행하여 마스터 관리자 포털 자격 증명을 가져옵니다.

    oc get secret system-seed -o json | jq -r .data.MASTER_USER | base64 -d
    oc get secret system-seed -o json | jq -r .data.MASTER_PASSWORD | base64 -d
    1. 마스터 관리 포털 관리자로 로그인하여 이러한 인증 정보가 작동하는지 확인합니다.

추가 리소스

APIManager 필드에 대한 자세한 내용은 참조 설명서를 참조하십시오.

2.6.3. 관리자 포털 URL 가져오기

Operator를 사용하여 3scale을 배포할 때 고정 URL을 사용하여 기본 테넌트가 생성됩니다. 3scale-admin.${wildcardDomain}

3scale 대시보드는 테넌트의 새 포털 URL을 보여줍니다. 예를 들어 < wildCardDomain >이 3scale-project.example.com 인 경우 관리 포털 URL은 https://3scale-admin.3scale-project.example.com 입니다.

wildcardDomain은 설치 중에 제공한 <wildCardDomain> 매개변수입니다. 다음 명령을 사용하여 브라우저에서 이 고유한 URL을 엽니다.

xdg-open https://3scale-admin.3scale-project.example.com

필요한 경우 선택 사항으로 MASTER portal URL: master.${wildcardDomain}에서 새 테넌트를 만들 수 있습니다.

2.6.4. 마이크로 릴리스의 자동화된 애플리케이션 구성

마이크로 릴리스 업데이트를 가져와 자동으로 적용하려면 3scale Operator의 승인 전략을 자동으로 설정해야 합니다. 다음에서는 자동 설정과 수동 설정의 차이점을 설명하고 절차의 단계를 간략하게 설명합니다.

자동 및 수동:

  • 설치하는 동안 자동 설정은 기본적으로 선택한 옵션입니다. 새 업데이트의 설치는 사용 가능할 때 발생합니다. 설치하는 동안에 또는 나중에 언제든지 변경할 수 있습니다.
  • 설치 중 또는 설치 후 수동 옵션을 선택하면 언제든지 사용 가능한 업데이트를 받게 됩니다. 다음으로 설치 계획을 승인하고 직접 적용해야 합니다.

절차

  1. Operators > 설치된 Operators를 클릭합니다.
  2. 설치된 Operator 목록에서 3scale API Management를 클릭합니다.
  3. 서브스크립션 탭을 클릭합니다. 서브스크립션 세부 정보 제목 아래에 해당 승인이 표시됩니다.
  4. 승인 아래 링크를 클릭합니다. 이 링크는 기본적으로 자동으로 설정됩니다. 업데이트 승인 전략 변경이라는 제목이 있는 모달이 표시됩니다.
  5. 기본 설정 옵션을 선택합니다. 자동(기본값) 또는 수동을 클릭한 다음 저장을 클릭합니다.

추가 리소스

2.6.5. Operator를 사용하여 3scale의 고가용성

연산자를 사용하는 3scale의 고가용성(HA)은 예를 들어 하나 이상의 데이터베이스가 실패하는 경우 중단없는 가동 시간을 제공하는 것을 목표로 합니다.

3scale Operator 기반 배포에서 HA를 사용하려면 다음 사항에 유의하십시오.

  • 3scale 중요 데이터베이스, 특히 시스템 데이터베이스, 시스템 redis 및 백엔드 redis를 외부에 배포 및 구성합니다. 데이터베이스를 고가용성으로 배포하고 구성해야 합니다.
  • 해당 Kubernetes 보안을 사전 생성하여 3scale의 데이터베이스에 대한 연결 끝점을 지정합니다.

  • 중요한 데이터베이스의 외부 데이터베이스(system database, system redis, backend redis)를 활성화하려면 APIManager CR을 배포할 때 .spec.highAvailability.enabled 속성을 true로 설정합니다.

또한 zync 데이터베이스를 다시 시작할 때 큐 작업 데이터가 손실되는 것을 방지하기 위해 zync 데이터베이스를 고가용성으로 설정하려면 다음 사항에 유의하십시오.

  • 외부에서 zync 데이터베이스를 배포하고 구성합니다. 데이터베이스를 고가용성으로 배포하고 구성해야 합니다.
  • 해당 Kubernetes 보안을 사전 생성하여 3scale의 zync 데이터베이스에 대한 연결 끝점을 지정합니다.

  • spec.highAvailability.externalZyncDatabaseEnabled 속성을 true로 설정하여 zync 데이터베이스를 외부 데이터베이스로 지정합니다.