近日,紅帽OpenShift容器平臺4.3面世,它是業界最成熟的企業Kubernetes平臺的最新版本。
對於絕大多數企業而言,安全至關重要,尤其是政府、金融服務和醫療保健部門這類組織,安全是第一。OpenShift 4.3為各行業的企業提供了符合國際信息處理標準的加密和附加的安全性增強功能。這些新的和擴展的功能結合在一起,可以通過更強大的加密控制來幫助保護敏感的客戶數據,並改善對跨應用和平臺本身的訪問控制的監督。
雲原生相關開源項目分析
目前Kubernetes最新版本是1.17,2020年1月16日發佈的。
關於目前Kubernetes的各個廠商參與度,可以查看 stackalytics 網站
google依然排在第一位,紅帽排在第二位 8273個提交。此外IBM和CoreOS共計1000個多一點的提交,沒有和紅帽的提交算在一起,現在三者是一家了。
2019年很火的Istio,從目前看是社區和google主導。IBM的代碼貢獻量排在第二,佔比10.4%。
我們再查看新興的serverless架構:knative。目前紅帽代碼貢獻量已經提升到第二位(這個項目最初是google和IBM發起的),看來紅帽在這個項目中加強了投入。
我們在看一下雲原生CI/CD工具teckton(google發起的),這個社區裡IBM已經排在第一個,紅帽已經提升到第二位。看來後面容器雲中Jenkins慢慢要下課了。
現在切入正題。
OpenShift4整體架構:
OpenShift4.3整體更新包括以下三部分:
整體描述:
紅帽OpenShift容器平臺(RHBA-2019:1234)現在正式發佈。此版本使用帶有CRI-O運行時的Kubernetes 1.16。這是OpenShift Container Platform 4.2中使用Kubernetes 1.14。這說明OpenShift的產品迭代能力還是很強的。
Red Hat Enterprise Linux 7.6或更高版本以及Red Hat Enterprise Linux CoreOS 4.3支持OpenShift Container Platform 4.3。
控制節點必須使用Red Hat Enterprise Linux CoreOS(RHCOS),並且可以將RHCOS或Red Hat Enterprise Linux 7.6或更高版本用於worker節點。
支持SR-IOV
以後大家不要總在ovs上的性能較勁了,使用了多網卡以後,ovs可以只作為pod的管理網絡。
安裝與升級
OPENSHIFT容器平臺升級了分階段部署。
相比於OCP3,OpenShift4.2/4.3顯然平滑升級做的很好。但是,對於生產環境,依然建議預留升級的業務停機窗口。
在OpenShift Container Platform 4.1中,Red Hat引入了升級渠道的概念,用於向您的集群推薦適當的升級版本。升級渠道分離了升級策略,還用於控制更新的節奏。頻道與OpenShift容器平臺的次要版本相關。例如,OpenShift Container Platform 4.3通道將永遠不會包含對4.4版本的升級。這可確保管理員明確決定升級到OpenShift Container Platform的下一個次要版本。通道僅控制更新,對您安裝的群集的版本沒有影響。給定補丁程序級別的OpenShift容器平臺的openshift-install二進制文件始終會安裝該補丁程序級別。
您必須選擇與計劃升級到的OpenShift容器平臺版本相對應的升級通道版本。OpenShift Container Platform 4.3包括從以前的4.2版本進行的升級。
為了方便讀者理解,我用我的環境進行OCP的4.2升級。
升級之前:
已經開始升級:
我們查看cluster operator,有的已經升級到了4.2.13版本:
那麼,升級的時候,pod是具體怎麼操作的呢?我們以console pod為例:
會先download新版本的console,然後滾動升級舊版本。
用同樣的方式,將集群升級到4.2.14:
再升級到4.2.16,之前這個頻道是看不到的(這是4.2中最新的小版本):
接下來,嘗試把OCP升級到4.3(之前看不到這個頻道):
但由於目前4.3還沒有小版本,因此OCP還無法直接從4.2升級到4.3。
“Channels are tied to a minor version of OpenShift (for instance, 4.2 channels will never include an upgrade to a 4.3 release) to ensure administrators must make an explicit decision to upgrade to the next minor version of OpenShift”
支持FIPS密碼學
現在,您可以安裝使用經過FIPS驗證/測試下實現的加密庫的OpenShift容器平臺集群。OpenShift容器平臺將Red Hat Enterprise Linux(RHEL)和Red Hat CoreOS(RHCOS)中的某些經過FIPS驗證/測試下實現的模塊用於其使用的操作系統組件。有關更多信息,請參見FIPS加密支持。
Federal Information Processing Standards聯邦信息處理標準(FIPS) FIPS是在美國政府計算機標準化計劃下開發的標準。這個計劃定義了用於政府機關的自動化數據處理和遠程通信標準。FIPS遵循美國國家標準協會(ANSI)標準,政府機關必須遵從FIPS標準,供應商則基於商業用途有選擇地遵循ANSI定義的標準。國家標準和技術協會(NIST)負責草擬規範。已接受的標準包括那些ASCII字符編碼方案、數據加密及計算機編程語言,如COBEL和FORTRAN等。
FIPS模塊對OCP4.3的支持如下:
在AWS,AZURE或GCP上部署dedicated集群
您可以將專用群集安裝到
- Amazon Web Services(AWS)上的現有VPC。
- Google Cloud Platform(GCP)上的現有VPC。
- Microsoft Azure上的現有Azure虛擬網絡(VNet)。
要在這些雲平臺上創建dedicated集群,您必須提供一個現有的私有VPC / VNet和子網來承載該集群。安裝程序將Ingress Operator和API服務器配置為僅從專用網絡進行訪問。
加密存儲在ETCD中的數據
現在,您可以加密存儲在etcd中的數據。為群集啟用etcd加密可提供額外的數據安全層。
啟用etcd加密後,以下OpenShift API服務器和Kubernetes API服務器資源將被加密:
- Secrets
- ConfigMaps
- Routes
- OAuth access tokens
- OAuth authorize tokens
對Istio的支持
應用不同版本現在可以通過圖形化配置(以前是修改virtualservice)。這樣以後就不會被修改配置文件搞的暈頭轉向了。
Virtual service支持URI匹配
OCP4.3中發佈了Knative的Operator
集群監控
Web控制檯中PromQL查詢瀏覽器的改進
現在,OpenShift Container Platform Web控制檯中使用的PromQL查詢瀏覽器可以提高性能。
對KUBELETTOOMANYPODS ALERT使用POD容量度量
現在,KubeletTooManyPods警報使用Pod容量度量標準作為閾值,而不是固定數字。
Machine API
具有機器健康檢查功能的自動修復損壞的機器
帶外刪除的計算機實例不再嘗試重新創建新實例;相反,機器進入故障階段。您可以通過配置和部署機器運行狀況檢查來自動修復機器池中損壞的機器。
觀察MachineHealthCheck資源的控制器將檢查您定義的狀態。如果計算機未通過運行狀況檢查,則會自動將其刪除並創建新的機器來代替它。刪除計算機後,您會看到計算機刪除的事件。為了限制計算機刪除的破壞性影響,控制器一次僅消耗並刪除一個節點。
要停止檢查,請刪除資源。
日誌轉發(技術預覽)
日誌轉發功能提供了一種將容器和節點日誌傳送到不一定由OpenShift Container Platform群集日誌記錄基礎結構管理的目標的方法。目標端點可以在您的OpenShift容器平臺集群上或在其外面。與使用Fluentd插件相比,日誌轉發提供了一種轉發日誌的簡便方法,而無需將群集設置為“非託管”。有關更多信息,請參閱將群集日誌轉發到特定端點。
Helm(技術預覽)
Helm是Kubernetes和OpenShift容器平臺應用程序的軟件包管理器。它使用稱為Helm圖表的打包格式來簡化應用程序和服務的定義,安裝和升級。
Helm CLI是OpenShift Container Platform內置和附帶的,可從Web控制檯的CLI菜單中下載。
網絡控制檯
新項目儀表板
現在,可以從管理員和開發人員角度使用新的項目儀表板。該儀表板提供有關項目的以下信息:
- 狀況/健康
- 外部鏈接
- 庫存
- 利用率
- 資源配額
- 活動和頂級消費者
CSI供應商現在顯示在存儲類創建頁面上
容器存儲接口(CSI)設置程序現在顯示在存儲類創建頁面上。存儲類在用戶界面中進行了硬編碼。基於CSI的存儲類本質上是動態的,沒有靜態名稱。現在,用戶可以在存儲類創建頁面中列出基於CSI的供應商,也可以創建一個。
配置網絡政策
除了出口策略類型和IPBlock,Kubernetes v1 NetworkPolicy功能在OpenShift Container Platform中可用。
NetworkPolicy支持IPBlock,但有限制;它支持IPBlock,沒有except子句。如果使用ipBlock部分(包括except子句)創建策略,則SDN Pods會記錄警告,並忽略該策略的整個ipBlock部分。
KURYR CNI支持紅帽OPENSTACK平臺(RHOSP)
您可以在使用Kuryr SDN的RHOSP 13和16上安裝自定義群集。您可以按照安裝指南在使用Kuryr的OpenStack上安裝集群。
規模
集群最大值
現在提供了有關OpenShift Container Platform 4.3的群集最大值的更新指南。
使用ISCSI的持久存儲
OpenShift Container Platform 4.3完全支持以前在Technology Preview中使用iSCSI的持久卷。