2.4. NotificationsConfiguration 사용자 정의 리소스 속성
NotificationsConfiguration
리소스는 Kubernetes 클러스터의 알림을 관리하는 Kubernetes 사용자 정의 리소스(CR)입니다. Red Hat OpenShift GitOps에서는
CR을 사용하여 템플릿, 트리거, 서비스 및 서브스크립션 리소스를 Argo CD 알림 구성 맵에 추가할 수 있습니다.
Notifications
Configuration
알림이 활성화된 Red Hat OpenShift GitOps에서 클러스터를 생성하면 기본적으로 NotificationsConfiguration
CR이 name default-notifications-configuration
을 사용하여 생성됩니다.
NotificationsConfiguration
CR의 기존 구성에서 수행된 모든 변경 사항은 Argo CD 알림
구성 맵에 복제됩니다. 예를 들어, 사용자가
리소스에 트리거 구성을 추가하면 Argo CD 알림 구성 맵에서 이 구성을 읽고 처리하고 업데이트합니다.
Notifications
Configuration
모든 구성 변경 사항은 default-notifications-configuration
CR에서 업데이트해야 합니다. NotificationsConfiguration
리소스에 대해 사용자가 생성한 사용자 정의 리소스는 지원되지 않습니다.
Argo CD argocd-notifications-cm
구성 맵에 대한 수정은 NotificationsConfiguration
CR에서 변경한 사항으로 재정의됩니다.
속성 | 기본 | 설명 |
---|---|---|
Templates |
| 템플릿은 알림 템플릿 메시지를 생성하는 데 사용됩니다. |
Trigger |
| 트리거는 알림이 사용자에게 전송될 때 조건과 메시지를 생성하는 데 필요한 템플릿 목록을 정의하는 데 사용됩니다. |
서비스 |
| 서비스는 메시지를 전달하는 데 사용됩니다. |
서브스크립션 |
| 서브스크립션에는 중앙 집중식으로 관리되는 글로벌 애플리케이션 서브스크립션이 포함되어 있습니다. |
다음 예제에서는 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}}.
트리거
의 예
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]
서비스
의 예
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)
서브스크립션
예
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)
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 인스턴스를 사용하여 알림 활성화"를 참조하십시오.
프로세스
-
OpenShift Container Platform 웹 콘솔의 관리자 화면에서 Operator
설치된 Operator 를 확장합니다. - 설치된 Operator 목록에서 Red Hat OpenShift GitOps Operator를 선택한 다음 NotificationsConfiguration 탭을 클릭합니다.
-
NotificationsConfigurations 페이지에서
default-notifications-configuration
을 클릭합니다. default-notifications-configuration 페이지에서 YAML 을 클릭하고
템플릿
과 같은 지원되는 리소스에 대한 구성을 추가합니다
.예를 들어 코드의
템플릿
아래에 다음 샘플 구성을 추가합니다.템플릿 구성 예
template.my-custom-template: | message: | Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
- 저장을 클릭합니다.
NotificationsConfiguration
CR의 구성 변경 사항이argocd-notifications-cm
구성 맵에 반영되었는지 확인합니다.-
워크로드
ConfigMap 으로 이동합니다. - argocd-notifications-cm 를 클릭하고 YAML 탭을 선택합니다.
- 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 인스턴스를 사용하여 알림 활성화"를 참조하십시오.
프로세스
다음 명령을 실행하여 클러스터에서 기본
NotificationsConfiguration
CR을 편집합니다.$ oc edit notificationsconfiguration default-notifications-configuration -n <namespace>
다음과 같습니다.
default-notifications-configuration
-
기본
NotificationsConfiguration
CR의 이름을 지정합니다. <namespace>
- 네임스페이스의 이름을 지정합니다.
CR의
templates
섹션에서 다음 예와 유사한 구성을 추가합니다.템플릿 구성 예
template.my-custom-template: | message: | Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
다음 명령을 실행하여
argocd-notifications-cm
구성 맵의 내용을 확인합니다.$ oc edit cm argocd-notifications-cm -n <namespace>
NotificationsConfiguration
CR의 기존 구성 변경 사항은argocd-notifications-cm
구성 맵에 반영됩니다.