mirror of
https://github.com/valitydev/botkube.git
synced 2024-11-06 16:35:22 +00:00
An app that helps you monitor your Kubernetes cluster, debug critical deployments & gives recommendations for standard practices
build | ||
cmd/controller | ||
hack | ||
helm/kubeops | ||
pkg | ||
vendor | ||
Gopkg.lock | ||
Gopkg.toml | ||
kubeopsconfig.yaml | ||
README.md |
kubeops
Watch kubernetes resources, events and get recommedations
Building
build/docker.sh <docker-repo> <tag>
Creating slack bot
- Create a bot with name
kubeops
https://my.slack.com/services/new/bot - Set icon, name and copy API token (required to configure kubeops)
- Add the bot into a channel by inviting with
@kubeops
in the message area
Configuration
Kubeops reads configurations from kubeopsconfig.yaml
file placed at KUBEOPS_CONFIG_PATH
Syntax:
# Resources you want to watch
resources:
- name: RESOURCE_NAME # Name of the resources e.g pods, deployments, ingresses, etc. (Resource name must be in plural form)
namespaces: # List of namespaces, "all" will watch all the namespaces
- all
events: # List lifecycle events you want to receive, e.g create, update, delete OR all
- all
- name: pods
namespaces:
- kube-system
- default
events:
- create
- delete
- name: roles
namespaces:
- all
events:
- create
- delete
# K8S errors/warnings events you want to receive for the configured resources
events:
types:
- normal
- warning
# Check true if you want to receive recommendations
# about the best practices for the created resource
recommendations: true
# Channels configuration
communications:
slack:
channel: 'SLACK_CHANNEL_NAME'
token: 'SLACK_API_TOKEN_FOR_THE_BOT'
Supported resources:
- pods
- nodes
- services
- namespaces
- replicationcontrollers
- persistentvolumes
- persistentvolumeclaims
- secrets
- configmaps
- deployments
- daemonsets
- replicasets
- ingresses
- jobs
- roles
- rolebindings
- clusterroles
- clusterrolebindings
Installing
Using helm
- Follow https://docs.helm.sh/using_helm/#installing-helm guide to install helm.
- Clone the kubeops github repository.
git clone https://github.com/infracloudio/kubeops.git
- Update default
kubeopsconfig
inhelm/kubeops/values.yaml
to watch the resources you want. - Deploy kubeops using
helm install
in your cluster.
helm install --name kubeops --namespace kubeops --set kubeopsconfig.communications.slack.channel={SLACK_CHANNEL_NAME} --set kubeopsconfig.communications.slack.token={SLACK_API_TOKEN_FOR_THE_BOT} helm/kubeops/
- Send
@kubeops help
in the channel to see ifkubeops
is responding.