在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CRD的概念及使用

馬哥Linux運(yùn)維 ? 來(lái)源:staight.github.io ? 作者:staight.github.io ? 2022-09-07 09:49 ? 次閱讀

什么是CRD

CRD的全稱為 CustomResourceDefinitions,即自定義資源。k8s擁有一些內(nèi)置的資源,比如說(shuō)Pod,Deployment,ReplicaSet等等,而CRD則提供了一種方式,使用戶可以自定義新的資源,以擴(kuò)展k8s的功能。使用CRD可以在不修改k8s源代碼的基礎(chǔ)上方便的擴(kuò)展k8s的功能,比如騰訊云TKE使用CRD:logcollectors.ccs.cloud.tencent.com以添加日志收集服務(wù),而Istio也大量使用到了CRD。值得一提的是,另一種擴(kuò)展k8s的方式是apiservice,通過(guò)API:metrics.k8s.io自定義HPA是其最典型的應(yīng)用。可以使用kubectl api-resources命令查看集群中已定義的資源:

	
[root@node k8s]# kubectl api-resources NAME                              SHORTNAMES   APIGROUP                       NAMESPACED   KINDconfigmaps                        cm                                          true         ConfigMapendpoints                         ep                                          true         Endpointsevents                            ev                                          true         Eventnamespaces                        ns                                          false        Namespacepersistentvolumes                 pv                                          false        PersistentVolumepods                              po                                          true         Podpodtemplates                                                                  true         PodTemplatestorageclasses                    sc           storage.k8s.io                 false        StorageClass...
從如上輸出中可以略窺一二,CRD至少包括如下屬性:
  • NAME:CRD的復(fù)數(shù)名稱
  • SHORTNAMES:cli中使用的資源簡(jiǎn)稱
  • APIGROUP:API所使用的組名稱
  • NAMESPACED:是否具有namespace屬性
  • KIND:資源文件需要,用以識(shí)別資源
另外,CRD提供了定義資源的方式,不過(guò)想要讓其具有實(shí)際意義還需控制器的配合。k8s的kube-controller-manager組件提供了多種內(nèi)置控制器,比如說(shuō):cronjobdaemonsetdeploymentnamespace等等,它們監(jiān)聽(tīng)資源的創(chuàng)建/更新/刪除,且做出相應(yīng)的動(dòng)作。而對(duì)于CRD來(lái)說(shuō),也可以編寫(xiě)相應(yīng)的控制器來(lái)完成對(duì)應(yīng)的功能。

CRD使用

在k8s中CRD本身也是資源,大于1.7.0版本的集群可以使用apiextensions.k8s.io/v1beta1API訪問(wèn)CRD,大于1.16.0版本則可以使用apiextensions.k8s.io/v1API

創(chuàng)建CRD

CRD資源文件示例:


	
# crd-test.ymlapiVersion: apiextensions.k8s.io/v1beta1kind: CustomResourceDefinitionmetadata:  # 名稱必須符合如下格式:.  name: crontabs.staight.k8s.iospec:  # 組名,表示使用該API: /apis//  group: staight.k8s.io  # version列表,表示該CRD支持的版本  versions:    - name: v1      # 開(kāi)啟/關(guān)閉該API      served: true      # 有且只能有一個(gè)版本要將storage設(shè)置為true      storage: true  # Namespaced/Cluster,表示該CRD是命令空間屬性還是集群屬性  scope: Namespaced  names:    # API中使用的名稱:/apis///    plural: crontabs    # 單數(shù)名稱,cli中使用    singular: crontab    # 往往是首字母大寫(xiě)的單數(shù)名稱,資源文件中需要用到    kind: CronTab    # cli中的簡(jiǎn)稱    shortNames:    - ct  # 阻止無(wú)法識(shí)別的字段,集群版本1.15以上才可使用  preserveUnknownFields: false  # 創(chuàng)建資源文件時(shí)需驗(yàn)證的字段  validation:    openAPIV3Schema:      type: object      properties:        spec:          type: object          properties:            cronSpec:              type: string            image:              type: string            replicas:              type: integer

然后創(chuàng)建該CRD:


	
[root@node k8s]# kubectl create -f crd-test.yml customresourcedefinition.apiextensions.k8s.io/crontabs.staight.k8s.io created

接著就能查到該CRD:


	
[root@node k8s]# kubectl get crd crontabs.staight.k8s.ioNAME                      CREATED ATcrontabs.staight.k8s.io   2019-10-08T1009Z

CRD創(chuàng)建完成。可以通過(guò)URL:https://169.254.128.15:60002/apis/staight.k8s.io/v1/namespaces/default/crontabs訪問(wèn)到crontab資源。

創(chuàng)建自定義對(duì)象

在創(chuàng)建CRD之后,即可創(chuàng)建其資源的對(duì)象了。資源文件示例:

	
# crontab.ymlapiVersion: "staight.k8s.io/v1"kind: CronTabmetadata:  name: new-crontabspec:  cronSpec: "* * * * *"  image: new-image

注意spec中的字段應(yīng)符合CRD的要求,創(chuàng)建它:


	
[root@node k8s]# kubectl create -f crontab.yml crontab.staight.k8s.io/new-crontab created

接著即可看到該對(duì)象:


	
[root@node k8s]# kubectl get crontabNAME          AGEnew-crontab   28s

小結(jié)

  • CRD用來(lái)自定義資源,是擴(kuò)展k8s最常用的方式。

  • 只創(chuàng)建CRD并沒(méi)有實(shí)際意義,想要CRD工作還需創(chuàng)建控制器,監(jiān)聽(tīng)資源變動(dòng)并做出相應(yīng)動(dòng)作。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 資源
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    17832
  • CRD
    CRD
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    4041
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    227

    瀏覽量

    8757

原文標(biāo)題:如何用 Kubernetes 自定義資源?一文聊聊 CRD

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Allegro正負(fù)片的概念及相關(guān)設(shè)置說(shuō)明

     Allegro正負(fù)片的概念及相關(guān)設(shè)置說(shuō)明
    發(fā)表于 05-12 21:22

    中斷的概念及51單片機(jī)的中斷系統(tǒng)

    中斷的概念及51單片機(jī)的中斷系統(tǒng)13-1. 演示范例——聲控小車13-2. 中斷的概念13-3. P89V51RD2單片中斷系統(tǒng)的構(gòu)成 
    發(fā)表于 03-29 10:27

    FPGA與CPLD的概念及其區(qū)別PDF

    FPGA與CPLD的概念及其區(qū)別
    發(fā)表于 08-15 15:46

    串口通訊的概念及接口電路解析,不看肯定后悔

    串口通訊的概念及接口電路解析,不看肯定后悔
    發(fā)表于 05-27 06:01

    USB基本概念及從機(jī)編程方法介紹

    慕課蘇州大學(xué).嵌入式開(kāi)發(fā)及應(yīng)用.第四章.較復(fù)雜通信模塊.USB基本概念及從機(jī)編程方法0 目錄4 較復(fù)雜通信模塊4.4 USB基本概念及從機(jī)編程方法4.4.1 課堂重點(diǎn)4.4.2 測(cè)試與作業(yè)5 下一
    發(fā)表于 11-08 09:14

    嵌入式系統(tǒng)的概念及特點(diǎn)

    文章目錄嵌入式系統(tǒng)概要嵌入式系統(tǒng)的概念及特點(diǎn)嵌入式系統(tǒng)硬件嵌入式系統(tǒng)軟件嵌入式系統(tǒng)的編程模式微控制器的程序開(kāi)發(fā)方式嵌入式系統(tǒng)概要嵌入式系統(tǒng)的概念及特點(diǎn)1. 概念國(guó)外的定義:用于控制、監(jiān)視或者輔助操作
    發(fā)表于 12-22 06:36

    嵌入式系統(tǒng)的概念及特點(diǎn)

    嵌入式系統(tǒng)概要嵌入式系統(tǒng)概要1.嵌入式系統(tǒng)的概念及特點(diǎn)2.嵌入式硬件3.嵌入式系統(tǒng)軟件4.嵌入式系統(tǒng)編程模式5.微控制器的程序開(kāi)發(fā)方式嵌入式系統(tǒng)概要1.嵌入式系統(tǒng)的概念及特點(diǎn)2.嵌入式硬件3.嵌入式系統(tǒng)軟件4.嵌入式系統(tǒng)編程模式5.微控制器的程序開(kāi)發(fā)方式...
    發(fā)表于 12-22 07:21

    相位噪聲和抖動(dòng)的概念及其估算方法

    相位噪聲和抖動(dòng)的概念及其估算方法 時(shí)鐘頻率的不斷提高使相位噪聲和抖動(dòng)在系統(tǒng)時(shí)序上占據(jù)日益重要的位置。本文介其概念及其對(duì)系統(tǒng)性能的影
    發(fā)表于 12-27 13:30 ?2799次閱讀
    相位噪聲和抖動(dòng)的<b class='flag-5'>概念及</b>其估算方法

    地和接地的概念及區(qū)別

    地和接地的概念及區(qū)別 1.地 (1)電氣地 大地是一個(gè)電阻非常低、電容量非常大的物體,擁有吸收無(wú)限電荷的
    發(fā)表于 12-31 11:09 ?3545次閱讀

    基于RF射頻知識(shí)基本概念及DTD無(wú)線產(chǎn)品介紹

    基于RF射頻知識(shí)基本概念及DTD無(wú)線產(chǎn)品介紹
    發(fā)表于 10-25 08:38 ?8次下載
    基于RF射頻知識(shí)基本<b class='flag-5'>概念及</b>DTD無(wú)線產(chǎn)品介紹

    移動(dòng)基站天線有關(guān)概念及選型原則

    移動(dòng)基站天線有關(guān)概念及選型原則概述。
    發(fā)表于 06-16 09:48 ?15次下載

    智能電網(wǎng)的概念及通信技術(shù)詳解

    智能電網(wǎng)的概念及通信技術(shù)詳解
    發(fā)表于 11-21 20:41 ?1291次閱讀

    工業(yè)網(wǎng)絡(luò)通信新概念及FLEX產(chǎn)品介紹

    工業(yè)網(wǎng)絡(luò)通信新概念及FLEX產(chǎn)品介紹
    的頭像 發(fā)表于 03-08 10:57 ?2089次閱讀
    工業(yè)網(wǎng)絡(luò)通信新<b class='flag-5'>概念及</b>FLEX產(chǎn)品介紹

    S參數(shù)的概念及應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《S參數(shù)的概念及應(yīng)用.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 14:29 ?0次下載

    諧波的概念及應(yīng)用

    本文簡(jiǎn)單介紹了諧波的概念及應(yīng)用。
    的頭像 發(fā)表于 10-18 14:14 ?706次閱讀
    諧波的<b class='flag-5'>概念及</b>應(yīng)用
    主站蜘蛛池模板: 三级四级特黄在线观看 | 午夜无码国产理论在线 | 色偷偷视频| 第九色 | 男女爱爱福利 | 欧美性猛交aa一级 | 一区视频免费观看 | 丁香婷婷社区 | 亚洲国产网 | 中文字幕一区二区精品区 | 欧美18性欧美黑吊 | 玖玖激情| 大黄网站在线观看 | 中文字幕三级久久久久久 | 伊人干| 美女扒开尿口给男人捅 | 色之综综| 一级黄色毛片播放 | 特别黄的免费视频大片 | 国产一级一片免费播放视频 | 亚洲国产福利 | 欧美一级艳片视频免费观看 | 夜夜视频 | 一级片a级片 | 黄色美女网站免费 | 国产卡一卡2卡三卡免费视频 | 国产成人亚洲日本精品 | 奇米影视7777 | 亚洲福利视频一区 | 国产亚洲欧美一区二区 | 午夜影视网| 玖玖国产在线观看 | 色欧美在线视频 | 97se狠狠狠狠狼亚洲综合网 | 中文字幕亚洲一区婷婷 | 色天天天天综合男人的天堂 | 日韩欧美一区二区三区视频 | 亚洲国产成a人v在线观看 | 一本到中文字幕高清不卡在线 | 日日爱夜夜爱 | 女同激情视频 |