自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

[[442113]]

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

Kubernetes API

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

Kubectl事件命令

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

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

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

將HPA API升級(jí)為一般可用性

Horizontal Pod Autoscaler(HPA)是Kubernetes的核心組件,可以根據(jù)各項(xiàng)指標(biāo)自動(dòng)擴(kuò)展Pod的數(shù)量。HPA可以擴(kuò)展或縮減的資源包括:副本集、部署、以及CPU利用率等眾所周知的指標(biāo)狀態(tài)集。自2015年以來(lái),它一直是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á)式語(yǔ)言

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

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

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

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

臨時(shí)容器

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

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

  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版本中被升級(jí)為beta版。如果您尚未試用它的話,我建議您最好創(chuàng)建各種調(diào)試容器的鏡像,并在自己的工具箱中包含kubectl debug命令。

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

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

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

貯存

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

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

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

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

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

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

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

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

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

安全性

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

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

小結(jié)

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

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

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

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

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2021-12-09 08:16:40

JVM參數(shù)系統(tǒng)

2020-12-23 09:00:00

開(kāi)發(fā)Web工具

2020-06-02 07:00:00

會(huì)話安全黑客攻擊

2017-08-29 11:21:03

微軟

2022-09-22 08:00:00

API開(kāi)發(fā)數(shù)據(jù)

2020-08-26 13:41:37

JDK 10版本Java

2021-05-17 07:04:07

動(dòng)態(tài)代理面試

2021-11-01 08:00:00

Java異常處理開(kāi)發(fā)

2020-08-12 09:32:31

小米MIUI

2021-02-01 08:39:26

JTAG接口Jlink

2019-01-24 08:19:17

云服務(wù)多云云計(jì)算

2021-07-01 09:00:00

安全數(shù)字化轉(zhuǎn)型滲透

2016-03-01 16:14:32

問(wèn)問(wèn)應(yīng)用商店Android Wea

2024-07-02 11:16:21

2019-11-04 09:07:48

DevOps互聯(lián)網(wǎng)IT

2023-09-11 08:51:23

LinkedList雙向鏈表線程

2021-06-17 13:40:47

區(qū)塊鏈比特幣公有鏈

2021-07-19 08:33:56

時(shí)間復(fù)雜度大O

2020-12-08 11:08:55

時(shí)間復(fù)雜度軟件

2013-05-27 09:33:13

Windows 8.1
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)