跳到主要內容

從藏在GKE後面的秘密網站偷看Docker...

Google Container Engine(GKE)在推出後,讓許多Docker運作的麻煩輕鬆了不少... 最近發現了在Master Node隱藏的Kubernetes管理平台...
在GKE平台建立後,使用者可以透過Master Node的Public IP (https://master-node-ip-address/static/app/#/dashboard/) 連線到這個管理平台,雖然平台的功能還很陽春,但是卻已經偷偷告知未來在K8S上的一些操作將會更加簡單...

Cluster群的狀態:


透過表單可以知道大致上Pods, Replication Controller, Services... 都可以透過介面來查看他的狀態...


透過上面的圖片,不難想像在一個密你的Datacenter中建置自己服務的情境... 而除了這些,這次的Web Console升版,也開始讓使用者看到GCP project based repository有增加一些用心,雖然只是簡單的幾個畫面,但相信不久就會出現許多docker hub相關的功能(吧... 期待!)





如果對GKE還不慎了解,可以從Kubernetes (K8S)開始,其中K8S平台所提供的幾個重點元件包含:

- Pods: Container執行的一個群集,可以運作於一台或是Cluster起來的數台主機上,允許內部定義Volumes來共用某個空間... 而Pods中運作的Container也會受到K8S node agent的監控,任何掛掉的狀況,會被自動重啟回復。
- Replication Controller: 可以操控同一個Pod設定中的Container擴增,並可以在Container fail時候重新啟動Container。
- Services: Service為K8S中一個群集的抽象層,透過label selector為一個動態Pods提供一個抽象的結合,而Service則負責提供該集合對外的IP與DNS名稱等存取端口。


透過這些設定,在K8S上,目前可以看到幾個優點:

- Nodes可以整合,對於使用者來說,可以不用再針對多個平台做操控管理
- Replica可以設定,在該設定範圍內,Container將會受到監控,任何fail的狀態,可以自動回復服務
- Rolling Update... 在程式改版後,管理者可以透過Rolling Update的功能一次將所有的運作Container做版本升級

而如果您的運作環境在GKE上

- Service的設定中的"createExternalLoadBalancer"將可以讓整個建制結合Google Network Loadbalancer做發布,讓入口端點依賴在Google的服務之下運作。
- Firewall的相關設定可以協助在運作環境上加強安全性管理...

整體而言,操作上... GKE的環境已經整合kubectl這個指令,讓K8S的使用者在某個層面可以透過一樣的指令存取自建的K8S或是GKE,唯有Network Load Balancer在GKE上,可以直接使用Network Load Balancer來提供服務,會優於自建K8S上必須要自己處理Service層的IP或網路對應。

而,未來以Docker來提供服務如果相依於K8S或GKE平台的話,針對設定的部分可以幾乎無痛轉移,也可以在Auto Scale上相對放心...

以上,提供給想要參考Docker作為未來production服務平台的人一些參考 :D






留言

這個網誌中的熱門文章

透過Google Apps Script結合Google Form做即時郵件通知

體驗過Google Apps Script的功能後,也發現他結合GmailApps的模組 GmailApps的應用可以用在表單填寫完成後,做發信的通知 例如您開立了一個訂購的表單,為了要在第一時間通知商家有訂單進入 就可以直接呼叫Gmail做發信的通知,讓手持Smart Phone的我們可以很快的知道生意上門了! 下面規劃三個function,其中: onCommit():為form commit時候觸發的function,需要掛載於form commit trigger上 jsonArrToTable():目的將json array解析成為一個Table getLastRowTable():目的將整個table的回傳過濾為剩下第一筆(表頭,含有Form的欄位說明)與最後一筆(原則上就是剛剛送出的那一筆表單) 完整程式碼如下: function onCommit(){   var sheet = SpreadsheetApp.getActiveSheet();   var rows = sheet.getDataRange();   var numRows = rows.getNumRows();   var values = rows.getValues();   var content = getLastRowTable(values);   var htmlBody = "Hi Admin: <br/><br/>有訂單拉,檢查一下吧! <br/><br/>" + content + '<br/><br/>Send by Google Apps';   GmailApp.sendEmail(     " your-email-address@gmail.com ",      "Order Confirm Notice",      htmlBody,      {from: ' from-email-...

Share a chrome plugin for manage google cloud platform

好玩意兒報報.... 同事的新作,把Google Project List在Chrome Plugin中! 對一次管理多個專案的人來說,真得超方便的拉! 下載: https://chrome.google.com/webstore/detail/gdclauncher/bicgkglnnilldakpenngnblekooejnpg 使用說明: 1. Use browser url bar to quick search: Type "gdcl" in browser Press "TAB" to start search Type the project id key word then select the search result... 2. Using quick launch bar... You can search by keyword or click project name to go to the project or gae link to go to gae or go to billing page....

Cloud Monitor嚐鮮

GCP上,我們非常想要的一個功能,終於問世.... Cloud Monitor來了!