Kubernetes中yaml文件有什么用

小編給大家分享一下Kubernetes中yaml文件有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

10年積累的做網(wǎng)站、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有澄江免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

YAML 基礎(chǔ)

YAML(Yet Another Markup Language) 不是一種標(biāo)志語言。它的應(yīng)用很廣泛,在這里著重講一講,在 Kubernetes 中的一些內(nèi)容。使用 YAML 用于 k8s 的定義將給你一些好處,包括:

  • 便捷性:你將不再需要添加大量的參數(shù)到命令行中執(zhí)行命令

  • 可維護性:YAML 文件可以通過源頭控制,可以跟蹤每次的操作

  • 靈活性:通過 YAML 你將可以創(chuàng)建比命令行更加復(fù)雜的結(jié)構(gòu) YAML 是一個 JSON 的超集,意味著任何有效 JSON 文件也都是一個 YAML 文件。關(guān)于 Kubernetes 中 YAML 的使用,只需要知道兩種類型:

  • Maps

  • Lists

 

YAML Maps

咱們先來看看 YAML Maps 這種類型。Maps 可以將鍵值組合,從而可以更加方便的去配置信息。像下面這樣,你可能會有這樣一個配置信息:

---
apiVersion: v1
kind: Service
 

第一行是分隔符,并且是可選的。如果在單個文件中只定義了一個服務(wù),那么這種情況下,第一行的分隔符就可以忽略不計。在上面的例子中,可以看出有兩個值: v1 和 Service ,對應(yīng)它們的鍵是 apiVersion 和 kind

 

YAML Lists

接下來介紹一下 YAML Lists。其實它就是一個序列的對象,例如:

args
 - sleep
 - "1000"
 - message
 

我們可以看到,可以有任何數(shù)量的項在列表中,項的定義以破折號(-)開頭,并且和父元素之間存在縮進。但是要注意一點:在 YAML 文件中絕對不要使用 tab 鍵來進行縮進。

 

實際中的運用

基本上,不管我們想要什么樣的結(jié)構(gòu),都可以通過這兩個結(jié)構(gòu)去組合實現(xiàn)。接下來我就以我在項目中使用的 yaml 文件為例來進行講解一下(#后面內(nèi)容為注釋內(nèi)容):

apiVersion: v1
kind: ReplicationController   #類型是一個RC
metadata:
 name: nginx-controller
spec:
 replicas: 2                 #我想要2個RC
 selector:
   name: mynginx
 template:
   metadata:
     labels:
       name: mynginx
   spec:
     containers:
     - name: mynginx
       image: reg。zll。com/web/nginx:1。12。2    #前端需要部署在nginx上,這里是對應(yīng)的nginx的鏡像。
       volumeMounts:
       - name: httpd-storage
         mountPath: /etc/nginx/nginx。conf          #鏡像中nginx的配置文件地址,用下面的path:/home/nginx。conf去代替此路徑。
       - name: httpd-storag
         mountPath: /usr/local/dist
       ports:
       - containerPort: 80
     volumes:
     - name: httpd-storage
       hostPath:
         path: /home/nginx。conf             #自定義的nginx的配置文件,掛載到服務(wù)器上的這一路徑下,去代替鏡像中nginx的配置
     - name: httpd-storag
       hostPath:
         path: /usr/local/dist              #前端打包好的文件,放置的路徑,去代替上放的mountPath:/usr/local/dist

---
apiVersion: v1
kind: Service    #類型是個service
metadata:
 name: nginx-service-nodeport
spec:
 ports:
   - port: 8000
     targetPort: 80
     nodePort: 30080    #暴露出來可供訪問的IP。
     protocol: TCP
 type: NodePort
 selector:
   name: mynginx

以上是“Kubernetes中yaml文件有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站欄目:Kubernetes中yaml文件有什么用
轉(zhuǎn)載注明:http://muchs.cn/article30/ghepso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站營銷標(biāo)簽優(yōu)化、App開發(fā)、外貿(mào)建站、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)