本篇內(nèi)容介紹了“Kubernetes1.5的新功能介紹”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
站在用戶的角度思考問題,與客戶深入溝通,找到奎文網(wǎng)站設(shè)計(jì)與奎文網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋奎文地區(qū)。主題簡(jiǎn)介
1、StatefulSets (原名PetSets)
StatefulSets 現(xiàn)在是 beta 版 (主要是修復(fù)和穩(wěn)定性)
2、改善聯(lián)邦支持
新命令:kubefed DaemonSets 部署 Configmaps
3、簡(jiǎn)化集群部署
改進(jìn)kubeadm Master的HA設(shè)置
4、節(jié)點(diǎn)魯棒性及可擴(kuò)展性
支持Windows Service容器 實(shí)現(xiàn)了CRI(容器運(yùn)行時(shí)接口) 添加kubelet API調(diào)用時(shí)身份驗(yàn)證和授權(quán)
新特性簡(jiǎn)介
1、API 機(jī)制
[beta] kube-apiserver支持OpenAPI從alpha移動(dòng)到beta, 第一個(gè)non-go客戶端是基于此特性。
2、應(yīng)用
[Stable]當(dāng)replica sets不能創(chuàng)建Pods時(shí),它們將通過API報(bào)告失敗的詳細(xì)底層原因。 [Stable] kubectl apply現(xiàn)可通過–prune刪除不再需要的資源 [beta] Deployments現(xiàn)可通過API升級(jí)到新版本,而之前是無法通過滾動(dòng)來進(jìn)行升級(jí)的 [beta] StatefulSets允許要求持久化identity或單實(shí)例存儲(chǔ)的工作負(fù)載從而在Kubernetes創(chuàng)建和管理。 [beta]為了提供安全保障,集群不會(huì)強(qiáng)行刪除未響應(yīng)節(jié)點(diǎn)上的Pods,如果用戶通過CLI強(qiáng)行刪除Pods會(huì)收到警告。
3、認(rèn)證
[Alpha]改進(jìn)了基于角色的訪問控制alpha API。(包括一組默認(rèn)的集群角色) [Beta]添加了對(duì)Kubelet API訪問的認(rèn)證/授權(quán)機(jī)制。
4、AWS
[stable]角色出現(xiàn)在kubectl get nodes的結(jié)果里。
5、集群生命周期
[alpha] 提升了kubeadm二進(jìn)制包的交互和可用性,從而更易于新建一個(gè)運(yùn)行集群。
6、集群運(yùn)維
[alpha] 在GCE上使用kube-up/kube-down腳本來創(chuàng)建/移除集群高可用(復(fù)制)的主節(jié)點(diǎn)。
7、聯(lián)邦
[beta] 支持聯(lián)邦ConfigMaps。 [alpha] 支持聯(lián)邦Daemonsets。 [alpha] 支持聯(lián)邦Deployments。 [alpha]集群聯(lián)邦:為聯(lián)邦資源添加對(duì)于DeleteOptions.OrphanDependents的支持。 [alpha]引入新命令行工具:kubefed,簡(jiǎn)化聯(lián)邦控制臺(tái)的部署以及集群注冊(cè)/注銷體驗(yàn)。
8、網(wǎng)絡(luò)
[stable]服務(wù)可以通過DNS名稱被其他服務(wù)引用,而不是只有在pods里才可以。 [beta]為NodePort類型和LoadBalancer的服務(wù)保留源IP的選項(xiàng)。 [stable]啟用beta ConfigMap參數(shù)支持的DNS水平自動(dòng)伸縮
9、節(jié)點(diǎn)
[alpha]支持在容器運(yùn)行時(shí)啟用用戶命名空間重映射的時(shí)候,保留對(duì)宿主用戶命名空間的訪問。 [alpha]引入了v1alpha1版本的CRI(容器運(yùn)行時(shí)接口) API,它允許可插拔的容器運(yùn)行時(shí);現(xiàn)有一個(gè)已經(jīng)就緒的用于測(cè)試和反饋的docker-CRI集成。 [alpha]Kubelet基于QoS層在每個(gè)Pod的CGroup層級(jí)里啟動(dòng)容器。 [beta]Kubelet集成了memcg提示消息API,來檢測(cè)是否超過閾值。 [beta]引入了Beta版本的容器化節(jié)點(diǎn)一致性測(cè)試: gcr.io/google_containers/node-test:0.2。從而讓用戶驗(yàn)證node設(shè)置。
10、調(diào)度
[alpha]添加了對(duì)不透明整數(shù)資源(node級(jí))的審計(jì)支持。 [beta] PodDisruptionBudget已經(jīng)升級(jí)到Beta版,當(dāng)想要應(yīng)用SLO時(shí),可以用來安全地drain節(jié)點(diǎn)。
11、UI
[stable]Dashboard UI如今顯示面向用戶的對(duì)象及它們的資源使用情況。
12、Windows
[alpha]添加了對(duì)Windows Server 2016節(jié)點(diǎn)和調(diào)度Windows Server Container的支持。 已知問題 CRI已知問題及限制。 當(dāng)volume路徑包含空格時(shí),DeviceNameFromMount()函數(shù)不能正確的返回volume路徑。 聯(lián)邦alpha版的特性不具有特征定義,因此默認(rèn)啟用,在未來的版本中將修復(fù)這一問題。 聯(lián)邦控制面板可通過更新控制面板組件Deployment規(guī)格的鏡像字段來進(jìn)行升級(jí),然而在該版本中聯(lián)邦控制面板升級(jí)尚未進(jìn)行測(cè)試。
重大改變
1、節(jié)點(diǎn)控制器不再強(qiáng)行刪除來源于apiServer的pods
對(duì)于有狀態(tài)的應(yīng)用StatefulSet(原名為 PetSet)而言,這個(gè)改動(dòng)意味著創(chuàng)建替換的Pods被阻塞,直到舊的Pods確定不再運(yùn)行(意味著kubelet從分區(qū)返回,Node對(duì)象的刪除,云服務(wù)商里實(shí)例的刪除,或強(qiáng)行刪除api-Server里的Pod)。這里通過確保不可達(dá)的Pod不會(huì)被認(rèn)為已經(jīng)死亡來防止集群應(yīng)用出現(xiàn)“腦裂”的狀況,除非一些“包圍”操作提供了上述之一的情況。
對(duì)于其他現(xiàn)有的除StatefulSet外的控制器,這對(duì)于控制器替換Pods沒有影響,因?yàn)榭刂破鞑粫?huì)重用Pods名稱(他們使用generate-name)用戶編寫的控制器會(huì)重用Pod對(duì)象的名稱,應(yīng)該考慮這個(gè)變化。
當(dāng)使用kubectl delete … –grace-period=0 刪除一個(gè)對(duì)象時(shí),客戶端將開始進(jìn)行優(yōu)雅的刪除并等待,直到資源完全被刪除。要立即強(qiáng)制刪除,使用–force 標(biāo)志。這可以防止用戶不小心讓兩個(gè)Stateful Set共享可能導(dǎo)致數(shù)據(jù)損壞的相同的持久存儲(chǔ)。
2、允許匿名API服務(wù)器的訪問,通過授權(quán)組系統(tǒng)設(shè)置認(rèn)證的用戶
kube-apiserver添加了–anonymous-auth 標(biāo)志,默認(rèn)為true。當(dāng)它啟用時(shí),訪問安全端口的請(qǐng)求不會(huì)被其他配置的認(rèn)證方法所拒絕,這些請(qǐng)求被當(dāng)做匿名請(qǐng)求,并且用戶名為system:anonymous,組織為system:unauthenticated。
認(rèn)證的用戶被設(shè)為system:authenticated組。
3、即使路徑是用于類型的有效字段,如果路徑在json文件下不提供字段,kubectl get -o jsonpath=… 將拋出一個(gè)錯(cuò)誤。這個(gè)改變從pre-1.5版本開始,即使他們目前不在 json文件下,也會(huì)返回一些字段的默認(rèn)值。
4、對(duì)于VolumeMounts的strategicmerge patchMergeKey是由“名稱”到“mountPath”的改變。這是必要的,因?yàn)槊Q字段引用Volume的名稱,并且不是VolumeMount的唯一鍵。如果安裝多個(gè)相同的volume,多個(gè)VolumeMounts將有同樣的 Volume名稱。“mountPath”是獨(dú)一無二的,并可以作為mergekey。
升級(jí)前注意事項(xiàng)
1、升級(jí)前重要的安全相關(guān)改變
必須在kube-apiserver設(shè)置–anonymous-auth=false參數(shù),除非你是一個(gè)測(cè)試該功能的開發(fā)者并且了解它。如果不這樣,你會(huì)允許未經(jīng)授權(quán)的用戶訪問你的apiserver。
必須在聯(lián)邦apiserver設(shè)置–anonymous-auth=false參數(shù),除非你是一個(gè)測(cè)試該功能的開發(fā)者并且了解它。如果不這樣,你會(huì)允許未經(jīng)授權(quán)的用戶訪問你的聯(lián)邦apiserver。你不需要調(diào)整kublete的該參數(shù):1.4的Kubelet APIs沒有授權(quán)。
2、batch/v2alpha1.ScheduledJob被重命名為batch/v2alpha1.CronJob。
3、PetSet被重命名為StatefulSet。如果你現(xiàn)在有PetSets,你要在升級(jí)為StatefulSets前后進(jìn)行一些額外的遷移操作。
4、如果你從v1.4.x升級(jí)你的集群聯(lián)邦組件,請(qǐng)更新你的federation-apiserver和federation-controller-manager到新版本。
5、廢棄的kubelet –configure-cbr0參數(shù)被移除。經(jīng)典的網(wǎng)絡(luò)模式也是。如果你依賴于此模式,請(qǐng)調(diào)研其他的網(wǎng)絡(luò)插件kubenet或cni是否滿足需求。
6、新的client-go結(jié)構(gòu),參考kubernetes/client-go進(jìn)行版本控制策略。
“Kubernetes1.5的新功能介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!