Which kubernetes version is supported in docker version 18.09
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.
Docker 18.09 was released in November 2018 and is part of the Docker Community Edition (Docker CE). This version offered users enhanced features and improved stability over its predecessors. One key aspect within the Docker universe is its interaction with Kubernetes, the de facto orchestration platform that automates the deployment, scaling, and operation of application containers. This article delves into the specifics of which Kubernetes version was supported by Docker 18.09 and explores technical examples, features, and considerations for developers and DevOps engineers.
Kubernetes Support in Docker 18.09
Docker 18.09 introduced deeper integration with Kubernetes. However, it's crucial to remember that Docker Desktop has traditionally been the primary method for running Docker with integrated Kubernetes support. The version of Kubernetes available can't be manually altered or updated separately from Docker Desktop.
In Docker 18.09, version 1.10 of Kubernetes was bundled as part of Docker Desktop on both Windows and macOS platforms. This integration allowed users to harness the power of Kubernetes directly through Docker interfaces without additional configuration. Notably, Linux users traditionally managed Kubernetes separately due to the nature of their development environments.
Features and Technical Implementations
Kubernetes 1.10 Features
Kubernetes 1.10 was released in March 2018 and included several key enhancements, relevant to those using Docker 18.09:
- Core Improvements:
- Volume Storage Enhancements: Kubernetes 1.10 introduced significant improvements to storage management, such as allowing the selection of specific storage classes in Persistent Volume Claims (PVCs).
- Role-Based Access Control (RBAC):
- Enhanced security was introduced via RBAC, which became generally available, providing a more granular and secure method of managing access to the Kubernetes API.
- Kubectl Improvements:
- Enhanced `kubectl` commands, including the ability to run `kubectl diff`, which provided users a way to compare and visualize configuration changes before applying them.
Below is a summary table capturing essential features and supports:
| Docker Version | Kubernetes Version Supported | Key Kubernetes Features |
| 18.09 | 1.10 | - Volume Storage Enhancements - RBAC General Availability - Kubectl Improvements |
Technical Example: Deploying an Application
With Docker 18.09 and the integrated Kubernetes 1.10, developers can deploy an application using a simple YAML configuration file that defines the desired state of the application, including images, replicas, and resource allocations.
Let's assume you have a basic `nginx` deployment. Here's a sample deployment YAML file you can use:
- name: nginx
- containerPort: 80
- Users can enable Kubernetes with a few clicks through the Docker Desktop Preferences.
- The integration allows for managing containers and Kubernetes resources side by side using Docker CLI and Kubernetes tools (`kubectl`).
Related reading
- Whitelist kube-system namespace using NetworkPolicy
- Who starts kube-apiserver and how to configure its start up parameters?
- Why 10251 and 10252 port not used in k8s control plane?
- Why am I getting an ErrImagePull error in this Kubernetes deployment?
- Why are Docker container images so large?
- Why are heaps in c implemented as algorithms instead of containers?
- Why are Kubernetes Custom Resource Definitions cluster wide
- Why do I need 3 different kind of probes in kubernetes startupProbe, readinessProbe, livenessProbe

System Design Fundamentals
Build a strong foundation in designing scalable, reliable distributed systems.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.