skip to Main Content

Messaging Bot을 이용한 Kubernetes 이벤트 모니터링

갈수록 복잡해지는 Kubernetes Cluster 는 모니터링, 디버깅이 운영에 꼭 필요하죠. 이번 글에는 Slack, Mattermost, Microsoft Teams 와 같은 메시징 플랫폼을 통합하여 Kubernetes 클러스터를 모니터링하고, 중요한 배포를 디버그하는 방법을 공유하고자 합니다.

1. Botkube

🔗 https://www.botkube.io/

BotKube는 Kubernetes 클러스터 모니터링 및 디버깅을위한 메시징 봇입니다. Slack, Mattermost, Microsoft Teams 등을 지원하고 있으며 간단하게 구성 가능하고 메신저에서 kubectl 을 통한 명령도 가능합니다. infracloudio에서 제공하고 있습니다.

👨‍💻 Botkube 설치 방법(helm)

helm 외에도 kubectl 을 이용한 설치 방법도 지원하고 있습니다.

$ helm repo add infracloudio https://infracloudio.github.io/charts
$ helm repo update

메시징 플랫폼별 설치 방법은 아래 링크에 정리되어있습니다.

🔗 https://www.botkube.io/installation/

다음과 같이 Mattermost 와 통합하여 빠르게 이슈 전파와 공유를 할 수 있습니다.

2. kubewatch

🔗 https://github.com/bitnami-labs/kubewatch

kubewatch 는 협업 허브/알림 채널에 알림을 게시하는 Kubernetes 감시툴입니다. k8s 클러스터에서 실행하면 웹훅을 통해 이벤트 알림을 받게 됩니다. Slack, Mattermost, Microsoft Teams, flock, hipchat 등을 지원하고 있으며 bitnami에서 제공하고 있습니다.

👨‍💻 kubewatch 설치 방법(helm)

helm 을 통한 설치만 지원하고 있습니다.

helm install --name kubewatch bitnami/kubewatch --set='rbac.create=true,slack.channel=#YOUR_CHANNEL,slack.token=xoxb-YOUR_TOKEN,resourcesToWatch.pod=true,resourcesToWatch.daemonset=true'

메시징 플랫폼 설치 방법 및 helm 옵션은 다음 링크에서 확인할 수 있습니다.

🔗 https://hub.kubeapps.com/charts/bitnami/kubewatch

kubewatch는 Slack 과 통합해보았습니다. kubewatch는 helm 배포외에도 RBAC 설정이 필요하며 Botkube와 같이 kubectl을 사용할 수 없어 모니터링에 충실한 모습을 보여주었습니다.

메세징 플랫폼과 통합하여 k8s 클러스터를 모니터링하는 방법에 대해 알아보았습니다.

읽어 주셔서 감사합니다. 다음에는 더 유용한 정보로 돌아오겠습니다! 🙇

Back To Top