Understanding Containers and Kubernetes
Containers and Kubernetes
What is Kubernetes?
Kubernetes (also known as “K8s” or “Kube”) is an open-source container management platform to help automate the deployment and scaling of containerized applications.
What is a Kubernetes pod?
A Kubernetes pod is the basic building block of a Kubernetes environment—the smallest execution unit that is used to encapsulate one or more application container images.
A Helm chart is a unified package of all resources needed to deploy a particular application to a Kubernetes cluster.
What is sidecar container deployment?
Sidecar container deployment involves deploying a Kubernetes pod containing two isolated container images rather than one custom merged container image. In the context of DH2i, this involves one DxEnterprise container image (the clusterware), and a separate container image for the database application, SQL Server.
What are cloud containers?
Cloud containers are another name given for the many cloud-based managed services that help IT teams administrate containers. E.g. Google Kubernetes Engine, Amazon Elastic Container Service, etc.
SQL Server on Kubernetes refers to the deployment and management of Microsoft SQL Server in a Kubernetes container orchestration platform. Running SQL Server on Kubernetes provides several benefits, including improved scalability, high availability, and easier management of SQL Server instances. Here are some key points to consider when deploying SQL Server on Kubernetes:
Containerization: SQL Server instances are packaged into containers using technologies like Docker. Containers provide a lightweight and portable way to deploy applications, ensuring consistent environments across different deployment stages.
Kubernetes Resources: Kubernetes uses resources like Deployments, StatefulSets, and Persistent Volumes to manage SQL Server instances. Deployments and StatefulSets help with scaling, while Persistent Volumes ensure that data is persisted beyond the lifecycle of a container.