k8s API簡介

概述

我們知道用kubectl管理k8s的時候可以使用yaml文件,在這些配置文件的定義里面會有一個apiVersion字段,這個字段指明了要使用的API版本,最新的k8s API版本是v1.18.0,地址:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18

里面可以看到對于Deployment資源,它對應的分組是apps,版本是v1,所以我們的yaml文件里面就需要這樣寫:apiVersion: apps/v1;對于Namespace資源,它對應的分組是core,版本是v1,core是可以省略的,所以我們的yaml文件里面可以這樣寫:apiVersion: v1

資源對象

資源對象通常有3個組成部分:

  • metadata:這是關(guān)于資源的元數(shù)據(jù),比如它的名稱、類型、api版本、注釋和標簽。
  • spec:這是由用戶定義的希望系統(tǒng)最終達到的狀態(tài),比如啟動多少個replica、cpu和內(nèi)存的限制等等。
  • status:系統(tǒng)的當前狀態(tài),由服務器去更新。

資源的操作

資源通常有這幾種操作:創(chuàng)建(Create),更新(Update),讀取(Read),刪除(Delete)。其中更新又分為替換(Replace)和打補丁(Patch),區(qū)別是替換是把整個spec替換掉,會有樂觀鎖保證讀寫安全;打補丁則是修改某些指定的字段,沒有鎖,最后一次寫會成功。

有部分資源還會支持下列操作:

  • Rollback: 將PodTemplate回滾到以前的版本。
  • Read / Write Scale: 讀取或更新資源的副本數(shù)量。
  • Read / Write Status: 讀取或更新資源對象的狀態(tài)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容