日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間: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

云計(jì)算 本文將重點(diǎn)關(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è)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10多年品質(zhì),值得信賴!

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

Kubernetes API

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

Kubectl事件命令

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

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

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

將HPA API升級為一般可用性

Horizontal Pod Autoscaler(HPA)是Kubernetes的核心組件,可以根據(jù)各項(xiàng)指標(biāo)自動擴(kuò)展Pod的數(shù)量。HPA可以擴(kuò)展或縮減的資源包括:副本集、部署、以及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驗(yàn)證表達(dá)式語言

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

在1.23版本中,作為alpha功能被提供的驗(yàn)證規(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è)您要?jiǎng)?chuàng)建如下違反了第二條規(guī)則的自定義資源實(shí)例:

  
 
 
  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將會以如下錯(cuò)誤消息作為響應(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)的驗(yàn)證機(jī)制。而在這次新的版本中,您可以將它們遷移到x-kubernetes-validation-rules,讓Kubernetes API為您完成繁瑣的工作。

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

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

臨時(shí)容器

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

使用1.23版本,您將能夠在PodSpec.EphemeralContainer下添加臨時(shí)容器,作為pod規(guī)范的一部分。雖然與容器規(guī)范類似,但是它們并不涉及到各種資源請求或端口,畢竟它們只是臨時(shí)被添加到pod中的。例如,您將能夠?yàn)閙y-service pod添加一個(gè)Debian的容器,并以交互的方式連接,從而讓用戶進(jìn)行實(shí)時(shí)調(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 

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

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

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

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

貯存

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

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

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

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

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

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

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

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

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

安全性

1.23版本在auth SIG方面的增強(qiáng)主要體現(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年的最后一個(gè)版本中,Kubernetes帶來了更具可擴(kuò)展性和可靠性的API和基礎(chǔ)設(shè)施的增強(qiáng)功能。此外,在存儲、網(wǎng)絡(luò)和安全性方面的改進(jìn),也使得Kubernetes成為了真正的、面向未來的、業(yè)界領(lǐng)先的容器編排平臺。

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

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

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


網(wǎng)站欄目:你需要知道的有關(guān)Kubernetes 1.23版的更新都在這里
文章來源:http://www.dlmjj.cn/article/dpjgdcd.html