国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【k8s】5、資源管理命令-聲明式

這篇具有很好參考價值的文章主要介紹了【k8s】5、資源管理命令-聲明式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、 yaml和json介紹

1、yuml語言介紹

2、k8s支持的文件格式

3、yaml和json的主要區(qū)別

二、聲明式對象管理

1、命令式對象配置

2、聲明式對象配置

3、聲明式對象管理命令介紹

三、編寫資源配置清單

1、 編寫yaml文件

2、 啟動并查看資源

3、創(chuàng)建service服務對外提供訪問測試

4、創(chuàng)建并訪問

四、試運行與格式

1、-dry-run:試運行

2、查看生成yaml格式

3、查看生成的json格式

4、使用yaml格式導出生成的模板

5、使用yaml模板創(chuàng)建實例

6、將現(xiàn)有資源生成yaml模板導出并保存為文件

7、查看字段幫助信息

五、 資源控制總結(jié)

一、 yaml和json介紹

1、yuml語言介紹

YAML是一個類似XML、JSON的標記性語言,它強調(diào)以數(shù)據(jù)為中心,并不是以標識語言為重點,而YAML本身的定義比較簡單。號稱“一種人性化的數(shù)據(jù)格式語言”。

YAML的語法比較簡單,主要有下面幾個

大小寫敏感
使用縮進標識層級關(guān)系
縮進不允許使用tab,只允許空格(低版本限制)
縮進的空格數(shù)不重要,只要相同層級的元素左對齊即可
“ # ”表示注釋


YAML支持一下幾種數(shù)據(jù)類型

純量: 單個的,不可再分的值
對象: 鍵值對的集合,又稱為映射(mapping)/哈希(bash)/字典(dictionary)
數(shù)組: 一組按次序排列的值,又稱為序列(sequence)/ 列表(list)
?

#純量: 就是指的一個簡單的值,(字符串、布爾值、證書、浮點數(shù)、Null、時間、日期)
1、布爾類型
y1:true(false)

2、整型
y2:123

3、浮點型
y3:3.14

4、null類型
y4:~  (使用~或不寫,可以表示為null)

5、日期類型
y5: 2018-02-17    # 日期必須使用ISO 8601格式,即yyyy-MM-dd

6、時間類型
c6: 2018-02-17T15:02:31+08:00  # 時間使用ISO 8601格式,時間和日期之間使用T連接,最后使用+代表時區(qū)

7、字符串類型
c7: heima     # 簡單寫法,直接寫值 , 如果字符串中間有特殊字符,必須使用雙引號或者單引號包裹 
c8: line1
    line2     # 字符串過多的情況可以拆成多行,每一行會被轉(zhuǎn)化成一個空格

#對象
//形式一
yudeqiang:
  age: 25
  address: nanjing
  
//形式二(了解)
yudeqiang: {age: 15,address: nanjing}
#數(shù)組
//形式一
address:
  - nanjing
  - beijing

//形式二(了解)
address: [nanjing,beijing]

注意點:

  • 書寫yaml切記 【 : 】和【-】后面要加空格
  • 如果要將多段yaml配置放在一個文件中,中間要使用—分隔
  • yaml轉(zhuǎn)json格式網(wǎng)站:[https://www.json2yaml.com/convert-yaml-to-json](

2、k8s支持的文件格式

kubernetes支持YAML和JSON文件格式管理資源對象。

  • JSON格式:只要勇于api接口之間消息的傳輸。
  • YAML格式:勇于配置和管理,TAML是一中簡介的非標記性語言,內(nèi)容格式人性化,較易讀。

3、yaml和json的主要區(qū)別

YAML使用空格縮進,這是Python開發(fā)人員熟悉的領域。

javaScript開發(fā)人員喜歡JSON,因為它是Java Script的一個子集,可以直接在JavaScript中解釋和編寫,同時使用簡寫方式申明JSON,在使用沒有空格的典型變量名時,不需要鍵中的雙引號。

有很多解釋器在YAML和JSON的左右語言中都能很好的工作。

在需要請款下,YAML的空白格式可以更擴容器查看,因為將誒格式化需要更人性化的方法。

如果您的編輯器中沒有空格可見或縮進線指示符,那么 YAML 的空白雖然更緊湊,更容易查看,但可能難以手動編輯。

JSON 的序列化和反序列化要快得多,因為要檢查的功能明顯少于 YAML,這使得更小更輕的代碼能夠處理 JSON。

一個常見的誤解是 YAML 需要較少的標點符號并且比 JSON更緊湊,但這完全是錯誤的。空格是不可見的,所以看起來字符較少,但是如果你計算實際的空格是必要的,以便正確解釋 YAML以及正確的縮進,你會發(fā)現(xiàn) YAML 實際上需要比 JSON 更多的字符。JSON不使用空格來表示層次結(jié)構(gòu)或分組,并且可以通過刪除不必要的空格來輕松展平,以實現(xiàn)更緊湊的傳輸。
?

二、聲明式對象管理

1、命令式對象配置

命令式對象配置就是使用命令配合配置文件一起來操作kubernetes資源

①創(chuàng)建一個nginxpod.yaml文件。

apiVersion: v1
kind: Namespace
metadata:
  name: dev

---

apiVersion: v1
kind: Pod
metadata:
  name: nginxpod
  namespace: dev
spec:
  containers:
  - name: nginx-containers
    image: nginx:latest

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

②創(chuàng)建資源、查看、刪除等操作

kubectl create -f nginxpod.yaml
#基于yaml創(chuàng)建一個資源

kubectl get -f nginxpod.yaml
#基于yaml文件查看

kubectl delete -f nginxpod.yaml
#基于yaml文件刪除資源

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

#總結(jié)
命令式對象配置的方式操作資源,可以簡單認為:命令 + yaml配置文件(里面是命令需要的各種參數(shù))

2、聲明式對象配置

聲明式對象配置跟命令式對象配置很相似,但是它只有一個命令apply。

//還是基于前面的nginxpod.yaml文件演示

kubectl apply -f nginxpod.yaml
#創(chuàng)建資源

kubectl apply -f nginxpod.yaml
#再執(zhí)行一次操作,看返回什么信息

####此時修改nginxpod.yaml文件的nginx的版本號,然后再執(zhí)行

kubectl apply -f nginxpod.yaml
#再次查看返回結(jié)果

kubectl describe pods pod -n dev
#查看詳細過程

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

node01節(jié)點查看

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

#總結(jié)
//其實申明對象配置就是使用apply描述一個資源最終的狀態(tài)(在yaml中定義)

使用apply操作資源
- 如果資源不存在,就創(chuàng)建,相當于kubectl create
- 如果資源存在,就更新,相當于kubectl patch

3、聲明式對象管理命令介紹

kubectl get deployment/nginx  -o yaml
#查看pod控制器中的nginx格式,(就是以yaml的格式顯示出來)

kubectl get svc nginx-service -o yaml
#查看service中的nginx格式

kubectl explain deployment
#顯示deployment的相關(guān)規(guī)格

kubectl explain deployment.metadata
#解釋顯示deployment的更詳細的元數(shù)據(jù)(metadata)參數(shù)信息,

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

三、編寫資源配置清單

1、 編寫yaml文件

vim nginx-deployment.yaml
apiVersion: apps/v1		#指定api版本標簽
kind: Deployment		#定義資源的類型/角色,deployment為副本控制器,此處資源類型可以是Deployment、Job、Ingress、Service等
metadata:					#定義資源的元數(shù)據(jù)信息,比如資源的名稱、namespace、標簽等信息
  name: nginx-deployment	#定義資源的名稱,在同一個namespace空間中必須是唯一的
  labels:				#定義Deployment資源標簽
    app: nginx	
spec:					#定義deployment資源需要的參數(shù)屬性,諸如是否在容器失敗時重新啟動容器的屬性
  replicas: 3			#定義副本數(shù)量
  selector:				#定義標簽選擇器
    matchLabels:		#定義匹配標簽
      app: nginx		#需與 .spec.template.metadata.labels 定義的標簽保持一致
  template:				#定義業(yè)務模板,如果有多個副本,所有副本的屬性會按照模板的相關(guān)配置進行匹配
    metadata:
      labels:           #定義Pod副本將使用的標簽,需與 .spec.selector.matchLabels 定義的標簽保持一致
        app: nginx
    spec:
      containers:				#定義容器屬性
      - name: nginx				#定義一個容器名,一個 - name: 定義一個容器
        image: nginx:1.15.4		#定義容器使用的鏡像以及版本
        ports:
        - containerPort: 80		#定義容器的對外的端口
        
---------------------------------------------------------------
vim nginx-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
         app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.15.4
        ports:
        - containerPort: 80

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

2、 啟動并查看資源

kubectl apply -f nginx-deployment.yaml

kubectl get deployment

kubectl get pods

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

3、創(chuàng)建service服務對外提供訪問測試

vim nginx-service.yaml

apiVersion: v1  
kind: Service  
metadata:
  name: nginx-service
  labels:
    app: nginx  
spec:
  type: NodePort  
  ports:
  - port: 80
    targetPort: 80  
  selector:
    app: nginx

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

4、創(chuàng)建并訪問

kubectl create -f nginx-service.yaml

kubectl get svc

//網(wǎng)頁訪問
http:20.0.55:31603

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

四、試運行與格式

1、-dry-run:試運行

  • –dry-run:?表示試運行,不真正執(zhí)行命名(用來測試命令是否正確),即并不會真的創(chuàng)建出pod和deployment實例,去掉該參數(shù)后即可真正執(zhí)行命令。
kubectl create deployment dryrun-test --image=nginx --port=80 replicas=3 --dry-run
#打印相應的API對象而不執(zhí)行創(chuàng)建

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

2、查看生成yaml格式

  • 使用–dry-run試運行可不觸發(fā)生成命令,然后通過 -o yaml 可實現(xiàn)對其 yaml 資源配置清單的查看
kubectl run dryrun-test --image=nginx --port=80  --dry-run -o yaml
#試運行一個pod,并將它的yaml配置格式顯示出來

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

3、查看生成的json格式

  • 可通過-o json 查看該命令產(chǎn)生的json配置清單
kubectl create deployment dryrun-test --image=nginx --port=80 --replicas=3 --dry-run -o json
#試運行一個pod控制器,并顯示的pod的配置信息

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

4、使用yaml格式導出生成的模板

kubectl create deployment dryrun-test --image=nginx --port=80 --replicas=3 --dry-run -o yaml > dryrun-test.yaml
#試運行pod控制器,并以yaml格式顯示出來,將結(jié)構(gòu)追加到指定的yaml文件中

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

5、使用yaml模板創(chuàng)建實例

kubectl apply -f dryrun-test.yaml

kubectl get pods,deployment

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

6、將現(xiàn)有資源生成yaml模板導出并保存為文件

kubectl get deployment dryrun-test -o yaml > export-test.yaml

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

7、查看字段幫助信息

explain 可一層層的查看相關(guān)資源對象的幫助信息

kubectl explain deployments.spec.template.spec.containers

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

五、 資源控制總結(jié)

三種方式應該怎么用?

創(chuàng)建/更新資源,使用聲明式對象配置: kubectl apply -f xxxx.yaml
刪除資源,使用命令式配置: kubectl delete -f xxxx.yaml
查詢資源,使用命令式對象管理: kubectl get(describe) 資源名稱+命令空間
?

#kubectl可以在node節(jié)點上運行嗎?

//kubectl的運行時需要配置的,它的配置文件時$HOME/.kube,如果想要在node節(jié)點運行次命令,需要將master上的.kube目錄復制到node節(jié)點上。

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生

【k8s】5、資源管理命令-聲明式,kubernetes,容器,云原生文章來源地址http://www.zghlxwxcb.cn/news/detail-733802.html

到了這里,關(guān)于【k8s】5、資源管理命令-聲明式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • K8S:kubectl陳述式及聲明式資源管理

    K8S:kubectl陳述式及聲明式資源管理

    (1)kubernetes 集群管理集群資源的唯一入口是通過相應的方法調(diào)用 apiserver 的接口 (2)kubectl 是官方的CLI命令行工具,用于與 apiserver 進行通信,將用戶在命令行輸入的命令,組織并轉(zhuǎn)化為 apiserver 能識別的信息,進而實現(xiàn)管理 k8s 各種資源的一種有效途徑 (3)kubectl 的命令大

    2024年02月09日
    瀏覽(26)
  • kubernetes/k8s配置資源管理

    kubernetes/k8s配置資源管理

    配置資源管理 Secret Configmap*.1.2加入新特征 1.18 Secret:保存密碼,token,敏感的k8s資源 這類數(shù)據(jù)可以存放在鏡像當中,但是防止secret可以更方便的控制,減少暴漏風險。 保存加密的信息 Secret的類型: docker-registry:存儲docker倉庫認證信息,以及docker組件的認證信息(私有的) generic:是

    2024年01月17日
    瀏覽(24)
  • (kubernetes)k8s常用資源管理

    (kubernetes)k8s常用資源管理

    目錄 k8s常用資源管理 1、創(chuàng)建一個pod 1)創(chuàng)建yuml文件 2)創(chuàng)建容器 3)查看所有pod創(chuàng)建運行狀態(tài) 4)查看指定pod資源 5)查看pod運行的詳細信息 6)驗證運行的pod 2、pod管理 1)刪除pod 2)查看刪除pod無法找到 3)創(chuàng)建pod 4)發(fā)現(xiàn)最先創(chuàng)建的pod運行在k8s-master節(jié)點上,下載鏡像速度太

    2024年02月13日
    瀏覽(52)
  • yum部署kubernetes(k8s)集群、k8s常用資源管理

    目錄 一、環(huán)境搭建 1、準備環(huán)境 1)計算機說明,建議系統(tǒng)版本7.4或者7.6 2)修改所有主機的計算機名設置host文件 ?2、安裝master節(jié)點 1)安裝etcd配置etcd 2)安裝k8s-master節(jié)點 3)配置apiserver 4)配置controller和scheduler 5)啟動k8s服務 3、安裝k8s-master上的node 1)安裝node 2)配置kube

    2024年02月13日
    瀏覽(34)
  • 云原生Kubernetes:K8S配置資源管理

    云原生Kubernetes:K8S配置資源管理

    目錄 一、理論 1.Secret 2.Secret創(chuàng)建 3.Secret使用 4.Configmap 5.Configmap創(chuàng)建 6.Configmap使用 二、實驗 1.Secret創(chuàng)建 2.Secret使用 3.Configmap創(chuàng)建 4.Configmap使用 三、問題 1.變量引用生成資源報錯 2.查看pod日志失敗 3.創(chuàng)建configmap報錯 4.YAML創(chuàng)建configmap報錯 5. 生成資源報錯 6.文件掛載pod報錯Error 四

    2024年02月07日
    瀏覽(25)
  • k8s 資源管理及查看命令

    ?關(guān)注 迪答數(shù)據(jù) 公眾號獲取更多 技術(shù)/數(shù)據(jù) 干貨文章? 文章傳送門:數(shù)據(jù)治理之指標體系管理 參考文檔: Kubernetes? Managing Compute Resources for Containers(opens new window) https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ 在 Kubernetes 中創(chuàng)建工作負載時,您可以為 Pod 中

    2024年02月02日
    瀏覽(18)
  • 【K8s】 資源管理命令-陳述式

    【K8s】 資源管理命令-陳述式

    1、資源管理概念 在kubernetes中,所有的內(nèi)容都抽象為資源,用戶需要通過操作資源來管理kubernetes //kubernetes的本質(zhì)就是一個集群系統(tǒng),用戶可以在集群中部署各種服務,起始就是在kubernetes集群中運行一個個容器,并將指定的程序跑在容器中。 kubernetes的最小管理單元是pod而不

    2024年02月07日
    瀏覽(22)
  • k8s資源管理命令與Namespace使用詳解

    目錄 一、前言 二、k8s概述 三、k8s常用操作管理命令 3.1 kubectl 命令用法

    2023年04月16日
    瀏覽(22)
  • Kubernetes(K8s)與虛擬GPU(vGPU):實現(xiàn)高效管理和利用GPU資源的最佳實踐

    目錄 第一節(jié):Kubernetes簡介 第二節(jié):虛擬GPU(vGPU)簡介 第三節(jié):Kubernetes中的GPU資源管理 第四節(jié):虛擬GPU(vGPU)的部署和配置 第五節(jié):GPU資源調(diào)度和負載均衡 第六節(jié):GPU資源監(jiān)控和調(diào)優(yōu) 結(jié)論: 可先閱讀一下參考: kubernetes如何將異構(gòu)GPU(如NVIDIA、海光、寒武紀)統(tǒng)一協(xié)同

    2024年04月13日
    瀏覽(31)
  • 【K8S 】K8S配置資源管理

    【K8S 】K8S配置資源管理

    1、概念 用來保存密碼。token,敏感的K8S資源 這類數(shù)據(jù)可以直接存放在鏡像中,但是放在Secret中可以更方便的控制,減少暴露的風險 Secret:保存加密的信息 2、Secret類型: docker-registry:存儲docker倉庫的認證信息,以及docker的組件認證信息(私有) generic:是Secret的默認模式,

    2024年01月17日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包