5.9. 개발자 화면을 사용하여 서비스에 애플리케이션 연결

애플리케이션 내에서 여러 구성 요소를 그룹화하는 것 외에도 토폴로지 보기를 사용하여 구성 요소를 서로 연결할 수 있습니다. 바인딩 커넥터 또는 시각적 커넥터를 사용하여 구성 요소를 연결할 수 있습니다.

대상 노드가 Operator 지원 서비스인 경우에만 구성 요소 간 바인딩 연결을 설정할 수 있습니다. 이러한 연결은 해당 대상 노드로 화살표를 드래그할 때 표시되는 바인딩 커넥터 생성 툴팁으로 표시됩니다. 바인딩 커넥터를 사용하여 애플리케이션을 서비스에 연결하면 ServiceBinding 리소스가 생성됩니다. 그런 다음 Service Binding Operator 컨트롤러가 필요한 바인딩 데이터를 애플리케이션 배포에 프로젝트합니다. 요청이 성공하면 애플리케이션이 재배포되어 연결된 구성 요소 간 상호 작용을 설정합니다.

시각적 커넥터는 구성 요소 간 시각적 연결만 설정하고 연결하려는 의도를 표시합니다. 구성 요소 간 상호 작용은 설정되지 않습니다. 대상 노드가 Operator에서 지원하는 서비스가 아닌 경우 대상 노드로 화살표를 드래그하면 시각적 커넥터 생성 툴팁이 표시됩니다.

5.9.1. 구성 요소 간 시각적 연결 생성

시각적 커넥터를 사용하여 애플리케이션 구성 요소를 연결하려는 의도를 나타낼 수 있습니다.

이 절차에서는 PostgreSQL 데이터베이스 서비스와 Spring PetClinic 샘플 애플리케이션 간 시각적 연결을 생성하는 예를 보여줍니다.

사전 요구 사항

  • 개발자 화면을 사용하여 Spring PetClinic 샘플 애플리케이션을 생성하고 배포했습니다.
  • 개발자 화면을 사용하여 Crunchy PostgreSQL 데이터베이스 인스턴스를 생성하고 배포했습니다. 이 인스턴스에는 hippo-backup,hippo-instance,hippo-repo-host, hippo-pgbouncer 의 네 가지 구성 요소가 있습니다.

프로세스

  1. Spring PetClinic 샘플 애플리케이션 위로 마우스를 이동하여 노드에서 출발하는 화살표를 확인합니다.

    그림 5.2. 비주얼 커넥터

    odc connector
  2. 화살표를 클릭하고 hippo-pgbouncer 배포로 끌어서 Spring PetClinic 샘플 애플리케이션을 연결합니다.
  3. spring-petclinic 배포를 클릭하여 개요 패널을 확인합니다. Details(세부 정보 ) 탭에서 주석 섹션에서 편집 아이콘을 클릭하여 배포에 추가된 Key = app.openshift.io/connects-toValue = [{"apiVersion":"apps/v1","kind":"Deployment","name":"hippo-pgbouncer"}] 주석을 확인합니다.

마찬가지로 다른 애플리케이션과 구성 요소를 생성하고 이들 간의 시각적 연결을 설정할 수 있습니다.

그림 5.3. 여러 애플리케이션 연결

여러 애플리케이션을 연결하는 odc 연결

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

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

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

사전 요구 사항

  • 개발자 화면을 사용하여 Spring PetClinic 샘플 애플리케이션을 생성하고 배포했습니다.
  • OperatorHub에서 Service Binding Operator를 설치했습니다.
  • v5 업데이트 채널을 사용하여 OperatorHub에서 Kubernetes Operator의 Crunchy Postgres 를 설치했습니다.
  • 개발자 화면을 사용하여 Crunchy PostgreSQL 데이터베이스 인스턴스를 생성하고 배포했습니다. 이 인스턴스에는 hippo-backup,hippo-instance,hippo-repo-host, hippo-pgbouncer 의 네 가지 구성 요소가 있습니다.

프로세스

  1. Developer 관점으로 전환하고 적절한 프로젝트(예: my-petclinic )에 있는지 확인합니다. 토폴로지 보기에서 Spring PetClinic 샘플 애플리케이션을 마우스로 이동하여 노드에서 출발하는 화살표를 확인합니다.
  2. 화살표를 클릭하고 hippo 데이터베이스 Postgres Cluster로 끌어서 Spring PetClinic 샘플 애플리케이션과 바인딩 연결을 수행합니다.

    또는 +추가 보기에서 YAML 옵션을 클릭하여 YAML 가져오기 화면을 확인합니다. YAML 편집기를 사용하고 ServiceBinding 리소스를 추가합니다.

    apiVersion: binding.operators.coreos.com/v1alpha1
    kind: ServiceBinding
    metadata:
        name: spring-petclinic-pgcluster
        namespace: my-petclinic
    spec:
        services:
        - group: postgres-operator.crunchydata.com
          version: v1beta1
          kind: PostgresCluster
          name: hippo
        application:
          name: spring-petclinic
          group: apps
          version: v1
          resource: deployments

서비스 바인딩 요청이 생성되고 Service Binding Operator 컨트롤러가 볼륨 마운트를 사용하여 애플리케이션 배포에 대한 데이터베이스 서비스 연결 정보를 프로젝트합니다. 요청이 성공하면 애플리케이션이 재배포되고 연결이 설정됩니다.

그림 5.4. 바인딩 커넥터

odc binding connector
참고

dangling 화살표를 끌어서 운영자가 지원하는 서비스에 바인딩 연결을 추가하고 만들면 컨텍스트 메뉴를 사용할 수도 있습니다.

그림 5.5. 바인딩 연결을 생성하는 컨텍스트 메뉴

odc context operator

5.9.3. 추가 리소스