검색

1.3. 서브스크립션 보고서

download PDF

서브스크립션 보고서는 플릿에 있는 모든 관리 클러스터의 애플리케이션 상태 컬렉션입니다. 특히 상위 애플리케이션 리소스는 확장 가능한 양의 관리 클러스터의 보고서를 저장할 수 있습니다.

허브 클러스터의 subscriptionReports 는 가볍고 확장 가능한 상태에서 관리 클러스터에서 자세한 애플리케이션 상태를 사용할 수 있습니다. 다음 세 가지 유형의 하위 상태 보고서를 참조하십시오.

1.3.1. SubscriptionStatus 패키지 수준

패키지 수준 관리 클러스터 상태는 관리 클러스터의 < namespace:<your-appsub-namespace >에 있으며 애플리케이션에서 배포한 모든 리소스에 대한 세부 상태를 포함합니다. 관리 클러스터에 배포된 모든 appsub 에 대해 관리 클러스터의 appsub 네임스페이스에 생성된 SubscriptionStatus CR이 있습니다. 오류가 있는 경우 모든 리소스가 자세한 오류와 함께 보고됩니다.

패키지 상태는 개별 패키지의 상태만 나타냅니다. .status.subscription 필드를 참조하여 전체 서브스크립션 상태를 볼 수 있습니다.

다음 SubscriptionStatus 샘플 YAML 파일을 참조하십시오.

apiVersion: apps.open-cluster-management.io/v1alpha1
kind: SubscriptionStatus
metadata:
  labels:
    apps.open-cluster-management.io/cluster: <your-managed-cluster>
    apps.open-cluster-management.io/hosting-subscription: <your-appsub-namespace>.<your-appsub-name>
  name: <your-appsub-name>
  namespace: <your-appsub-namespace>
statuses:
  packages:
  - apiVersion: v1
    kind: Service
    lastUpdateTime: "2021-09-13T20:12:34Z"
    Message: <detailed error. visible only if the package fails>
    name: frontend
    namespace: test-ns-2
    phase: Deployed
  - apiVersion: apps/v1
    kind: Deployment
    lastUpdateTime: "2021-09-13T20:12:34Z"
    name: frontend
    namespace: test-ns-2
    phase: Deployed
  - apiVersion: v1
    kind: Service
    lastUpdateTime: "2021-09-13T20:12:34Z"
    name: redis-master
    namespace: test-ns-2
    phase: Deployed
  - apiVersion: apps/v1
    kind: Deployment
    lastUpdateTime: "2021-09-13T20:12:34Z"
    name: redis-master
    namespace: test-ns-2
    phase: Deployed
  - apiVersion: v1
    kind: Service
    lastUpdateTime: "2021-09-13T20:12:34Z"
    name: redis-slave
    namespace: test-ns-2
    phase: Deployed
  - apiVersion: apps/v1
    kind: Deployment
    lastUpdateTime: "2021-09-13T20:12:34Z"
    name: redis-slave
    namespace: test-ns-2
    phase: Deployed
subscription:
  lastUpdateTime: "2021-09-13T20:12:34Z"
  phase: Deployed

1.3.2. SubscriptionReport 클러스터 수준

클러스터 수준 상태는 hub 클러스터의 < namespace:<your-managed-cluster-1 >에 있으며 해당 관리 클러스터의 각 애플리케이션에 대한 전체 상태만 포함됩니다. hub 클러스터의 각 클러스터 네임스페이스의 subscriptionReport 는 다음 상태 중 하나를 보고합니다.

  • 배포됨
  • Failed
  • propagationFailed

다음 SubscriptionStatus 샘플 YAML 파일을 참조하십시오.

apiVersion: apps.open-cluster-management.io/v1alpha1
kind: subscriptionReport
metadata:
  labels:
    apps.open-cluster-management.io/cluster: "true"
  name: <your-managed-cluster-1>
  namespace: <your-managed-cluster-1>
reportType: Cluster
results:
- result: deployed
  source: appsub-1-ns/appsub-1                     // appsub 1 to <your-managed-cluster-1>
  timestamp:
    nanos: 0
    seconds: 1634137362
- result: failed
  source: appsub-2-ns/appsub-2                     // appsub 2 to <your-managed-cluster-1>
  timestamp:
    nanos: 0
    seconds: 1634137362
- result: propagationFailed
  source: appsub-3-ns/appsub-3                     // appsub 3 to <your-managed-cluster-1>
  timestamp:
    nanos: 0
    seconds: 1634137362

1.3.3. SubscriptionReport 애플리케이션 수준

각 애플리케이션에 대한 하나의 애플리케이션 수준 subscriptionReport 는 hub 클러스터의 appsub 네임스페이스의 < namespace:<your- appsub - namespace>에 있으며 다음 정보를 포함합니다.

  • 각 관리 클러스터의 애플리케이션 전체 상태
  • 애플리케이션의 모든 리소스 목록
  • 총 클러스터 수가 포함된 보고서 요약
  • 애플리케이션이 상태에 있는 총 클러스터 수( deployed,failed,propagationFailed, inProgress )가 포함된 보고서 요약입니다.

참고: inProcess 상태는 배포된 총 - 배치된 값입니다. - failed ', - 'propagationFailed.

다음 SubscriptionStatus 샘플 YAML 파일을 참조하십시오.

apiVersion: apps.open-cluster-management.io/v1alpha1
kind: subscriptionReport
metadata:
  labels:
    apps.open-cluster-management.io/hosting-subscription: <your-appsub-namespace>.<your-appsub-name>
  name: <your-appsub-name>
  namespace: <your-appsub-namespace>
reportType: Application
resources:
- apiVersion: v1
  kind: Service
  name: redis-master2
  namespace: playback-ns-2
- apiVersion: apps/v1
  kind: Deployment
  name: redis-master2
  namespace: playback-ns-2
- apiVersion: v1
  kind: Service
  name: redis-slave2
  namespace: playback-ns-2
- apiVersion: apps/v1
  kind: Deployment
  name: redis-slave2
  namespace: playback-ns-2
- apiVersion: v1
  kind: Service
  name: frontend2
  namespace: playback-ns-2
- apiVersion: apps/v1
  kind: Deployment
  name: frontend2
  namespace: playback-ns-2
results:
- result: deployed
  source: cluster-1                            //cluster 1 status
  timestamp:
    nanos: 0
    seconds: 0
- result: failed
  source: cluster-3                            //cluster 2 status
  timestamp:
    nanos: 0
    seconds: 0
- result: propagationFailed
  source: cluster-4                            //cluster 3 status
  timestamp:
    nanos: 0
    seconds: 0
summary:
  deployed: 8
  failed: 1
  inProgress: 0
  propagationFailed: 1
  clusters: 10

1.3.4. ManagedClusterView

ManagedClusterView CR은 첫 번째 실패한 클러스터에서 보고됩니다. 애플리케이션이 리소스 배포 실패가 있는 여러 클러스터에 배포된 경우 허브 클러스터에서 첫 번째 실패한 클러스터 네임스페이스에 대해 하나의 managedClusterView CR만 생성됩니다. managedClusterView CR은 실패한 클러스터에서 세부 서브스크립션 상태를 검색하여 애플리케이션 소유자가 실패한 원격 클러스터에 액세스할 필요가 없도록 합니다.

상태를 가져오기 위해 실행할 수 있는 다음 명령을 참조하십시오.

% oc get managedclusterview -n <failing-clusternamespace> "<app-name>-<app name>"

1.3.5. CLI 애플리케이션 수준 상태

관리 클러스터에 액세스하여 서브스크립션 상태를 가져올 수 없는 경우 CLI를 사용할 수 있습니다. 클러스터 수준 또는 애플리케이션 수준 구독 보고서는 전체 상태를 제공하지만 애플리케이션에 대한 자세한 오류 메시지는 제공하지 않습니다.

  1. multicloud-operators-subscription 에서 CLI를 다운로드합니다.
  2. 다음 명령을 실행하여 오류를 식별할 수 있도록 관리 클러스터 애플리케이션 SubscriptionStatus 를 보려면 managedClusterView 리소스를 생성합니다.
% getAppSubStatus.sh -c <your-managed-cluster> -s <your-appsub-namespace> -n <your-appsub-name>

1.3.6. CLI 마지막 업데이트 시간

또한 이 정보를 검색하기 위해 각 관리 클러스터에 로그인하는 것이 실용적이지 않은 경우 지정된 관리 클러스터에서 앱 서브의 마지막 업데이트 시간을 가져올 수도 있습니다. 따라서 관리 클러스터에서 AppSub의 마지막 업데이트 시간 검색을 간소화하기 위해 유틸리티 스크립트가 생성되었습니다. 이 스크립트는 Hub 클러스터에서 실행되도록 설계되었습니다. 관리 클러스터에서 AppSub를 가져오고 마지막 업데이트 시간을 가져오기 위해 데이터를 구문 분석하기 위해 managedClusterView 리소스를 생성합니다.

  1. multicloud-operators-subscription 에서 CLI를 다운로드합니다.
  2. 다음 명령을 실행하여 관리 클러스터에서 App Sub 의 마지막 업데이트 시간을 검색합니다. 이 스크립트는 hub 클러스터에서 실행되도록 설계되었습니다. 관리 클러스터에서 AppSub를 가져오고 마지막 업데이트 시간을 가져오기 위해 데이터를 구문 분석하기 위해 managedClusterView 리소스를 생성합니다.
% getLastUpdateTime.sh -c <your-managed-cluster> -s <your-appsub-namespace> -n <your-appsub-name>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.