国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

kubernetes YAML文件的使用

發(fā)布時(shí)間:2021-08-15 18:37 來(lái)源: 閱讀:0 作者:DBA隨筆 欄目: 服務(wù)器 歡迎投稿:712375056

目錄

    01 YAML文件介紹

          K8S在啟動(dòng)Pod的時(shí)候,會(huì )使用yaml文件的方式來(lái)啟動(dòng),今天我們來(lái)看看YAML文件最常用的格式。

          YAML的語(yǔ)法和JSON語(yǔ)法很像,都是通過(guò)key-value形式來(lái)組織的,它可以表示list、dict等常用數據類(lèi)型,它的后綴一般使用".yml",它有如下幾個(gè)特點(diǎn):

    1、大小寫(xiě)敏感

    2、使用縮進(jìn)表示遞進(jìn)關(guān)系

    3、縮進(jìn)不允許使用tab,只允許使用空格

    4、縮進(jìn)的空格數不重要,只要相同層級的元素左側對齊即可,這一點(diǎn)類(lèi)似Python語(yǔ)法

    5、使用"#"來(lái)表示注釋

    6、key-value結構用{}包圍,list結構用[]包圍

    YAML---key-value類(lèi)型

    a、使用key:value的方式來(lái)表示,key和value中間需要一個(gè)空格,否則會(huì )報錯;

    b、如果有層級關(guān)系,可以通過(guò)下面兩種方法來(lái)表示:

    key:{key1: value1,key2: value1}
    
    或者
    
    key:
        key1:value1
        key2:value2

    c、表示一個(gè)key-value格式,其中value是一個(gè)dict

    websites:
      YAML: yaml.org 
      Ruby: ruby-lang.org 
      Python: python.org 
      Perl: use.perl.org
    
    表示成json格式就是:
      websites: {
        YAML: 'yaml.org',
        Ruby: 'ruby-lang.org',
        Python: 'python.org',
        Perl: 'use.perl.org' 
      } 

    YAML---list類(lèi)型

    以-開(kāi)頭表示一個(gè)數組,如下:

    - A
    - B
    - C
    
    表示成數組是:[A,B,C]

    下面是一個(gè)稍微復雜點(diǎn)兒的例子

    students:
        -
            id: 1
            name: zhangsan
            age: 12
        -
            id: 2
            name: lisi
            age: 15
    
    表示成數組是:
    students:[{id: 1,name: zhangsan,age: 12},{id: 2,name: lisi,age: 15}]
    
    數組中的元素又是一個(gè)key-value結構的dict

    一段Json和一段Yaml的對比:

    yaml格式的文件
    nodes:
      - name: jobE
        type: command
        config:
          command: echo "This is job E"
        dependsOn: 
          - jobD
    
      - name: jobD
        type: command
        config:
          command: echo "This is job D"
        dependsOn:
          - jobA
          - jobB
          - jobC
    
    
    表示成json格式就是:
    {
        "nodes":[
            {
                "name":"jobE",
                "type":"command",
                "config":{
                    "command":"echo \"This is job E\""
                },
                "dependsOn":[
                    "jobD"
                ]
            },
            {
                "name":"jobD",
                "type":"command",
                "config":{
                    "command":"echo \"This is job D\""
                },
                "dependsOn":[
                    "jobA",
                    "jobB",
                    "jobC"
                ]
            }
        ]
    }

    02 K8S中Master、Node和Pod的關(guān)系

         Master的架構圖:

    其中:

    API Server提供了HTTP Rest接口,它是k8s中的所有資源增刪改查的唯一入口,也是集群控制的入口;

    Scheduler是負責資源調度的進(jìn)程;

    Controller Manager是所有資源對象的自動(dòng)化控制中心;

    Etcd提供資源對象的數據保存服務(wù)

        K8S使用Master節點(diǎn)和Node節點(diǎn)部署的方式來(lái)管理整個(gè)集群,Master節點(diǎn)、Node節點(diǎn)和Pod的關(guān)系使用官方的結構圖來(lái)說(shuō)明比較貼切:

    可以看到,Master和Node之間有直接的通信交互過(guò)程,而Pod是部署在Node上的,簡(jiǎn)單理解,就是:

    Master是一臺服務(wù)器,有固定的IP地址

    Node是一臺服務(wù)器,有固定的IP地址

    Pod是Node上的一個(gè)進(jìn)程,有一個(gè)虛擬的IP地址,有可能和Node IP地址相同,也有可能不同。

    而我們知道,一個(gè)Pod中可以有多個(gè)容器,如果再加上容器,就會(huì )變成下面的樣子:

    他們之間的調用關(guān)系簡(jiǎn)單來(lái)說(shuō)就是:

    當Pod被創(chuàng )建的時(shí)候,它的信息就會(huì )被放入Master的Etcd存儲,隨后這些創(chuàng )建Pod的信息會(huì )被K8S調度到某個(gè)Node上,并進(jìn)行綁定,然后該Pod它所在的Node上的kubelet進(jìn)程實(shí)例化成一組相關(guān)的Docker容器并啟動(dòng)起來(lái)。

    以上就是kubernetes YAML文件的使用的詳細內容,更多關(guān)于kubernetes YAML文件的資料請關(guān)注腳本之家其它相關(guān)文章!

    免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

    乱子轮视频在线看| 人人妻在人人| 国产三级韩国三级日产三级| 欧美大屁股喷潮水XXXX| 女仆学校羞耻椅子调教H| 久久国产精品-国产精品|