close

可以讓企業應用跨區域部署的Cluster

  首先,Kubernetes可以有多個Cluster運作在不同的Region(區域),企業可以選擇建立兩個Cluster,每個Cluster都是完整的企業應用,其中一個Cluster是主要在服務客戶的Cluster,另一個當成備用Cluster,當發生容災故障時,Cluster可以從故障中的切到備用的Cluster,可以把Cluster理解成企業應用的分工廠,分散在不同地理上,當服務主工廠炸了,另一地的分工廠立刻可以接手服務客戶。當然,企業也可以建立分散式多Cluster應用,但Cluster主要還是體現在把應用作區域上的分隔。

把不同子應用分開的NameSpace

  在一個Cluster之下,我們可以把Cluster分成不同的NameSpace,如果說一個Cluster是一個完整的蛋糕,那NameSpace就是把蛋糕切成幾大塊之後的一小塊。

  這樣做有什麼好處呢?答案是把企業應用中的不同大小子應用或服務分隔開來,每一個NameSpace負責特定的一個子應用,例如行銷系統的NameSpace、財會系統的NameSpae、人資系統的NameSpace等等。

  另外一個NameSpace應用則是把同一個子應用或服務依NameSpace分別部到兩個不同"分區",可以實現負載分流,而在進行升級部署時,也可以一次只部署一個分區,實現暗度發佈或A/B測試或低風險的藍綠部署。

負責承載PodNode主機

  如果說ClusterNameSpace是比較抽象層次的高層結構,那麼Node以下的結構就是屬於比較具體層次的。因為Node可以被當成是實體物理資源,其地位相當於承載虛擬機器(VM)用的主機(Host),只不過Node裡面放的是執行容器應用的Pod,而不是VM

  每一個Cluster底下可以有一堆Node來存放運行Container應用的Pod,但我們會透過NameSpace先將這些Node歸屬到不同的NameSpace之中讓NameSpace調用,而NameSpace之間也是可以共用同一個Node,如果不希望一個Node被多個NameSpace共用,可以在Node上設定Label指向特定NameSpace,指定該Node給哪個NameSpace使用,當然一個Node可以同時設定多個Label,這樣就可以讓特定幾個NameSpace共用。

  不過好一點的做法還是每個NameSpace都有各自獨立使用的Node,子應用的使用才不會互相干擾,例如NameSpace2的應用不會因為NameSpace3node故障而不能使用,原因是該node是被NameSpace23共用的關係。

arrow
arrow
    創作者介紹
    創作者 jackterrylau 的頭像
    jackterrylau

    儒道哲學的浪漫人生

    jackterrylau 發表在 痞客邦 留言(0) 人氣()