close

Google提供了一個服務,讓工程師可以不用寫yml檔就可以直接用圖型化介面部屬一個專案到GCP上。

以下是簡單的做法,不會細細探探討細節設定,只是一個步驟記錄。

開始之前你必須要在GCP上面已經開好一個專案了。

1.先到Kubernetes Engine頁面,建立一個叢集。

2.在這個業面做的事情是挑選你要開的機器。

如果點了進階編輯功能,可以編輯詳細的機器規格,比方說硬碟大小、記憶體大小、CPU的種類等等。在這裡不示範。

3.在這個畫面等待一下。

4.叢集建立完成。

5.建立一個部署。

6.選擇Container,這個Container可以是現成的,也可以是你在Container Registry 已經Push上去的Container Image。關於怎麼Push Image,我之後會寫文章說明。

7.選完之後點繼續”,可以看到這個畫面。

google會幫你作好Yaml檔案,你可以查看它。其中命名空間是讓你區隔其他布署用的,應用程式名稱就是這個布署的名稱,請小心填寫。

叢集的部分請選擇我們剛剛做好的叢集。

8.點新建叢集。其實這裡Google的按鈕字應該是錯了,應該是新建部署。

等它好。

9.部署完成,不過還沒對外連接,須要先建立Service。

註:如果看到紅字告訴你什麼Node 空間不夠大之類的,別緊張,等久一點再看看。

10.選建立服務。

11.目標通訊埠指的是你Container對外開放的Port。比方說如果你的Container裡面有server在Listen 443 Port 那你就把它設定為443 ,對外開放是左邊的通訊埠,這裡我們也選擇443。

12.服務類型選擇負載平衡器,只有這個才會讓你的服務對外開放。

12.點選建立服務,成功的話你會看到這個畫面。

 

13.點選左邊的服務,你就可以看到你的服務有對外開放了,以這個案例,系統會自動分配給你一個固定的IP,35.222.113.209,對外開放是443Port。

14.這樣就大致上完成了,接下來你可以去GCP提供的VPC網路服務,在對外IP那裡把現在這個臨時的固定IP變成靜態IP,你也可以用這個IP去申請一個網域,如果你的Container裡面有設定SSL,那麼顯示應該很正常。

注意你的Container應該要是Stateless的,也就是說你的Container無論被怎麼樣request,裡面都不會對檔案進行修改、刪除、儲存的動作,這才叫Stateless。你不應該把資料庫或者上傳圖片檔案放在K8S裡面,你的Log系統也不應該。因為這些Pod 和Container隨時都會死掉,而等他們透過K8S的管理系統重開的時候,你在裡面的存檔會通通不見,變成這個Image最初的模樣。

所以如果你要做Log、或者做資料庫甚至圖片上傳,你應該使用其他服務。

 

 

arrow
arrow
    全站熱搜

    工程師黑田 發表在 痞客邦 留言(0) 人氣()