Understanding Containers and Kubernetes

Containers have undoubtedly changed the information technology landscape. They started as simple development tools but have found their place solidly in the enterprise. SQL Server and other relational database management systems can derive huge benefits as far as cost-savings, agility, and portability from containers. Check out some of the key industry terms on this page to improve your understanding of containers and popular technologies like 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.

What is a Helm chart?

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. 

What is SQL Server on Kubernetes?

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.