<3> botkube 1 구성도 https://docs.botkube.io/next/architecture/ https://botkube.io/ https://aws.amazon.com/ko/blogs/containers/streaming-kubernetes-events-in-slack/ https://docs.botkube.io/usage/ 2 export SLACK_API_BOT_TOKEN='xㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌcCI' export SLACK_API_APP_TOKEN='xapp-1-xxxxxxxxxxxxxxxxxxxxxxxxxxx01' 3 설치 # repo 추가 helm repo add botkube https://charts.botkube.io helm repo update # 변수 지정 export ALLOW_KUBECTL=true export ALLOW_HELM=true export SLACK_CHANNEL_NAME=webhook3 # cat < botkube-values.yaml actions: 'describe-created-resource': # kubectl describe enabled: true 'show-logs-on-error': # kubectl logs enabled: true executors: k8s-default-tools: botkube/helm: enabled: true botkube/kubectl: enabled: true EOT # 설치 helm install --version v1.0.0 botkube --namespace botkube --create-namespace \ --set communications.default-group.socketSlack.enabled=true \ --set communications.default-group.socketSlack.channels.default.name=${SLACK_CHANNEL_NAME} \ --set communications.default-group.socketSlack.appToken=${SLACK_API_APP_TOKEN} \ --set communications.default-group.socketSlack.botToken=${SLACK_API_BOT_TOKEN} \ --set settings.clusterName=${CLUSTER_NAME} \ --set 'executors.k8s-default-tools.botkube/kubectl.enabled'=${ALLOW_KUBECTL} \ --set 'executors.k8s-default-tools.botkube/helm.enabled'=${ALLOW_HELM} \ -f botkube-values.yaml botkube/botkube # 참고 : 삭제 시 helm uninstall botkube --namespace botkube 4 # 연결 상태, notifications 상태 확인 @Botkube ping @Botkube status notifications # 파드 정보 조회 @Botkube k get pod @Botkube kc get pod --namespace kube-system @Botkube kubectl get pod --namespace kube-system -o wide # Actionable notifications @Botkube kubectl 5 잘못된 이미지 파드 배포 및 확인 # 터미널1 watch kubectl get pod # 잘못된 이미지 정보의 파드 배포 kubectl apply -f https://raw.githubusercontent.com/junghoon2/kube-books/main/ch05/nginx-error-pod.yml kubectl get events -w @Botkube k get pod # 이미지 업데이트 방안2 : set 사용 - iamge 등 일부 리소스 값을 변경 가능! kubectl set kubectl set image pod nginx-19 nginx-pod=nginx:1.19 @Botkube k get pod 6 # 삭제 kubectl delete pod nginx-19