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

K8S---yaml文件詳解

這篇具有很好參考價值的文章主要介紹了K8S---yaml文件詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、K8S支持的文件格式

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

2、YAML語言格式

二、YAML

1、查看 API 資源版本標(biāo)簽

2、編寫資源配置清單

2.1 編寫 nginx-test.yaml 資源配置清單

2.2 創(chuàng)建資源對象

2.3 查看創(chuàng)建的pod資源

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

3.1 編寫nginx-svc-test.yaml文件

3.2 創(chuàng)建資源對象

3.3 訪問測試

三、詳解K8S中的Port

四、試運(yùn)行生成 yaml 模板后創(chuàng)建實例

1、–dry-run:試運(yùn)行

2、查看生成yaml格式

3、查看生成json格式

4、使用 yaml 格式導(dǎo)出生成模板

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

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

7、查看字段幫助信息

五、總結(jié)


一、K8S支持的文件格式

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

JSON格式:主要用于api接口之間消息的傳遞

YAML格式:用于配置和管理,YAML是一種簡潔的非標(biāo)記性語言,內(nèi)容格式人性化,較

易讀

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

  • YAML 使用空格縮進(jìn),這是 Python 開發(fā)人員熟悉的領(lǐng)域。
  • JavaScript 開發(fā)人員喜歡 JSON,因為它是 JavaScript 的一個子集,可以直接在
  • JavaScript中解釋和編寫,同時使用簡寫方式聲明 JSON,在使用沒有空格的典型變量名時,不需要鍵中的雙引號。
  • 有很多解析器在 YAML 和 JSON 的所有語言中都能很好地工作。
  • 在許多情況下,YAML 的空白格式可以更容易查看,因為格式化需要更人性化的方法。
    如果您的編輯器中沒有空格可見或縮進(jìn)線指示符,那么 YAML 的空白雖然更緊湊,更容易查看,但可能難以手動編輯。
  • JSON 的序列化和反序列化要快得多,因為要檢查的功能明顯少于 YAML,這使得更小更輕的代碼能夠處理 JSON。
  • 一個常見的誤解是 YAML 需要較少的標(biāo)點符號并且比 JSON更緊湊,但這完全是錯誤的??崭袷遣豢梢姷?,所以看起來字符較少,但是如果你計算實際的空格是必要的,以便正確解釋 YAML以及正確的縮進(jìn),你會發(fā)現(xiàn) YAML 實際上需要比 JSON 更多的字符。JSON不使用空格來表示層次結(jié)構(gòu)或分組,并且可以通過刪除不必要的空格來輕松展平,以實現(xiàn)更緊湊的傳輸。

?

2、YAML語言格式

  • 大小寫敏感
  • 使用縮進(jìn)表示層級關(guān)系
  • 不支持 Tab 鍵制表符縮進(jìn),只使用空格縮進(jìn)
  • 縮進(jìn)的空格數(shù)目不重要,只要相同層級的元素左側(cè)對齊即可,通常開頭縮進(jìn)兩個空格
  • 符號字符后縮進(jìn)一個空格,如冒號,逗號,短橫杠(-)等
  • — 表示 YAML 格式,一個文件的開始,用于分隔文件
  • # 表示注釋

二、YAML

1、查看 API 資源版本標(biāo)簽

kubectl api-versions

yaml文件格式檢查,k8s,kubernetes,容器,云原生

2、編寫資源配置清單

2.1 編寫 nginx-test.yaml 資源配置清單

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

#------------------------------------------------------------------#
#無注釋
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

yaml文件格式檢查,k8s,kubernetes,容器,云原生

2.2 創(chuàng)建資源對象

kubectl create -f nginx-test.yaml --validate=false

yaml文件格式檢查,k8s,kubernetes,容器,云原生

2.3 查看創(chuàng)建的pod資源

kubectl get pods -o wide 

yaml文件格式檢查,k8s,kubernetes,容器,云原生

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

3.1 編寫nginx-svc-test.yaml文件

[root@master ~]# vim nginx-svc-test.yaml

apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
  labels:
    app: nginx
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 80
  selector:
#此處定義的selector要與deployment所定義的selector相同
#service依靠標(biāo)簽選擇器來檢索提供服務(wù)的nodes
    app: nginx

yaml文件格式檢查,k8s,kubernetes,容器,云原生

3.2 創(chuàng)建資源對象

kubectl create -f nginx-svc-test.yaml
kubectl get svc

yaml文件格式檢查,k8s,kubernetes,容器,云原生

3.3 訪問測試

訪問nginx-test的ip

curl  10.96.28.172:80

curl 192.168.160.40:32139

??

yaml文件格式檢查,k8s,kubernetes,容器,云原生

yaml文件格式檢查,k8s,kubernetes,容器,云原生

三、詳解K8S中的Port

yaml文件格式檢查,k8s,kubernetes,容器,云原生

port

  • port 是 k8s 集群內(nèi)部訪問 service 的端口,即通過 clusterIP:port 可以從 Pod 所在的Node上訪問到service nodePort

nodePort

  • 是外部訪問 k8s 集群中 service 的端口,通過 nodeIP:nodePort 可以從外部訪問到service

targetPort

  • targetPort 是 Pod 的端口,從 port 或 nodePort 來的流量經(jīng)過 kube-proxy反向代理負(fù)載均衡轉(zhuǎn)發(fā)到后端 Pod 的 targetPort 上,最后進(jìn)入容器

containerPort

  • containerPort 是 Pod 內(nèi)部容器的端口,targetPort 映射到 containerPort

四、試運(yùn)行生成 yaml 模板后創(chuàng)建實例

1、–dry-run:試運(yùn)行

–dry-run:表示試運(yùn)行,不真正執(zhí)行命令(測試命令是否正確),即并不會真的創(chuàng)建出 pod 和 deployment 實例,去掉該參數(shù)后即可真正執(zhí)行命令。

kubectl create deployment dryrun-test --image=nginx --port=80 --replicas=3 --dry-run
#打印相應(yīng)的 API 對象而不執(zhí)行創(chuàng)建

yaml文件格式檢查,k8s,kubernetes,容器,云原生

2、查看生成yaml格式

使用 --dry-run 試運(yùn)行可不觸發(fā)生成命令,然后通過 -o yaml 可實現(xiàn)對其 yaml 資源配置清單的查看

kubectl run dryrun-test --image=nginx --port=80 --replicas=3 --dry-run -o yaml

yaml文件格式檢查,k8s,kubernetes,容器,云原生

3、查看生成json格式

可通過 -o json 查看該命令產(chǎn)生的 json 配置清單

kubectl run dryrun-test --image=nginx --port=80 --replicas=3 --dry-run -o json

yaml文件格式檢查,k8s,kubernetes,容器,云原生

4、使用 yaml 格式導(dǎo)出生成模板

kubectl create deployment dryrun-test --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml > dryrun-test.yaml

yaml文件格式檢查,k8s,kubernetes,容器,云原生

yaml文件格式檢查,k8s,kubernetes,容器,云原生

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

kubectl apply -f dryrun-test.yaml
kubectl get pod,deploy

yaml文件格式檢查,k8s,kubernetes,容器,云原生

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

kubectl get deploy/dryrun-test -o yaml
kubectl get deploy/dryrun-test -o yaml > export-test.yaml

yaml文件格式檢查,k8s,kubernetes,容器,云原生

yaml文件格式檢查,k8s,kubernetes,容器,云原生

7、查看字段幫助信息

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

kubectl explain deployments.spec.template.spec.containers

yaml文件格式檢查,k8s,kubernetes,容器,云原生

yaml文件格式檢查,k8s,kubernetes,容器,云原生

五、總結(jié)

沒有相關(guān)資源,使用 run 命令 --dry-run 選項

kubectl run dryrun-test --image=nginx --port=80 --replicas=3 --dry-run -o yaml > dryrun-test.yaml

已有相關(guān)資源,使用 get 命令 --export 選項

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

寫yaml太累怎么辦?

用 --dry-run 命令生成

kubectl run my-deploy --image=nginx --dry-run=client -o yaml > my-deploy.yaml

用get命令導(dǎo)出文章來源地址http://www.zghlxwxcb.cn/news/detail-652219.html

kubectl get svc nginx-service -o yaml > my-svc.yaml
或
kubectl edit svc nginx-service ?#復(fù)制配置,再粘貼到新文件

到了這里,關(guān)于K8S---yaml文件詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • kubernetes(k8s) Yaml 文件詳解

    kubernetes(k8s) Yaml 文件詳解

    YAML格式 :用于配置和管理,YAML是一種簡潔的非標(biāo)記性語言,內(nèi)容格式人性化,較易讀。 1、查看API 資源版本標(biāo)簽 kubectl api-versions 2、編寫資源配置清單 2.3 查看創(chuàng)建的pod資源 kubectl get pods -o wide 3、創(chuàng)建service服務(wù)對外提供訪問并測試 3.1、編寫nginx-svc-test.yaml文件 3.2、創(chuàng)建資源

    2024年02月05日
    瀏覽(30)
  • K8S:Yaml文件詳解及編寫示例

    K8S:Yaml文件詳解及編寫示例

    (1)Kubernetes 支持 YAML 和 JSON 格式管理資源對象 (2)JSON 格式:主要用于 api 接口之間消息的傳遞 (3)YAML 格式:用于配置和管理,YAML 是一種簡潔的非標(biāo)記性語言,內(nèi)容格式人性化,較易讀 (1)大小寫敏感 (2)使用縮進(jìn)表示層級關(guān)系 (3)不支持Tab鍵制表符縮進(jìn),只使用

    2024年02月04日
    瀏覽(23)
  • k8s的yaml文件中kind類型詳解

    在Kubernetes(k8s)的YAML語法中,kind是一種重要的,它用于指定Kubernetes資源的類型。根據(jù)Kubernetes官方文檔,以下是kind可能的取值: Deployment:用于定義應(yīng)用程序的聲明式更新。 StatefulSet:用于有狀態(tài)應(yīng)用程序的聲明式更新和管理。 DaemonSet:用于在集群中運(yùn)行一個pod的聲

    2024年02月06日
    瀏覽(18)
  • K8S之使用yaml格式定義pod

    2024年02月09日
    瀏覽(21)
  • [ K8S ] yaml文件講解

    Kubernetes 支持 YAML 和 JSON 格式管理資源對象 JSON 格式:主要用于 api 接口之間消息的傳遞 YAML 格式:用于配置和管理,YAML 是一種簡潔的非標(biāo)記性語言,內(nèi)容格式人性化,較易讀 YAML 語法格式: ●大小寫敏感 ●使用縮進(jìn)表示層級關(guān)系 ●不支持Tab鍵制表符縮進(jìn),只使用空格縮進(jìn)

    2024年02月13日
    瀏覽(115)
  • k8s之YAML文件書寫秘笈

    k8s之YAML文件書寫秘笈

    ? ? ? ? ? ? ?在kubernetes的江湖里,一直流傳YAML的傳說,它是Yet Another Markup Language的英文縮寫,用來配置k8s里的各類資源.。通常,你可以選擇YAML或JSON來完成聲明式的配置文件,這種方式便于復(fù)用和保存,但命令式的方式有一定的局限性,僅有部分kubernetes資源可以使用命令

    2024年01月18日
    瀏覽(21)
  • K8S學(xué)習(xí)筆記-01(yaml文件編寫)

    原創(chuàng)文檔編寫不易,未經(jīng)許可請勿轉(zhuǎn)載。文檔中有疑問的可以郵件聯(lián)系我。 郵箱:yinwanit@163.com 記錄k8s中yaml文件編寫相關(guān)內(nèi)容。 k8s官網(wǎng)文檔庫:https://kubernetes.io/docs/home/ kubelet 命令參考:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands k8s中yaml文件結(jié)尾需以.yml或.yaml結(jié)

    2024年02月14日
    瀏覽(21)
  • k8s-如何快速編寫yaml文件(新手)

    k8s-如何快速編寫yaml文件(新手)

    但是這個過程并沒有在集群中執(zhí)行,只是把結(jié)果通過yaml格式的方式輸出出來,包括咱們可把它輸出到文件里 場景:適用于部署好的項目,可以把部署好的項目中的yaml文件導(dǎo)出出來,實際效果比較實用

    2024年02月13日
    瀏覽(24)
  • 云原生(第四篇)-k8s yaml文件

    云原生(第四篇)-k8s yaml文件

    Kubernetes 支持 YAML 和 JSON 格式管理資源對象 JSON 格式:主要用于 api 接口之間消息的傳遞 YAML 格式:用于配置和管理,YAML 是一種簡潔的非標(biāo)記性語言,內(nèi)容格式人性化,較易讀 YAML 語法格式: ●大小寫敏感 ●使用縮進(jìn)表示層級關(guān)系 ●不支持Tab鍵制表符縮進(jìn),只使用空格縮進(jìn)

    2024年02月12日
    瀏覽(95)
  • K8S之yaml文件,聲明式管理方法

    K8S之yaml文件,聲明式管理方法

    目錄 第一章.聲明式管理方法 1.1.聲明式管理方法 1.2.kubectl create 和 kubectl apply區(qū)別 1.3.查看資源配置清單 1.4.解釋資源配置清單 1.5.修改資源配置清單并應(yīng)用 第二章.yaml文件格式 2.1.yaml文件簡述 2.2.YAML 語法格式 2.3.查看 api 資源版本標(biāo)簽 2.4.寫一個yaml文件demo 第三章.詳解k8s中的

    2024年02月03日
    瀏覽(12)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包