天天看點

Kubernetes 1.4簡化了叢集部署并改進了安全和聯邦

kubernetes 1.4版已于本周釋出,該釋出版本所提供的新特性改進了開發和運維的體驗,簡化了叢集的部署、認證處理、網絡、安全和應用部署。此外,該釋出版本擴充了叢集聯邦能力,改進了跨越多重叢集和多重雲的部署功能。

雖然這次釋出的版本中添加了很多新的特性,但是面對可用于kubernetes的多種不同的安裝方案和工具時,簡化叢集部署仍然是該版本的主要目标之一。

安裝與易用性

對于red hat和ubuntu等linux的主要釋出版本,已經可用apt-get和yum安裝kubernetes的作業系統包。 新的kubeadm指令将叢集啟動簡化為兩個指令,并且指令的使用是獨立于架構類型的,無論架構是共用的、私有的或是專用伺服器。使用上類似于自docker 1.2版本之後的所提供docker swarm指令,kubeadm init指令用于啟動主服務,kubeadm join指令用于在叢集中添加節點。 daemonsets確定標明叢集中節點去運作pod的一個拷貝。在這種方式下,可簡化覆寫網絡的擴充部署為使用kubectl apply指令。 新的認證api通過對kubelet tls自引導的授權簡化了安全網絡。 kubernetes dashboard的使用者界面現在已支援90%的cli功能。

有狀态應用

scheduledjobs實作了在設定的時間去運作批處理作業,或是使用cron理念對作業進行定時重複地運作。 init-container用于對多層應用啟動時的順序依賴性的确定,實作了先于主pod啟動而運作一個或更多的容器。 基于新的storage class api對象,目前叢集可以動态地為persistantvolumeclaims提供卷。 使用helm package manager第二版,drupal、wordpress和jenkins等公共的有狀态應用将作為helm charts提供,實作了簡明的單指令加載。

聯邦

現在聯邦副本集(federated replica sets)可跨叢集對副本進行控制,這實作了跨區域或跨雲平台的備份。以這種方式所建立的副本在叢集中可平均分布。 聯邦ingress采用第七層全局負載均衡虛拟ip,将已部署服務散布到叢集聯邦中。該功能目前僅支援google雲平台(google cloud platform,gcp)。以該ip為目标的外部客戶會被發送至叢集聯邦中最近的可用地區或區域上。 目前聯邦api中包括了機密(secret)、事件和命名空間。

安全

容器鏡像政策(container image policies)可用于限定pod的部署,這種限定是基于鏡像需求的,例如僅允許特定的基礎鏡像。 對apparmor的支援使管理者可以對pod加密、提供審計和監控功能。 pod安全政策(pod security policies)控制了用于pod和容器的安全上下文的建立和驗證。

架構

pod間親緣性和反親緣性使得pod可以共存一處或是散布各處。 對dns、heapster和dashboard等叢集附加元件的優先權排程能力已可用。 引入了pod銷毀預算(pod disruption budget)功能,用于限制使用叢集管理操作(節點管理)删除pod所導緻的影響。 用于quobyte和azure data disk的全新卷管理插件已經被添加到該版本中。 添加了對swagger 2.0的支援,實作對非go客戶的支援。

在采用kubernetes 1.4之前,管理者應該遵循更新日志所記錄的代辦事項。 有意于對運作版本進行更新的管理者應額外關注一下實驗性腳本upgrade.sh。

kubernetes目前已在許多組織中得到大範圍采用。kubernetes的發展包括了專業支援服務以及動态的貢獻,僅對kubernetes 1.4版本,就有超過900貢獻者編寫了不下5,000次的送出。kubernetes的一些生産特性仍處于開發階段,例如多可用區域支援和良好結構化的文檔。這展現在該版本更新日志中所列出的27個特性中,有21個特性仍标記為beta或是alpha。

在kubernetes 1.4版本釋出之外,kubernetes 1.3.8修正版也于本周釋出。

本文轉自d1net(轉載)

繼續閱讀