3.4.6.2. 구성 요소 간 바인딩 연결 생성

중요

서비스 바인딩은 기술 프리뷰 기능 전용입니다. Technology Preview 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview/를 참조하십시오.

참고

현재 etcdPostgresSQL Database Operator의 서비스 인스턴스와 같은 몇 가지 특정 Operator를 바인딩할 수 있습니다.

Operator 지원 구성 요소를 사용하여 바인딩 연결을 설정할 수 있습니다.

이 절차에서는 PostgreSQL 데이터베이스 서비스와 Node.js 애플리케이션 간 바인딩 연결을 생성하는 예를 보여줍니다. PostgreSQL Database Operator에서 지원하는 서비스로 바인딩 연결을 생성하려면 먼저 CatalogSource 리소스를 사용하여 OperatorHub에 Red Hat 제공 PostgreSQL Database Operator를 추가한 후에 Operator를 설치해야 합니다. 그러면 PostreSQL Database Operator에서 시크릿, 구성 맵, 상태, 사양 속성에 바인딩 정보를 노출하는 데이터베이스 리소스를 생성하고 관리합니다.

사전 요구 사항

  • 개발자 화면을 사용하여 Node.js 애플리케이션을 생성하고 배포했는지 확인합니다.
  • OperatorHub 에서 Service Binding Operator 를 설치했는지 확인합니다.

절차

  1. Red Hat에서 제공하는 PostgresSQL Database Operator를 OperatorHub에 추가하는 CatalogSource 리소스를 생성합니다.

    1. +추가 보기에서 YAML 옵션을 클릭하여 YAML 가져오기 화면을 확인합니다.
    2. 다음 YAML 파일을 추가하여 CatalogSource 리소스를 적용합니다.

      apiVersion: operators.coreos.com/v1alpha1
      kind: CatalogSource
      metadata:
          name: sample-db-operators
          namespace: openshift-marketplace
      spec:
          sourceType: grpc
          image: quay.io/redhat-developer/sample-db-operators-olm:v1
          displayName: Sample DB OLM registry
          updateStrategy:
              registryPoll:
                  interval: 30m
    3. 생성을 클릭하여 클러스터에서 CatalogSource 리소스를 생성합니다.
  2. Red Hat에서 제공하는 PostgreSQL Database Operator를 설치합니다.

    1. 콘솔의 관리자 화면에서 Operator → OperatorHub로 이동합니다.
    2. 데이터베이스 카테고리에서 PostgreSQL Database Operator를 선택하고 설치합니다.
  3. 애플리케이션에 대한 DB(데이터베이스) 인스턴스를 생성합니다.

    1. 개발자 화면으로 전환하고 적절한 프로젝트(예: test-project)에 있는지 확인합니다.
    2. +추가 보기에서 YAML 옵션을 클릭하여 YAML 가져오기 화면을 확인합니다.
    3. 편집기에 서비스 인스턴스 YAML을 추가하고 생성을 클릭하여 서비스를 배포합니다. 다음은 서비스 YAML의 예입니다.

      apiVersion: postgresql.baiju.dev/v1alpha1
      kind: Database
      metadata:
       name: db-demo
      spec:
       image: docker.io/postgres
       imageName: postgres
       dbName: db-demo

      DB 인스턴스가 토폴로지 보기에 배포됩니다.

  4. 토폴로지 보기에서 Node.js 구성 요소 위에 커서를 올리면 노드에서 출발하는 화살표가 표시됩니다.
  5. 이 화살표를 클릭하고 db-demo-postgresql 서비스를 향해 끌어와서 Node.js 애플리케이션과 바인딩 연결합니다. 서비스 바인딩 요청이 생성되고 Service Binding Operator 컨트롤러에서 DB 연결 정보를 애플리케이션 배포에 환경 변수로 삽입합니다. 요청이 성공하면 애플리케이션이 재배포되고 연결이 설정됩니다.

    그림 3.5. 바인딩 커넥터

    odc binding connector