Kubernetes is an open source system for managing containerized applications across multiple hosts that provides mechanisms for deploying, maintaining, and scaling applications. It uses concepts like pods, deployments, services, configmaps and secrets to deploy and manage applications. Key features include portability across infrastructure providers, self-healing capabilities, and enabling developers to focus on building applications without worrying about operations.