6.9. 개발자 화면을 사용하여 애플리케이션을 서비스에 연결
애플리케이션 내에서 여러 구성 요소를 그룹화하는 것 외에도 토폴로지 보기를 사용하여 구성 요소를 서로 연결할 수 있습니다. 바인딩 커넥터 또는 시각적 커넥터를 사용하여 구성 요소를 연결할 수 있습니다.
대상 노드가 Operator 지원 서비스인 경우에만 구성 요소 간 바인딩 연결을 설정할 수 있습니다. 이러한 연결은 해당 대상 노드로 화살표를 드래그할 때 표시되는 바인딩 커넥터 생성 툴팁으로 표시됩니다. 바인딩 커넥터를 사용하여 애플리케이션을 서비스에 연결하면 ServiceBinding
리소스가 생성됩니다. 그런 다음 Service Binding Operator 컨트롤러 프로젝트에서 필요한 바인딩 데이터를 애플리케이션 배포에 추가합니다. 요청이 성공하면 애플리케이션이 재배포되어 연결된 구성 요소 간 상호 작용을 설정합니다.
시각적 커넥터는 구성 요소 간 시각적 연결만 설정하고 연결하려는 의도를 표시합니다. 구성 요소 간 상호 작용은 설정되지 않습니다. 대상 노드가 Operator에서 지원하는 서비스가 아닌 경우 대상 노드로 화살표를 드래그하면 시각적 커넥터 생성 툴팁이 표시됩니다.
6.9.1. Operator 지원 바인딩 가능 서비스 검색 및 식별
사용자는 바인딩 가능한 서비스를 생성하려면 바인딩 가능한 서비스를 알아야 합니다. 바인딩 가능한 서비스는 인증 정보, 연결 세부 정보, 볼륨 마운트, 시크릿 및 기타 바인딩 데이터와 같은 바인딩 데이터를 표준 방식으로 노출하므로 애플리케이션에서 쉽게 사용할 수 있는 서비스입니다. 개발자 화면을 통해 이러한 바인딩 가능한 서비스를 검색하고 식별할 수 있습니다.
절차
Operator 지원 bindable 서비스를 검색하고 식별하려면 다음과 같은 대체 방법을 고려하십시오.
-
+추가
개발자 카탈로그 Operator 백업을 클릭하여 Operator가 지원하는 타일을 확인합니다. 서비스 바인딩 기능을 지원하는 Operator 지원 서비스에는 타일에 바인딩 가능한 배지가 있습니다. Operator Backed 페이지의 왼쪽 창에서 Bindable 확인란을 선택합니다.
작은 정보서비스 바인딩 옆에 있는 도움말 아이콘을 클릭하여 바인딩 가능한 서비스에 대한 자세한 정보를 확인합니다.
-
+추가
추가를 클릭하고 Operator 지원 서비스를 검색합니다. bindable 서비스를 클릭하면 측면 패널에서 오른쪽에 바인딩 가능 배지를 볼 수 있습니다.
-
+추가
6.9.2. 구성 요소 간 시각적 연결 생성
시각적 커넥터를 사용하여 애플리케이션 구성 요소를 연결하려는 의도를 나타낼 수 있습니다.
이 절차에서는 PostgreSQL 데이터베이스 서비스와 Spring PetClinic 샘플 애플리케이션 간에 시각적 연결을 생성하는 예를 보여줍니다.
사전 요구 사항
- 개발자 화면을 사용하여 Spring PetClinic 샘플 애플리케이션을 생성하고 배포했습니다.
-
개발자 화면을 사용하여 Crunchy PostgreSQL 데이터베이스 인스턴스를 생성하고 배포했습니다. 이 인스턴스에는 다음 구성 요소가 있습니다.
hippo-backup
,hippo-instance
,hippo-repo-host
,hippo-pgbouncer
.
절차
Spring PetClinic 샘플 애플리케이션 위에 커서를 올리면 노드에서 출발하는 화살표가 표시됩니다.
그림 6.2. 시각적 커넥터
-
화살표를 클릭하고
hippo-pgbouncer
배포로 끌어서 Spring PetClinic 샘플 애플리케이션을 연결합니다. -
spring-petclinic
배포를 클릭하여 개요 패널을 확인합니다. 세부 정보 탭의 주석 섹션에서 편집 아이콘을 클릭하여 배포에 추가된 Key =app.openshift.io/connects-to
및 Value =[{"apiVersion":"apps/v1","kind":"Deployment","name":"hippo-pgbouncer
"] 주석을 확인합니다. 선택 사항: 이러한 단계를 반복하여 생성한 다른 애플리케이션과 구성 요소 간 시각적 연결을 설정할 수 있습니다.
그림 6.3. 여러 애플리케이션 연결
6.9.3. 구성 요소 간 바인딩 연결 생성
Operator 지원 구성 요소를 사용하여 바인딩 연결을 설정할 수 있습니다.
이 절차에서는 PostgreSQL 데이터베이스 서비스와 Spring PetClinic 샘플 애플리케이션 간 바인딩 연결을 생성하는 예제를 설명합니다. PostgreSQL 데이터베이스 Operator가 지원하는 서비스와 바인딩 연결을 생성하려면 먼저 OperatorHub 에 Red Hat 제공 PostgreSQL 데이터베이스 Operator를 추가한 다음 Operator를 설치해야 합니다. 그러면 PostreSQL Database Operator에서 시크릿, 구성 맵, 상태, 사양 속성에 바인딩 정보를 노출하는 데이터베이스
리소스를 생성하고 관리합니다.
사전 요구 사항
- 개발자 화면을 사용하여 Spring PetClinic 샘플 애플리케이션을 생성하고 배포했습니다.
- OperatorHub에서 Service Binding Operator를 설치했습니다.
-
v5
Update 채널을 사용하여 OperatorHub에서 Crunchy Postgres for Kubernetes Operator를 설치했습니다. -
개발자 화면을 사용하여 Crunchy PostgreSQL 데이터베이스 인스턴스를 생성하고 배포했습니다. 이 인스턴스에는 다음 구성 요소가 있습니다.
hippo-backup
,hippo-instance
,hippo-repo-host
,hippo-pgbouncer
.
절차
-
개발자 관점으로 전환하고 적절한 프로젝트(예:
my-petclinic
)에 있는지 확인합니다. - 토폴로지 보기에서 Spring PetClinic 샘플 애플리케이션 위에 커서를 올리면 노드에서 출발하는 화살표가 표시됩니다.
화살표를 클릭하고 Postgres Cluster의 hippo 데이터베이스로 끌어서 Spring PetClinic 샘플 애플리케이션과 바인딩합니다.
이름을 입력하고 생성을 클릭합니다.
그림 6.4. 서비스 바인딩 대화 상자
또는 +추가 보기에서 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 컨트롤러에서 볼륨 마운트를 사용하여 애플리케이션 배포에 대한 데이터베이스 서비스 연결 정보를 파일로 생성합니다. 요청이 성공하면 애플리케이션이 재배포되고 연결이 설정됩니다.
그림 6.5. 바인딩 커넥터
출발된 화살표를 드래그하여 컨텍스트 메뉴를 사용하여 운영자 지원 서비스에 바인딩 연결을 추가하고 만들 수도 있습니다.
그림 6.6. 바인딩 연결을 생성하는 컨텍스트 메뉴
6.9.4. 토폴로지 보기에서 서비스 바인딩 상태 확인
개발자 화면을 사용하면 토폴로지 보기를 통해 서비스 바인딩의 상태를 확인할 수 있습니다.
절차
서비스 바인딩에 성공하면 바인딩 커넥터를 클릭합니다. 세부 정보 탭에 연결된 상태가 표시되는 측면 패널이 나타납니다.
선택적으로 개발자 화면에서 다음 페이지에서 연결된 상태를 볼 수 있습니다.
- ServiceBindings 페이지입니다.
- ServiceBinding 세부 정보 페이지. 또한 페이지 제목에는 연결된 배지가 표시됩니다.
서비스 바인딩에 실패하면 바인딩 커넥터에 빨간색 화살표 헤드가 표시되고 연결 중간에 빨간색 화살표 헤드가 표시됩니다. 이 커넥터를 클릭하여 세부 정보 탭의 측면 패널에서 Error 상태를 확인합니다. 필요한 경우 오류 상태를 클릭하여 기본 문제에 대한 특정 정보를 확인합니다.
개발자 화면에서 다음 페이지의 오류 상태 및 툴팁을 볼 수도 있습니다.
- ServiceBindings 페이지입니다.
- ServiceBinding 세부 정보 페이지. 또한 페이지 제목에는 오류 배지가 표시됩니다.
ServiceBindings 페이지에서 필터 드롭다운을 사용하여 상태에 따라 서비스 바인딩을 나열합니다.