cyril-corbon / kubevious

Kubevious - Kubernetes without disasters

Home Page:https://kubevious.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Release DockerPulls Issues Slack Twitter License

What is Kubevious?

Kubevious (pronounced [kju:bvi:Ι™s]) is an app-centric assurance, validation, and introspection platform for Kubernetes. It helps running modern Kubernetes applications without disasters, and costly outages by continuously validating application manifests, cluster state and configuration. Kubevious detects and prevents errors(typos, misconfigurations, conflicts, inconsistencies) and violations of best practices. Kubevious' unique app-centric user interface delivers intuitive insight, introspection and troubleshooting tools for cloud-native applications. Right out of the box. Kubevious operates inside the cluster with the user interface accessible as a web app. It only takes a couple of minutes to get Kubevious up and running for existing production applications.

Kubevious Intro

Kubevious Intro or watch on Youtube.

✨ Live Demo

Try Kubevious live demo running on a model cluster: https://demo.kubevious.io.

See the collection of demo videos: https://www.youtube.com/channel/UCTjfcEFrGjqtSGtry4ySUzQ

πŸƒβ€β™€οΈ Running Kubevious

Kubevious works with any Kubernetes distribution and runs within the cluster. Deploy using Helm v3.2+:

kubectl create namespace kubevious

helm repo add kubevious https://helm.kubevious.io

helm upgrade --atomic -i kubevious kubevious/kubevious --version 1.0.10 -n kubevious

kubectl port-forward $(kubectl get pods -n kubevious -l "app.kubernetes.io/component=kubevious-ui" -o jsonpath="{.items[0].metadata.name}") 8080:80 -n kubevious 

Access from browser: http://localhost:8080

For more details on installation options, visit Deployment Repository.

Running Kubevious Outside the Cluster

While Kubevious was made to run inside the cluster and monitor the cluster it lives in, Kubevious Portable version runs outside the cluster. Usually, that would happen on development machines from where operators would run kubectl commands. Kubevious Portable runs inside a single docker container. Kubevious Portable does not have Rule Executing and Time Machine capabilities and is meant for quick sanity check and visualization of Kubernetes clusters and applications. Kubevious Portable connects to clusters defined in kube-config files. See instructions on running Kubevious Portable here.

ℹ️ What can you do with Kubevious?

πŸ’‚ Guard

Kubevious Guard is a CLI extension that validates changes for conflicts, misconfigurations, typos, and violations of best practices before they are applied to Kubernetes clusters and have a chance to cause application outage or health degradation. It examines changes as a whole package, not as individual YAML manifests, allowing detection of cross-manifest violations and conflicts. Kubevious Guard follows Built-in Validations and an extensible Rules Engine to execute the validation logic.

Changes are validated by piping manifests YAML and can be easily integrated into the CI/CD pipeline testing stage. Remember that Kubevious should be deployed in the cluster.

Learn more about Kubevious Guard in this blog post.

$ cat manifests.yaml | sh <(curl -sfL https://run.kubevious.io/validate.sh)
$ kubectl apply -f manifests.yaml

Kubevious Guard Intro

πŸ‘οΈ Observe

Kubevious analyses Kubernetes cluster configuration and state and presents it graphically into multiple domain-focused views. You can learn more about Kubevious UI here .

  • Logic View is focused on app-centricity, where container, compute, networking, storage, and RBAC related manifests correlated and grouped under Application nodes.
  • Image View is focused on container images and container image repositories used in the cluster.
  • Gateway View provides visibility regarding how applications are exposed to the public using Ingresses and API Gateways.
  • RBAC View identifies how Users and Groups are used in the cluster.
  • Package View provides visibility to Helm charts installed in the Kubernetes cluster.

Cluster and Configs in an Application Centric View

πŸ”¬ Introspect

Kubevious provides insights optimized for specific roles and responsibilities as well as correlated app-centric views.

βœ… Validate

Kubevious continuously validates cluster configuration and state for misconfigurations, typos, and violations of best practices.

  • Built-in Validations include a comprehensive library of rules to get you up and running fast.

  • Rules Engine provides an intuitive policy language for custom extensions of validation logic using a JavaScript-like if-then-else syntax.

πŸ•΅οΈβ€β™‚οΈ Investigate

  • Time Machine lets you travel back in time, investigate cluster configuration and state, audit applications, root cause outages, and recover good and working manifests. Time Machine works by extracting resources directly from the Kubernetes API server, meaning that it keeps track of all changes, including ones made by k8s operators. Kubevious Time Machine

  • Search Engine is a like full-text search engine to find and return Kubernetes manifests matching various search criteria. Kubevious Search Engine

πŸ”¨ Troubleshoot

  • App & Pod Health Monitoring helps you troubleshoot degradations of Application health with intuitive built-in tools that direct you to the source of the problem. Kubevious Application and Pod Health Monitoring

πŸ§‘πŸ»β€πŸ€β€πŸ§‘πŸΏ Community

πŸ’¬ Slack

Join the Kubevious Slack workspace to chat with Kubevious developers and users. This is a good place to learn about Kubevious, ask questions, and share your experiences.

πŸŽ‰ Events

Follow our virtual and in-person events on Meetup or Google Calendar.

🎀 Weekly Community Meeting

Kubevious contributors and users gather every Thursday @ 9 am PDT for a Zoom call. Everyone is welcome to join. During the call, we discuss:

  • The current state of Kubevious
  • Upcoming development items
  • Any other community-relevant topics during the open session

If you want to discuss something during the next meeting's open session, you can let us know in the #weekly-meeting channel of our Slack workspace.

β˜• Kubernetes + Espresso in Bay Area

Stop by to have a coffee with us and discuss Kubernetes and Cloud-Native. Takes place every Friday @ 12:30pm in the Bay Area. Location will alternate between Peninsula and East Bay.

Next event on June 17 @ 12:30PM in Palo Alto, CA

RSVP: https://www.meetup.com/kubevious/events/286399220/

πŸ—οΈ Contributing

We invite your participation through issues and pull requests! You can peruse the contributing guidelines.

πŸ›οΈ Governance

The Kubevious project is created by AUTHORS. Governance policy is yet to be defined.

πŸš€ Roadmap

Kubevious maintains a public roadmap, which provides priorities and future capabilities we are planning on adding to Kubevious.

πŸ“œ License

Kubevious is an open-source project licensed under the Apache License, Version 2.0.

πŸ“’ What people say about Kubevious

If you want your article describing the experience with Kubevious posted here, please submit a PR.

About

Kubevious - Kubernetes without disasters

https://kubevious.io

License:Apache License 2.0