Search Google

Sunday, July 30, 2017

Private cloud deployment end to end walkthrough

之前已經有試過在local開發環境佈建kubernetes派的private cloud, 但光有cloud的基礎設施而沒有上層APP對開發者而言還時沒什麼用, 所以趁颱風天試著把最後一哩路走通, 雖然cloud這件事已經被講爛了, 我還是要用下面這張圖當作開頭

* 想要玩玩ICP的朋友們可以參照這裡的安裝步驟(https://github.com/cyu021/ICP_Local_Install), 安裝完畢之後我們就得到了一個可立即提供服務的private cloud.

我們自建的private cloud當然也能使用public APP store所提供的APP services, 但是會自建private cloud一定是想要跑自建的APP, 而這些自建的APP又不方便放到public APP store中, 因此今天要探討的是要如何將自建的APP deploy上我們的private cloud.

首先我們可以看到透過kubernetes所建置的cluster所運行的runtime service其實都是透過docker image所提供, 為了讓kubernetes有效率的部署這些docker images, 有人跳出來做了HELM (https://helm.sh/), 上圖所提到的Charts便是HELM裡面的一個模組, 專門封裝docker image資訊供kubernetes的部署時參考.

因此為了要能夠將自建的APP部署至kubernetes cluster中, 我們需要先建置自己的repo與相對應的image & package, 這方面的資訊其實也不少可以參照以下連結:
建置docker repo --> https://www.linuxtechi.com/setup-docker-private-registry-centos-7-rhel-7/
打包自建APP的docker image --> https://docs.docker.com/engine/userguide/eng-image/baseimages/
建置charts repo --> https://kairen.github.io/2017/03/25/kubernetes/helm-quickstart/
打包自建APP的chart package --> https://deis.com/blog/2016/getting-started-authoring-helm-charts/

建置完成之後我們需要將新建立的charts repo設定至ICP中, 這樣ICP才會知道多了一個source可安裝APP, 設定過程如下:
1. 點擊左上角的功能鍵
2. 選擇System
3. 選擇Repositories
4. 選擇Add Repository
5. 輸入所需資訊存檔後便會在清單中看到新的charts repo

新增完成Charts repo後, 我們便可以安裝我們自建的APP, 過程如下:
1. 點擊左上角的功能鍵
2. 選擇App Center
3. 從App Center裡面即可看到新增repo中的APP
4. 點擊Install Package並填寫必要資訊
5. 安裝成功後即可使用該APP提供的服務


好的, 介紹到這裡相信各位朋友已經對如何將自建APP部署至我們自建的private cloud了然於胸, 從開發者的角度來看或許這樣已經足夠, 但對於專營cloud事業的朋友們這樣算是非常淺薄, 更深入的介紹就留待未來細細探討了.

No comments: