Docker CE/EE 原生支持Kubernetes

在今天的 DockerCon EU (2017) 上,Solomon 宣布 Docker 將原生支持 Kubernetes,也就是說 Kubernetes 將和 Swarm 一樣作為 Docker 平台的編排管理系統。這包括 Docker EE、Docker CE 以及 Docker for Mac/Windows 等全平台的支持。

Docker for Mac/Windows

Docker for Mac/Windows 將原生支持把基於 docker-compose/swarm 的應用部署到本地的 Kubernetes 集群中,docker swarm 和 Kubernetes 共享相同的鏡像、存儲卷以及容器(也就是兩種調度系統同時管理同一套容器)。這有助於簡化容器應用的開發、構建、測試以及部署。

為了實現這個目標,Docker 基於 Kubernetes Custom Resources 和 API server aggregation 將 Docker Compose apps 部署為原生的 Kubernetes Pods/Services。

這裡是一個 Docker for Mac 的示例視頻,非常有趣。

Docker EE

在創建 Stack 的時候可以選擇 Swarm 或者 Kubernetes:

並且還可以在 Shared Resources 除查看共享的資源:

當然,部署也很簡單,內置在 Docker EE 中,swarm 和 Kubernetes 共享相同的 Node:

這裡這裡也有一個 Docker EE + Kubernetes 的示例視頻。

Docker CE/Moby

Moby 與 Kubernetes 的集成通過一系列的開源項目來實現:

  • containerd 和 cri-containerd,可以參考Kubernetes The Hard Way查看使用方法
  • LinuxKit:支持構建Kubernetes鏡像
  • InfraKit:支持Kubernetes Flavor
  • libnetwork:增加CNI的支持 github.com/docker/libne
  • Notary將會貢獻給CNCF
  • libentitlement將提供高級安全介面

遺憾的是,該功能暫時還無法體驗,需要等到Docker下一個release。想要提前預覽的同學可以點擊beta.docker.com/註冊預覽版。

推薦閱讀:

Docker、Kubernetes 和 Apache Mesos 對比中的一些誤區
Kubernetes v1.7新特性解析-本地數據卷
使用Helm管理kubernetes原生應用

TAG:Docker | Kubernetes | 容器 |