2.4. NotificationsConfiguration 사용자 정의 리소스 속성


NotificationsConfiguration 리소스는 Kubernetes 클러스터의 알림을 관리하는 Kubernetes 사용자 정의 리소스(CR)입니다. Red Hat OpenShift GitOps에서는 Notifications Configuration CR을 사용하여 템플릿, 트리거, 서비스 및 서브스크립션 리소스를 Argo CD 알림 구성 맵에 추가할 수 있습니다.

알림이 활성화된 Red Hat OpenShift GitOps에서 클러스터를 생성하면 기본적으로 NotificationsConfiguration CR이 name default-notifications-configuration 을 사용하여 생성됩니다.

NotificationsConfiguration CR의 기존 구성에서 수행된 모든 변경 사항은 Argo CD 알림 구성 맵에 복제됩니다. 예를 들어, 사용자가 Notifications Configuration 리소스에 트리거 구성을 추가하면 Argo CD 알림 구성 맵에서 이 구성을 읽고 처리하고 업데이트합니다.

중요

모든 구성 변경 사항은 default-notifications-configuration CR에서 업데이트해야 합니다. NotificationsConfiguration 리소스에 대해 사용자가 생성한 사용자 정의 리소스는 지원되지 않습니다.

Argo CD argocd-notifications-cm 구성 맵에 대한 수정은 NotificationsConfiguration CR에서 변경한 사항으로 재정의됩니다.

표 2.1. NotificationsConfiguration 사용자 정의 리소스 속성
속성기본설명

Templates

<empty>

템플릿은 알림 템플릿 메시지를 생성하는 데 사용됩니다.

Trigger

<empty>

트리거는 알림이 사용자에게 전송될 때 조건과 메시지를 생성하는 데 필요한 템플릿 목록을 정의하는 데 사용됩니다.

서비스

<empty>

서비스는 메시지를 전달하는 데 사용됩니다.

서브스크립션

<empty>

서브스크립션에는 중앙 집중식으로 관리되는 글로벌 애플리케이션 서브스크립션이 포함되어 있습니다.

다음 예제에서는 default-notifications-configuration 사용자 정의 리소스를 사용하여 Argo CD argocd-notification-cm 구성 구성 맵에 템플릿, 트리거, 서비스 및 서브스크립션 리소스를 추가하는 방법을 정의합니다.

템플릿

apiVersion: argoproj.io/v1alpha1
kind: NotificationsConfiguration
metadata:
 name: default-notifications-configuration 1
spec:
 templates:
  template.my-custom-template: | 2
    message: |
     Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.

1
클러스터의 NotificationsConfiguration CR의 기본 이름입니다.
2
NotificationsConfiguration CR에 대한 사용자 정의 템플릿 구성의 예입니다.

트리거의 예

apiVersion: argoproj.io/v1alpha1
kind: NotificationsConfiguration
metadata:
 name: default-notifications-configuration 1
spec:
 triggers:
  trigger.on-sync-status-unknown: | 2
   - when: app.status.sync.status == 'Unknown'
   send: [my-custom-template]

1
클러스터의 NotificationsConfiguration CR의 기본 이름입니다.
2
NotificationsConfiguration CR에 대한 사용자 정의 트리거 구성의 예입니다.

서비스의 예

apiVersion: argoproj.io/v1alpha1
kind: NotificationsConfiguration
metadata:
 name: default-notifications-configuration 1
spec:
 services:
  service.slack: |
    token: $slack-token 2
    username: <override-username> # optional username
    icon: <override-icon> # optional icon for the message (supports both emoji and url notation)

1
클러스터의 NotificationsConfiguration CR의 기본 이름입니다.
2
NotificationsConfiguration CR에 대한 사용자 정의 서비스 구성의 예입니다.

서브스크립션

apiVersion: argoproj.io/v1alpha1
kind: NotificationsConfiguration
metadata:
 name: default-notifications-configuration 1
spec:
 subscriptions: |
  subscriptions: | 2
    # subscription for on-sync-status-unknown trigger notifications
    - recipients:
    - slack:test2
    - email:test@gmail.com
    triggers:
    - on-sync-status-unknown
    # subscription restricted to applications with matching labels only
    - recipients:
    - slack:test3
    selector: test=true
    triggers:
    - on-sync-status-unknown
icon: <override-icon> # optional icon for the message (supports both emoji and url notation)

1
클러스터의 NotificationsConfiguration CR의 기본 이름입니다.
2
NotificationsConfiguration CR에 대한 사용자 정의 서브스크립션 구성의 예입니다.

OpenShift Container Platform 웹 콘솔 또는 CLI(oc)를 사용하여 NotificationsConfiguration CR을 구성할 수 있습니다.

2.4.1. 웹 콘솔을 사용하여 NotificationsConfiguration CR 구성

웹 콘솔을 사용하여 NotificationsConfiguration CR(사용자 정의 리소스)을 구성할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있고 웹 콘솔에 로그인한 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • 클러스터에 Red Hat OpenShift GitOps Operator가 설치되어 있습니다.
  • Argo CD 인스턴스에 대한 알림이 활성화되어 있습니다. 자세한 내용은 " Argo CD 인스턴스를 사용하여 알림 활성화"를 참조하십시오.

프로세스

  1. OpenShift Container Platform 웹 콘솔의 관리자 화면에서 Operator 설치된 Operator 를 확장합니다.
  2. 설치된 Operator 목록에서 Red Hat OpenShift GitOps Operator를 선택한 다음 NotificationsConfiguration 탭을 클릭합니다.
  3. NotificationsConfigurations 페이지에서 default-notifications-configuration 을 클릭합니다.
  4. default-notifications-configuration 페이지에서 YAML 을 클릭하고 템플릿 과 같은 지원되는 리소스에 대한 구성 을 추가합니다. 예를 들어 코드의 템플릿 아래에 다음 샘플 구성을 추가합니다.

    템플릿 구성 예

      template.my-custom-template: |
        message: |
        Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.

  5. 저장을 클릭합니다.
  6. NotificationsConfiguration CR의 구성 변경 사항이 argocd-notifications-cm 구성 맵에 반영되었는지 확인합니다.

    1. 워크로드 ConfigMap 으로 이동합니다.
    2. argocd-notifications-cm 를 클릭하고 YAML 탭을 선택합니다.
    3. YAML 탭의 페이지를 스크롤하여 지원되는 리소스에 추가된 샘플 구성을 확인합니다.

2.4.2. CLI를 사용하여 NotificationsConfiguration CR 구성

CLI(oc)를 사용하여 NotificationsConfiguration CR(사용자 정의 리소스)을 구성할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • 클러스터에 Red Hat OpenShift GitOps Operator가 설치되어 있습니다.
  • Argo CD 인스턴스에 대한 알림이 활성화되어 있습니다. 자세한 내용은 " Argo CD 인스턴스를 사용하여 알림 활성화"를 참조하십시오.

프로세스

  1. 다음 명령을 실행하여 클러스터에서 기본 NotificationsConfiguration CR을 편집합니다.

    $ oc edit notificationsconfiguration default-notifications-configuration -n <namespace>

    다음과 같습니다.

    default-notifications-configuration
    기본 NotificationsConfiguration CR의 이름을 지정합니다.
    <namespace>
    네임스페이스의 이름을 지정합니다.
  2. CR의 templates 섹션에서 다음 예와 유사한 구성을 추가합니다.

    템플릿 구성 예

      template.my-custom-template: |
        message: |
        Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.

  3. 다음 명령을 실행하여 argocd-notifications-cm 구성 맵의 내용을 확인합니다.

    $ oc edit cm argocd-notifications-cm -n <namespace>

    NotificationsConfiguration CR의 기존 구성 변경 사항은 argocd-notifications-cm 구성 맵에 반영됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.