女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

K8S API資源對象-CRD介紹

阿銘linux ? 來源:阿銘linux ? 2023-08-08 10:21 ? 次閱讀

在Kubernetes中,像Pod、Service和Deployment這樣的資源是由內置的資源類型如Pod、Service和Deployment表示的。

而CustomResourceDefinition(CRD)允許你定義和創建自己的資源類型,以滿足您的應用程序或基礎設施需求。

一旦定義了CRD,可以通過Kubernetes API服務器創建和管理自定義資源的實例,就像處理任何其他本機資源一樣。

這意味著您可以使用熟悉的Kubernetes工具如kubectl或Kubernetes控制器與管理您的自定義資源進行交互。

CRD提供了一種擴展Kubernetes平臺以適應特定要求的方式,并能夠構建自定義的運算符或控制器來自動化管理自定義資源。

運算符可以監視自定義資源的更改并相應地采取操作,例如提供額外的資源、擴展或執行自定義操作。

CRD已成為擴展Kubernetes的流行機制,在Kubernetes生態系統中的各種項目和框架中廣泛使用,如Prometheus、Istio和Knative。 示例:

cat > crd-example.yaml << EOF
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: myresources.example.com
spec:
  group: example.com
  versions:
    - name: v1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          description: Define CronTab YAML Spec
          type: object
          properties:
            spec:
              type: object
              properties:
                name:
                  type: string
                age:
                  type: integer
  scope: Namespaced
  names:
    plural: myresources
    singular: myresource
    kind: MyResource
    shortNames:
      - mr
EOF

說明:

和我們定義普通的資源對象比較類似,這里可以隨意定義一個自定義的資源對象,但是在創建資源的時候,肯定不是任由我們隨意去編寫 YAML 文件的,當我們把上面的 CRD 文件提交給 Kubernetes 之后,Kubernetes 會對我們提交的聲明文件進行校驗,從定義可以看出 CRD 是基于 OpenAPI v3 schem 進行規范的。

apiVersion:指定所使用的 CRD API 的版本,此示例使用了 apiextensions.k8s.io/v1 版本。

kind:定義資源類型為 CustomResourceDefinition。

metadata:定義元數據,其中 name 字段指定了 CRD 的名稱為 myresources.example.com。

spec:定義了 CRD 的規范。

group:指定 CRD 所屬的 API 組,此示例中為 example.com。

versions:定義 CRD 的版本列表。

name:指定版本的名稱,此示例中為 v1。

served:指定此版本是否由 API 服務器提供服務,設為 true 表示提供服務。

storage:指定此版本是否持久化存儲數據,設為 true 表示持久化存儲。

openAPIV3Schema:指定自定義資源的 OpenAPI v3 架構定義

type:定義類型

properties:定義對象屬性

name/age:自定義具體屬性的名字

scope:指定資源的作用域,此示例中為 Namespaced,表示資源在命名空間級別進行管理。

names:定義了資源的名稱相關信息。

plural:指定資源的復數形式名稱,此示例中為 myresources。

singular:指定資源的單數形式名稱,此示例中為 myresource。

kind:指定資源的類型名稱,此示例中為 MyResource。

shortNames:指定資源的縮略名稱列表,此示例中只包含一個縮略名稱 mr。

應用

kubectl apply -f crd-example.yaml
查看crd
kubectl get crd
一旦創建完自定義的CRD,那么就會生成一個自定義的API
/apis/example.com/v1/namespaces/*/myresources/...
創建自定義資源實例,基于前面CRD定義的資源
cat > myresource-instance.yaml <
應用
kubectl apply -f myresource-instance.yaml
查看MyResource
kubectl get MyResource  #或者用短名稱
kubectl get mr

以上定義的CRD,僅僅是寫入到了etcd中,并沒有其它用處,要想讓它有進一步作用,還得去定義Controller

而Controller更多的是開發范疇的事情,咱們暫時先不涉及。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    16959

    瀏覽量

    182856
  • 存儲器
    +關注

    關注

    38

    文章

    7632

    瀏覽量

    166370
  • CRD
    CRD
    +關注

    關注

    0

    文章

    14

    瀏覽量

    4117
  • YAML
    +關注

    關注

    0

    文章

    21

    瀏覽量

    2437

原文標題:K8S API資源對象--CRD

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    OpenStack與K8s結合的兩種方案的詳細介紹和比較

    OpenStack與K8S結合主要有兩種方案。一是K8S部署在OpenStack平臺之上,二是K8S和OpenStack組件集成。
    的頭像 發表于 10-14 09:38 ?2.8w次閱讀

    如何使用kubernetes client-go實踐一個簡單的與K8s交互過程

    【導讀】Kubernetes項目使用Go語言編寫,對Go api原生支持非常便捷。 本篇文章介紹了如何使用kubernetes client-go實踐一個簡單的與K8s交互過程
    的頭像 發表于 02-02 11:16 ?7196次閱讀
    如何使用kubernetes client-go實踐一個簡單的與<b class='flag-5'>K8s</b>交互過程

    Docker不香嗎為什么還要用K8s

    Docker 雖好用,但面對強大的集群,成千上萬的容器,突然感覺不香了。 這時候就需要我們的主角 Kubernetes 上場了,先來了解一下 K8s 的基本概念,后面再介紹實踐,由淺入深步步為營
    的頭像 發表于 06-02 11:56 ?3634次閱讀

    簡單說明k8s和Docker之間的關系

    這篇文章主要介紹k8s和Docker關系簡單說明,本文利用圖文講解的很透徹,有需要的同學可以研究下 最近項目用到kubernetes(以下簡稱k8sk
    的頭像 發表于 06-24 15:48 ?3650次閱讀

    K8S集群服務訪問失敗怎么辦 K8S故障處理集錦

    問題1:K8S集群服務訪問失敗? ? ? 原因分析:證書不能被識別,其原因為:自定義證書,過期等。 解決方法:更新證書即可。 問題2:K8S集群服務訪問失敗? curl: (7) Failed
    的頭像 發表于 09-01 11:11 ?1.6w次閱讀
    <b class='flag-5'>K8S</b>集群服務訪問失敗怎么辦 <b class='flag-5'>K8S</b>故障處理集錦

    K8S(kubernetes)學習指南

    K8S(kubernetes)學習指南
    發表于 06-29 14:14 ?0次下載

    CRD的概念及使用

    CRD的全稱為 CustomResourceDefinitions,即自定義資源k8s擁有一些內置的資源,比如說Pod,Deployment,ReplicaSet等等,而
    的頭像 發表于 09-07 09:49 ?5845次閱讀

    k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres

    k8s是什么意思? kubernetes簡稱K8s,是一個開源的,用于管理云平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單并且高效(powerful
    發表于 07-19 13:14 ?1282次閱讀

    什么是K3sK8sK3sK8s有什么區別?

    Kubernetes,通常縮寫為 K8s,是領先的容器編排工具。該開源項目最初由 Google 開發,幫助塑造了現代編排的定義。該系統包括了部署和運行容器化系統所需的一切。
    的頭像 發表于 08-03 10:53 ?8212次閱讀

    k8s生態鏈包含哪些技術

    1. Apache APISIX Ingress 定義 ? 在 K8s 生態中,Ingress 作為表示 K8s 流量入口的一種資源,想要讓其生效,就需要有一個 Ingress Controller
    的頭像 發表于 08-07 10:56 ?1463次閱讀
    <b class='flag-5'>k8s</b>生態鏈包含哪些技術

    K8s多集群管理:為什么需要多集群、多集群的優勢是什么

    隨著K8s和云原生技術的快速發展,以及各大廠商在自己的數據中心使用K8sAPI進行容器化應用編排和管理,讓應用交付本身變得越來越標準化和統一化,并且實現了與底層基礎設施的完全解耦,為多集群和混合云提供了一個堅實技術基礎。
    發表于 09-14 10:48 ?1928次閱讀
    <b class='flag-5'>K8s</b>多集群管理:為什么需要多集群、多集群的優勢是什么

    k8s云原生開發要求

    Kubernetes(K8s)云原生開發對硬件有一定要求。CPU方面,建議至少配備2個邏輯核心,高性能CPU更佳。內存至少4GB,但8GB或更高更推薦。存儲需至少20-30GB可用空間,SSD提升
    的頭像 發表于 10-24 10:03 ?510次閱讀
    <b class='flag-5'>k8s</b>云原生開發要求

    混合云部署k8s集群方法有哪些?

    混合云部署k8s集群方法是首先需在本地與公有云分別建立K8s集群,并確保網絡連接。接著,配置kubeconfig文件連接兩集群,并安裝云服務插件以實現資源互通。然后,編寫Deployment文件部署應用,并使用kubectl命令
    的頭像 發表于 11-07 09:37 ?423次閱讀

    k8s和docker區別對比,哪個更強?

    Docker和Kubernetes(K8s)是容器化技術的兩大流行工具。Docker關注構建和打包容器,適用于本地開發和單主機管理;而K8s則提供容器編排和管理平臺,適用于多主機或云環境,具備自動化
    的頭像 發表于 12-11 13:55 ?535次閱讀

    如何通過Docker和K8S集群實現高效調用GPU

    在有GPU資源的主機安裝,改主機作為K8S集群的Node。
    的頭像 發表于 03-18 16:50 ?363次閱讀
    如何通過Docker和<b class='flag-5'>K8S</b>集群實現高效調用GPU