Core Concepts

Tip

If you find KSail hard to use, and understand it is recommended that you familiarize yourself with the listed topics of interest and concepts in KSail. This will help you understand the underlying technologies and concepts that KSail is built on top of, and how they work together to provide a seamless experience.

This guide explores two key areas to help you get the most out of KSail:

  1. Topics of Interest: These are foundational technologies and methodologies, such as Docker, Kubernetes, and GitOps, that provide the context and knowledge necessary to understand KSail’s ecosystem.

  2. Concepts in KSail: These are the specific abstractions and implementations within KSail itself, like Providers, Distributions, and Deployment Tools, which make managing Kubernetes clusters more streamlined and efficient.

By understanding the foundational concepts of cloud-native technologies and how KSail integrates and builds upon them, you’ll gain the conceptual knowledge needed to effectively utilize the tool. Let’s dive in!

Topics of Interest

Topic Description
Docker A platform and container engine for developing, shipping, and running containerized applications.
Podman A daemonless container engine for developing, managing, and running containers on your system.
Kubernetes An open-source system for automating deployment, scaling, and management of containerized applications.
Kustomize A tool for customizing Kubernetes configurations without modifying the original YAML files.
GitOps A methodology for managing infrastructure and application configurations using Git as the source of truth.
Cloud Native An approach to building and running scalable applications in modern, dynamic environments such as public, private, and hybrid clouds.

Concepts in KSail

Concept Description
Providers In KSail Providers is an abstraction over local, on-prem or cloud providers in which a Kubernetes cluster can be spun up.
Distributions In KSail Distributions is an abstraction over the underlying Kubernetes distribution that is used to create the cluster.
Container Network Interfaces (CNIs) CNIs refers to Container Network Interface plugins that facilitate networking for containers in a Kubernetes cluster.
Container Storage Interfaces (CSIs) CSIs refers to Container Storage Interface plugins that facilitate storage for containers in a Kubernetes cluster.
Ingress Controllers Ingress Controllers refers to the controllers that manage ingress resources in a Kubernetes cluster. They are responsible for routing external traffic to the appropriate services within the cluster.
Gateway Controllers Gateway Controllers refers to the controllers that manage gateway resources in a Kubernetes cluster. They are responsible for routing external traffic to the appropriate services within the cluster.
Deployment Tools In KSail Deployment Tools is an abstraction over the underlying deployment tool that is used to deploy manifests to the cluster.
Secret Manager In KSail Secret Manager is SOPS. It is used to work with secrets in the project, and to help keep sensitive values encrypted in Git.
Local Registry In KSail Local Registry is the registry that is used to push and store OCI and Docker images. It is used to store images locally for GitOps based deployment tools, and manually uploaded images.
Mirror Registries Mirror Registries refers to registries that are used to proxy and cache images from upstream registries. This is used to avoid pull rate limits and to speed up image pulls.

Table of contents