日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
你需要知道的有關(guān)Kubernetes 1.23版的更新都在這里

你需要知道的有關(guān)Kubernetes 1.23版的更新都在這里

譯文
作者:陳峻 2021-12-27 08:00:00

云計算 本文將重點關(guān)注Kubernetes 1.23版在Kubernetes API、容器與基礎(chǔ)設(shè)施、存儲、網(wǎng)絡(luò)和安全性等方面的關(guān)鍵性更新。

創(chuàng)新互聯(lián)公司是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的做網(wǎng)站、成都做網(wǎng)站,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10多年品質(zhì),值得信賴!

【51CTO.com快譯】近期即將發(fā)布的Kubernetes圣誕版共帶有45項針對成熟性、安全性、以及可擴展性方面的增強功能。在本文中,我將重點關(guān)注Kubernetes API、容器與基礎(chǔ)設(shè)施、存儲、網(wǎng)絡(luò)和安全性等方面的關(guān)鍵性更新。

Kubernetes API

讓我們首先來看看具有可擴展性的Kubernetes API。api-machinery、CLI和autoscaling SIG這三大變更將作為1.23版的一部分被發(fā)布。

Kubectl事件命令

一直以來,您可能會受到kubectl get命令的選項和數(shù)據(jù)收集方法的限制。對此,1.23的alpha版將首發(fā)一個新的命令--kubectl event。使用kubectl的get events,您可以更便捷地觀察到集群的整體狀態(tài),并解決相關(guān)問題。具體而言,其主要特點包括:

  • 能夠查看與特定資源相關(guān)的所有事件
  • 監(jiān)控集群中的特定事件
  • 按照事件的狀態(tài)或特定命名空間中的類型,去過濾事件

除了上述特點,您也可以通過查看設(shè)計文檔,以了解在后續(xù)版本中即將推出的新功能。值得一提的是,您可以在安裝了新的kubectl版本后,立即開始使用kubectl events命令。

將HPA API升級為一般可用性

Horizontal Pod Autoscaler(HPA)是Kubernetes的核心組件,可以根據(jù)各項指標(biāo)自動擴展Pod的數(shù)量。HPA可以擴展或縮減的資源包括:副本集、部署、以及CPU利用率等眾所周知的指標(biāo)狀態(tài)集。自2015年以來,它一直是Kubernetes API中的一部分。如今,它最終走向了一般可用性(General Availability,GA)。

如果您已經(jīng)在客戶端和控制器中使用到了HPA,那么您可以直接使用v2,而非v2beta1。從這次發(fā)布,我們可以看到HPA已經(jīng)作為了Kubernetes API的核心組件,并為加入最終產(chǎn)品做好了準(zhǔn)備。因此,您可以放心地使用HPA了。

CRD驗證表達式語言

作為一個強大的抽象層,Custom Resource Definition(CRD)擴展了Kubernetes,并使其與所有可自定義的資源協(xié)同工作。不過,如果用戶定義了新的自定義資源、及其相關(guān)規(guī)范,那么使用Webhooks、控制器和客戶端工具進行驗證時,則可能比較繁瑣。不過慶幸的是,我們可以將諸如Common Expression Language之類的內(nèi)聯(lián)表達式語言,集成到CRD中進行驗證。

在1.23版本中,作為alpha功能被提供的驗證規(guī)則,可以方便您添加x-kubernetes-validation-rules。您可以在Kubernetes文檔中查看到如下類似的示例:

  
 
 
  1. ... 
  2.      openAPIV3Schema: 
  3.        type: object 
  4.        properties: 
  5.          spec: 
  6.            type: object 
  7.            x-kubernetes-validation-rules: 
  8.             - rule: "self.minReplicas <= self.replicas" 
  9.               message: "replicas should be greater than or equal to minReplicas." 
  10.             - rule: "self.replicas <= self.maxReplicas" 
  11.               message: "replicas should be smaller than or equal to maxReplicas." 
  12.            properties: 
  13.             ... 
  14.             minReplicas: 
  15.               type: integer 
  16.             replicas: 
  17.               type: integer 
  18.             maxReplicas: 
  19.                type: integer 
  20.            required: 
  21.             - minReplicas 
  22.             - replicas 
  23.             - maxReplicas   

假設(shè)您要創(chuàng)建如下違反了第二條規(guī)則的自定義資源實例:

  
 
 
  1. apiVersion: "stable.example.com/v1" 
  2. kind: CronTab 
  3. metadata: 
  4.    name: my-new-cron-object 
  5. spec: 
  6.    minReplicas: 0 
  7.    replicas: 20 
  8.    maxReplicas: 10 

那么Kubernetes API將會以如下錯誤消息作為響應(yīng):

  
 
 
  1. The CronTab "my-new-cron-object" is invalid: 
  2. * spec: Invalid value: map[string]interface {}{"maxReplicas":10, "minReplicas":0, "replicas":20}: replicas should be smaller than or equal to maxReplicas. 

可見,如果您在集群中準(zhǔn)備使用CRD,那么就必須在Open API架構(gòu)和控制器中使用相應(yīng)的驗證機制。而在這次新的版本中,您可以將它們遷移到x-kubernetes-validation-rules,讓Kubernetes API為您完成繁瑣的工作。

容器與基礎(chǔ)設(shè)施

在新的版本中,我發(fā)現(xiàn)了Windows和node SIG兩個值得注意的功能。它們屬于臨時容器和Windows特權(quán)容器。

臨時容器

臨時容器可以起到觀察其他Pod的狀態(tài)、故障排除和調(diào)試等作用。這個新的功能還附帶了一個CLI命令。用戶可以使用kubectl debug,來輕松地進行排障。其實,該命令運行在pod的一個容器中,而kubectl exec命令則在該容器中運行一個進程。

使用1.23版本,您將能夠在PodSpec.EphemeralContainer下添加臨時容器,作為pod規(guī)范的一部分。雖然與容器規(guī)范類似,但是它們并不涉及到各種資源請求或端口,畢竟它們只是臨時被添加到pod中的。例如,您將能夠為my-service pod添加一個Debian的容器,并以交互的方式連接,從而讓用戶進行實時調(diào)試。具體請見如下代碼段:

  
 
 
  1. $ kubectl debug -it -m debian my-service -- bash 
  2. root@debug:~# ps x 
  3.    PID TTY      STAT   TIME COMMAND 
  4.      1 ?        Ss     0:00 /pause 
  5.     11 ?        Ss     0:00 bash 
  6.    127 ?        R+     0:00 ps x 

其實,臨時容器在1.22版本中已經(jīng)處于alpha版狀態(tài)了。這次,它們將在1.23版本中被升級為beta版。如果您尚未試用它的話,我建議您最好創(chuàng)建各種調(diào)試容器的鏡像,并在自己的工具箱中包含kubectl debug命令。

Windows特權(quán)容器和主機網(wǎng)絡(luò)模式

作為一種強大的容器實例,特權(quán)容器可以訪問和使用主機資源。這和直接運行在主機上的進程非常類似。在Linux容器被廣泛使用時,它們雖然在某種程度上構(gòu)成了安全威脅,但是有利于管理主機的實例。

隨著1.23版本的發(fā)布,Windows實例的特權(quán)容器和主機網(wǎng)絡(luò)模式將升級為beta版。如果您的集群中有Windows節(jié)點,或計劃在將來包含這些節(jié)點的話,那么請查看功能性和GA計劃的設(shè)計文檔。

貯存

在1.23版本中,存儲SIG變化主要體現(xiàn)在卷掛載期間,卷的所有權(quán)更改上。

目前,在卷綁定之前,卷的權(quán)限會遞歸地更新為pod規(guī)范中的fsGroup值。顯然,當(dāng)卷的體積過大時,所有權(quán)的更改可能會導(dǎo)致在創(chuàng)建Pod期間的等待時間過長。因此,我們往往需要添加一個新的字段--pod.Spec.SecurityContext.FSGroupChangePolicy,來允許用戶指定該如何操控權(quán)限和所有權(quán)的更改。

而在1.23版中,此功能已升級到了GA,您可以使用以下兩個選項去指定相關(guān)策略:

  • Always:始終更改各種權(quán)限和所有權(quán),以匹配fsGroup字段。
  • OnRootMismatch:僅當(dāng)頂級目錄與fsGroup字段不匹配時,才更改相應(yīng)的權(quán)限和所有權(quán)。

如果您正在使用諸如數(shù)據(jù)庫等,對于權(quán)限更改敏感的應(yīng)用,那么請檢查新的字段,并將其包含在您的pod規(guī)范中,以避免在pod創(chuàng)建的過程中,等待過長的時間。

聯(lián)網(wǎng)

自從IPv6在Kubernetes 1.9版中作為alpha功能被添加以來,它已是用戶對Kubernetes團隊期待已久的功能。在最新版本中,雙棧式的IPv4/IPv6網(wǎng)絡(luò)終于具有了一般可用性。

該功能包括了對于各種Pod和服務(wù)的多個IPv4/IPv6地址的感知。同時,它還支持原生IPv4到IPv4的通信,以及與集群之間IPv6到IPv6的通信。

盡管Kubernetes提供了雙棧式網(wǎng)絡(luò),但您可能會受到底層基礎(chǔ)架構(gòu)和云提供商的能力的限制。由于節(jié)點需要具有可路由的IPv4/IPv6網(wǎng)絡(luò)接口,而pod需要具有雙棧式網(wǎng)絡(luò)連接,因此您還需要一個能夠感知雙棧式網(wǎng)絡(luò)的插件,來為pod和服務(wù)分配IP地址。目前,諸如kubenet之類的CNI插件已經(jīng)可以支持雙棧式網(wǎng)絡(luò)了,并且Kubeadm和kind也正在逐漸增加對于此類生態(tài)系統(tǒng)的支持。

安全性

1.23版本在auth SIG方面的增強主要體現(xiàn)在,將Pod安全標(biāo)準(zhǔn)升級到了beta版。

在之前的版本中,Pod安全標(biāo)準(zhǔn)是作為Alpha功能,用來替換PodSecurityPolicy的。在命名空間和標(biāo)簽的幫助下,他們創(chuàng)建了一種限制pod權(quán)限的方法,來執(zhí)行相應(yīng)的策略。在將其包含到部署之中后,您便可以提高pod和集群的安全性了。

小結(jié)

在2021年的最后一個版本中,Kubernetes帶來了更具可擴展性和可靠性的API和基礎(chǔ)設(shè)施的增強功能。此外,在存儲、網(wǎng)絡(luò)和安全性方面的改進,也使得Kubernetes成為了真正的、面向未來的、業(yè)界領(lǐng)先的容器編排平臺。

最后,請通過Kubernetes的博客和其發(fā)行說明,來進一步了解更多最新的增強功能吧!

原文標(biāo)題:Kubernetes Version 1.23 Is Out: Everything You Should Know,作者: Amir Kaushansky

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】


網(wǎng)站欄目:你需要知道的有關(guān)Kubernetes 1.23版的更新都在這里
鏈接分享:http://m.5511xx.com/article/dpjgdcd.html