1. 程式人生 > >Kubernetes學習 Service + Rolling Update(三)

Kubernetes學習 Service + Rolling Update(三)

節點 vid nbsp 就是 屬性 png pda color 執行命令

四、外網如何訪問Service

  除了 Cluster 內部可以訪問 Service,很多情況下我們也希望應用的 Service 能夠暴露給 Cluster 外部。Kubernetes 提供多種類型的 Service,默認是 Cluster IP。

    (1)Cluster IP

      Service 通過 Cluster 內部的 IP 對外提供服務,只有 Cluster 內部的節點和 Pod 可訪問,這是默認的 Service 類型,前面實驗中的 Service 都是 CLuster IP。

    (2)NodePort

      Service 通過 Cluster 節點的靜態端口對外提供服務。Cluster

外部可以通過 <NodeIP>:<NodePort> 訪問 Service

    (3)LoadBalancer

      Service 利用 cloud provider 特有的 load balancer 對外提供服務,cloud provider 負責將 cload balancer 的流量導向 Service。目前支持的 cloud providerGCP、AWS、Azur等。

五、回滾

    kubectl apply 每次更新應用時, Kubernetes 都會記錄下當前的位置保存為一個 revision。

    默認配置下,Kubernetes

只會保留最近幾個 revision,可以在 Deployment 配置文件中通過 revisionHistoryLimit 屬性增加 revision。

    實踐回滾功能:

      應用有三個文件,即httpd.v1.yaml、httpd.v2.yaml、httpd.yaml 分別對應著 httpd 的三個版本 2.4.16、2.4.17、2.4.18。

技術分享圖片

      kubectl apply -f httpd.v1.yaml --record

       --record 的作用是將當前命令記錄到 revision 記錄中,這樣我們就能知道每個revision 對應是哪個配置文件了。

      通過 kubectl rollout history deployment httpd ,查看 revision。

      技術分享圖片

      CHANGE-CAUSE 就是 --record 的結果。如果要回滾到某個版本,譬如 revision3,

      執行命令 kubectl rollout undo deployment httpd --to-revision=3

      技術分享圖片

      技術分享圖片

      

      

Kubernetes學習 Service + Rolling Update(三)