Kubernetes(簡稱為 K8s),最初由 Google 的工程師開發和設計。Kubernetes 是用於自動部署、擴展和管理容器化應用程式的開源系統,它旨在提供跨主機集群的自動部署、擴展以及運行應用程式容器的平臺。Kubernetes 支持一系列容器工具, 包括 Docker 等。 k8s也是 ...
Kubernetes(簡稱為 K8s),最初由 Google 的工程師開發和設計。Kubernetes 是用於自動部署、擴展和管理容器化應用程式的開源系統,它旨在提供跨主機集群的自動部署、擴展以及運行應用程式容器的平臺。Kubernetes 支持一系列容器工具, 包括 Docker 等。
k8s也是一個編排容器的工具,其實也是管理應用的全生命周期的一個工具,從創建應用,應用的部署,應用提供服務,擴容縮容應用,應用更新,都非常的方便,而且可以做到故障自愈,例如一個伺服器掛了,可以自動將這個伺服器上的服務調度到另外一個主機上進行運行,無需進行人工干涉。
k8s的全生命周期管理
在k8s進行管理應用的時候,基本步驟是:創建集群,部署應用,發佈應用,擴展應用,更新應用。
- 一個約有 3-4 人、與新版的谷歌新搜索引擎合作小規模項目。 Borg 是一個大規模的內部集群管理系統,它運行著來自數千個不同應用程式的數十萬個作業,跨越許多集群,而每個集群擁有多達數萬台電腦。
2013: 從 Borg 到 Omega
- 繼 Borg 之後,Google 推出了 Omega 集群管理系統,這是一種適用於大型計算集群的靈活、可擴展的調度程式。
2014: Google 推出 Kubernetes
- 2014 年中:Google 推出 Kubernetes (作為 Borg 的開源版本)。
- 6 月 7 日:初始版本發佈——完成 Kubernetes 在 GitHub 上的第一次提交。
- 7 月 10 日:微軟、RedHat、IBM、Docker 加入 Kubernetes 社區。
2015: Kubernetes v1.0 和 CNCF 的一年
- 7 月 21 日:Kubernetes v1.0 發佈。 隨後,谷歌與 Linux 基金會合作組建了雲原生計算基金會(CNCF)。CNCF 旨在建立可持續的生態系統,並圍繞一系列高質量項目建立一個社區。
- 11 月 3 日:Kubernetes 生態系統繼續增長!Deis、OpenShift、華為和 Gondor 陸續加入。
- 11 月 5 日:Kubernetes 1.1 進行主要的性能升級、改進的工具和新功能,讓應用程式更易於構建和部署。
- 11 月 9 日至 11 日:KubeCon 2015 在美國舊金山舉辦,這是首屆 Kubernetes 會議。 會議通過專家技術講座激發創造力並促進 Kubernetes 普及。
2016: Kubernetes 在這一年成為主流
- 2 月 23 日:Kubernetes 軟體包管理系統 Helm 首次發佈。
- 2 月 24 日:繼首次會議在 2015 年 11 月舉辦後,KubeCon EU 2016,首屆在歐洲舉辦的 Kubernetes 會議吸引近 500 名與會者參加。
- 3 月 16 日:Kubernetes 1.2 發佈,改進包括擴展、簡化應用程式部署和自動化集群管理等功能。
- 7 月 1 日:Kubernetes 1.3 發佈,連接雲原生和企業 Workload。 v1.3 引入 Rktnetes 1.0 和一個新的 Alpha ‘PetSet’ 對象,並支持在多個集群中發現運行的服務。
- 7 月 11 日:Minikube 正式發佈:它是一個可以讓 Kubernetes 在本地運行的工具。
- 9 月 8 日:一個管理生產級 Kubernetes 集群的官方 Kubernetes 項目——Kops 面世。
- 9 月 19 日:Monzo 發佈了一個關於他們如何使用 Kubernetes 從頭開始構建銀行系統的案例研究。
- 9 月 26 日:Kubernetes 1.4 推出了一種新工具 kubeadm,有助於提高 Kubernetes 的可安裝性。 此版本提供了更簡單的設置,支持集成 Helm 的狀態應用以及新的跨集群聯合功能。
- 9 月 29 日:Pokemon GO 是有史以來在 Google 容器引擎上最大的 Kubernetes 部署,它的創作者發佈了一個關於他們如何操作 Kubernetes 的案例研究。
- 11 月 8 日至 9 日:CloudNativeCon + KubeCon 2016 在美國西雅圖舉辦。來自世界各地的 1,000 多名終端用戶,主要貢獻者和開發人員齊聚一堂,交流有關 Fluentd、Kubernetes、Prometheus、OpenTracing 和其他雲原生技術。
- 12 月 7 日:Kubernetes 發佈 Node feature discovery。它能檢測 Kubernetes 集群中每個節點上可用的硬體功能,並使用節點標簽公佈這些功能。
- 12 月 21 日:Kubernetes 1.5 發佈,Kubernetes 得到 Windows 伺服器的支持。 新功能包括容器化多平臺應用程式,支持 Windows 伺服器的容器和 Hyper-V 容器,擴展的應用程式生態系統,覆蓋異構的數據中心等等。
- 12 月 23 日:Kubernetes 支持 OpenAPI,可允許 API 提供商定義他們的操作和模型,開發人員可以自動化他們的工具。
2017: 企業採用和支持的一年
- 3 月 28 日:Kubernetes 1.6 發佈。 具體的更新有:預設啟用 etcd v3、刪除單個容器運行時的直接依賴關係、測試版 RBAC、自動配置 StorageClass 對象。
- 3 月 29 日至 30 日:CloudNativeCon + KubeCon 在歐洲柏林舉辦。 來自世界各地的 1,500 名終端用戶、主要貢獻者和開發者交流了雲原生相關知識。
- 5 月 24 日:Google 與 IBM 發佈了一項開放式技術 Istio,它提供了一種對任何平臺、來源或是供應商都能無縫連接、管理和保護不同微服務網路的方法。
- 6 月 30 日:Kubernetes 1.7:容器編排標準添加了本地存儲、Secrets 加密和可擴展性,例如:API 聚合、第三方資源、容器運行時介面等。
- 8 月 16 日:GitHub 開始在 Kubernetes 上運行。所有 Web 和 API 請求都由在 metal cloud 上部署的 Kubernetes 集群中運行的容器提供服務。
- 8 月 31 日:Kelsey Hightower 發佈了 Kubernetes The Hard Way。 Kubernetes The Hard Way 對 Kubernetes 學習進行了優化,學習者需要通過長時間的學習來創建 Kubernetes 集群所需的工作。
- 9 月 11 日:CNCF 宣佈推出首批 Kubernetes 認證服務供應商,有超過 22 家供應商獲得首批 Kubernetes 認證。這些預先認證的機構在幫助企業成功運用 Kubernetes 方面有非常豐富的經驗。
- 9 月 13 日:Oracle 以白金會員的身份加入了 CNCF。 Oracle 開源了 Oracle 雲基礎架構的 Kubernetes 安裝程式,併在 Oracle Linux 上發佈了 Kubernetes。
- 9 月 29 日:Kubernetes 1.8 發佈,這個版本是基於角色訪問控制(RBAC)授權程式的里程碑,這是一種用於控制對 Kubernetes API 的訪問的機制。
- 10 月:Docker 擁抱 Kubernetes。開發人員和運營商可以使用 Docker 創建應用程式,並使用 Docker Swarm 和 Kubernetes 進行無縫地測試和部署。
- 10 月 17 日:Docker 平臺和 Moby Projekt 添加 Kubernetes,客戶和開發人員可以選擇使用 Kubernetes 和 Swarm 來協調容器工作負載。
- 10 月 24 日:微軟推出 AKS 預覽版 — AKS 具有 Azure 托管控制平面,並能自動升級、自我修複、易於擴展以及為開發人員和集群運營商提供簡單的用戶體驗。客戶在零運營開銷的情況下能獲得開源 Kubernetes 。
- 11 月 29 日:亞馬遜宣佈為 Kubernetes 提供彈性容器服務,可在 AWS 上使用 Kubernetes 進行部署、管理和擴展容器化應用程式。
- 12 月 6 日至 8 日:KubeCon + CloudNativeCon 在美國奧斯汀舉辦,這次會議聚集了來自世界各地的超過 4,100 名終端用戶、供應商、主要貢獻者和開發者。 289 場會議、主題演講以及閃電式演講。
- 12 月 15 日:Kubernetes 1.9 發佈:Apps Workloads GA 和 Expanded Ecosystem。 新功能包括,apps / v1 Workloads API 的一般可用性、Windows 支持(beta)、存儲增強功能等。
- 12 月 21 日:介紹 Kubeflow ,一個為 Kubernetes 構建的可組合、便攜、可擴展的機器學習堆棧。
2018:精彩繼續
- 3 月 2 日:Kubernetes 1.10 的第一個測試版發佈,使用生產就緒版本用戶可以測試 Kubelet TLS Bootstrapping 、API 聚合以及更詳細的存儲指標。
- 5 月 1 日:Google 推出由 Craig Box 主持的 Kubernetes Podcast。
- 5 月 2 日至 4 日:KubeCon + CloudNativeCon Europe 2018 在哥本哈根舉辦。超過 4300 名開發人員聚集在一起。
- 5 月 2 日:DigitalOcean 使用 Kubernetes,宣佈推出新的托管 Kubernetes 產品。 DigitalOcean Kubernetes 將在其現有的雲計算和存儲選項上提供容器管理和編排平臺作為免費服務。
- 5 月 4 日:Kubeflow 0.1 發佈,它提供了一套儘可能小的軟體包來開發、培訓和部署 ML。
- 5 月 21 日:Google Kubernetes Engine 1.10 發佈,可供企業使用。其具有共用虛擬私有雲、區域永久磁碟、區域集群、節點自動修複和自定義 Pod 自動縮放等功能,以實現更快的自動化。
- 5 月 24 日:Kubernetes Containerd Integration 進入 GA 階段。 Containerd 1.1 與 Kubernetes 1.10 及以上版本相容,並支持所有 Kubernetes 功能。用戶可以在生產環境的Kubernetes 集群中使用 Containerd 1.1 作為容器運行時組件。
- 6 月 5 日:亞馬遜 EKS 可用。 Amazon EKS 簡化了構建、保護、操作和維護 Kubernetes 集群的過程。讓那些專註構建應用程式而不想從頭設置 Kubernetes 集群的公司,可以充分利用基於容器的雲計算的優勢。
- 6 月 13 日:亞馬遜 AKS(Azure Kubernetes Service)可用。 通過 AKS,用戶可以部署和管理他們用於生產的 Kubernetes 應用程式,Azure 的工程師為客戶的完全托管的 Kubernetes 集群提供持續的監控、操作和支持。
- 6 月 27 日:Kubernetes 1.11 發佈:集群內負載平衡和 CoreDNS 插件達到普遍可用性。這個最新版本在網路方面有關鍵性功能:開啟了 SIG-API Machinery 和 SIG-Node 的兩個主要功能,用於 beta 測試,並繼續增強存儲功能。這些功能一直是過去兩個版本的焦點。 ……