Botkube to monitor K8s cluster in Slack
Page content
Install BotKube for k8s and slack
Slack :: Messaging bot for monitoring and debugging Kubernetes clusters
cychong@mini1:~$ helm repo add infracloudio https://infracloudio.github.io/charts
"infracloudio" has been added to your repositories
cychong@mini1:~$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "infracloudio" chart repository
...Successfully got an update from the "myhelmrepo" chart repository
Update Complete. ⎈ Happy Helming!⎈
botkube를 위한 namespace 만들어주기
cychong@mini1:~$ kubectl create ns botkube
namespace/botkube created
Cluster 이름 알아내기
cychong@mini1:~$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://192.168.1.100:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
Helm을 이용해서 botkube 설치
cychong@mini1:~$ helm install --version v0.10.0 botkube --namespace botkube \
> --set communications.slack.enabled=true \
> --set communications.slack.channel=notification \
> --set communications.slack.token=<BOTKUBE_TOKEN_ASSIGNED_DURING_BOTKUBE_APP_INSTALL> \
> --set config.settings.clustername=kubernetes \
> --set config.settings.allowkubectl=true \
> --set image.repository=infracloudio/botkube \
> --set image.tag=v0.10.0 \
> infracloudio/botkube
NAME: botkube
LAST DEPLOYED: Fri Sep 4 23:26:16 2020
NAMESPACE: botkube
STATUS: deployed
REVISION: 1
TEST SUITE: None
cychong@mini1:~$ kubectl get pods -n botkube
NAME READY STATUS RESTARTS AGE
botkube-8cc75f5f-q6f52 1/1 Running 0 37s
BotKube in slack
일단 @BotKube
를 초대한 후
kubectl get commands
Notification for pod deletion
Pod를 임의로 삭제해 봤는데 이렇게 slack으로 이와 관련된 notification이.
받은 메시지 순서를 보면 우선 장애가 발생한 pod를 대체할 새로운 pod를 만들었다는 메시지가 먼저 오고, 그 다음 pod 장애, pod 삭제 등의 메시지가 수신된다. 요거 좀 확인해 봐야 겠다. 궁금하네.. 적어도 Pod Error
가 먼저 올 줄 알았는데…
Pod가 복구되었는 지 확인해 보니 새로운 pod 가 잘 동작하고 있다. AGE 3m24s
기본 value에 적힌 권한은 모두 read-only라고 하니 Slack을 이용해서 설정을 변경하려면 value.yaml 파일을 원하는 값으로 만들어 helm 을 다시 적용하면 된다. 일단 오늘은 여기 까지 하고 자야겠다. - Configuration :: Messaging bot for monitoring and debugging Kubernetes clusters 참고.
Reference
#fun-for-life #public