Kubernetes in The Docker Platform: Wayne Song Software Engineer, Docker Inc
Kubernetes in The Docker Platform: Wayne Song Software Engineer, Docker Inc
Kubernetes in the
Docker platform
Guillaume Tardif
Software Engineer, Docker Inc.
Kubernetes
● First introduced in Docker for Mac 17.12 and Docker for
Windows 18.02 with one-click cluster install
● Introduced in Docker EE 2.0
Docker Engine
containerd
LinuxKit VM
containerd
LinuxKit VM
Host VM
1. Install kubectl 2. Run kubeadm init
6. Update ~/kube/config 3. Start kubelet
7. Open API server port 4. Wait for kubeadm init to finish
5. Run kubeadm upgrade if necessary
8. Start custom controllers :
PVC, Load balanced services, etc.
Persistent Volumes
Demo
Kubernetes in Docker for Mac
Compose for Kubernetes
So you can use kubectl, helm, deploy Kubernetes apps…
Kubernetes in Docker EE
Try it out at trial.docker.com
v
Demo
Kubernetes in Docker EE 2.0
Kubernetes API Request Lifecycle
Kubernetes API Server
Admission
Authentication Authorization etcd
Control
Authentication
● X509 Client Certificates
○ Used for authentication of kubectl and the docker CLI via
the “client bundle” feature
● OpenID Connect Identity Provider
Authorization
● Requests authorized via the Authorization Webhook plugin
● Custom RBAC system shared between Swarm and
Kubernetes:
○ Users, Teams, Organizations, Service Accounts
○ Custom Roles
● No support for the rbac.authorization.k8s.io API,
future plans for API translation
Authorization
Admission Control
● Allows plugins to inspect, mutate or reject API requests
after authorization
● Used for:
○ Node RBAC
○ Orchestrator Selection
○ Image Signing policy enforcement
Orchestrator Selection
● Administrators can toggle between kubernetes or swarm orchestrator for any
node
● When toggling orchestrators, workloads of the previous orchestrator will be
evicted
● An admission controller ensures that kubernetes workloads can only be
scheduled on nodes labelled as “kubernetes” nodes.
● Workloads of multiple orchestrators on the same node can lead to resource
contention
Image Policy Signing Enforcement
● Enforces that all workloads deployed in the cluster have a
fully qualified image reference
● Resolves image references to always include a digest
● Contacts the registry to ensure that the referenced image
has been signed by an authorized user.
In Summary