您好,登錄后才能下訂單哦!
小編給大家分享一下Kubernetes中yaml文件有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
YAML(Yet Another Markup Language) 不是一種標志語言。它的應用很廣泛,在這里著重講一講,在 Kubernetes 中的一些內容。使用 YAML 用于 k8s 的定義將給你一些好處,包括:
便捷性:你將不再需要添加大量的參數到命令行中執行命令
可維護性:YAML 文件可以通過源頭控制,可以跟蹤每次的操作
靈活性:通過 YAML 你將可以創建比命令行更加復雜的結構 YAML 是一個 JSON 的超集,意味著任何有效 JSON 文件也都是一個 YAML 文件。關于 Kubernetes 中 YAML 的使用,只需要知道兩種類型:
Maps
Lists
咱們先來看看 YAML Maps 這種類型。Maps 可以將鍵值組合,從而可以更加方便的去配置信息。像下面這樣,你可能會有這樣一個配置信息:
---
apiVersion: v1
kind: Service
第一行是分隔符,并且是可選的。如果在單個文件中只定義了一個服務,那么這種情況下,第一行的分隔符就可以忽略不計。在上面的例子中,可以看出有兩個值: v1 和 Service ,對應它們的鍵是 apiVersion 和 kind
接下來介紹一下 YAML Lists。其實它就是一個序列的對象,例如:
args
- sleep
- "1000"
- message
我們可以看到,可以有任何數量的項在列表中,項的定義以破折號(-)開頭,并且和父元素之間存在縮進。但是要注意一點:在 YAML 文件中絕對不要使用 tab 鍵來進行縮進。
基本上,不管我們想要什么樣的結構,都可以通過這兩個結構去組合實現。接下來我就以我在項目中使用的 yaml 文件為例來進行講解一下(#后面內容為注釋內容):
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上,這里是對應的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的配置文件,掛載到服務器上的這一路徑下,去代替鏡像中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文件有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。