天天看點

OpenShift 4 - 直接将Web應用當成Serverless運作

《OpenShift 4.x HOL教程彙總》

說明:本文已經在OpenShift 4.6環境中驗證

文章目錄

    • 典型建立Knative服務的方法
    • 将Web應用部署為Knative Service

典型建立Knative服務的方法

一般我們可以使用Knative的用戶端(kn)将一個Container Image釋出成一個Serverless的服務,例如:

$ kn service create hello-world --image=openshift/hello-openshift
           

在OpenShift 4.3應該是将OpenShift的Souce-2-Image功能和Kn功能打通了,這樣在部署應用的時候可以直接選擇以Knative的Serverless方式部署應用。下面我們說明如何直接将Web應用當成Serverless運作。

将Web應用部署為Knative Service

這種部署Web應用的方式需要在OpenShift環境中提前安裝好OpenShift Serverless Operator,并部署Knative Serving環境。

  1. 登入OpenShift控制台,然後進入Developer視圖。
  2. 先建立一個名為knative-webapp的項目。
  3. 然後點選左側菜單的“+Add”,然後進入“From Git”。
  4. 按下圖在Git Repo URL中填寫“https://github.com/sclorg/cakephp-ex.git”,然後在Builder區域選中“PHP”。
    OpenShift 4 - 直接将Web應用當成Serverless運作
  5. 在Resources區域選擇“Knative Service”,然後點選最下面的Create。
    OpenShift 4 - 直接将Web應用當成Serverless運作
  6. 界面跳轉到Topology,會看到Web應用部署進度,最後部署完可以看到目前部署了1個Pod。
    OpenShift 4 - 直接将Web應用當成Serverless運作
  7. 稍等一段時間,部署會減到0個Pod。
    OpenShift 4 - 直接将Web應用當成Serverless運作
  8. 點選上圖“Set Traffic Distribution”,會看到下面的對話框。由于我們隻部署了一個Revision,是以關閉對話框即可。
    OpenShift 4 - 直接将Web應用當成Serverless運作
    如果此步配置了多個Revision,則Topology顯示如下圖:
    OpenShift 4 - 直接将Web應用當成Serverless運作
  9. 通路應用圖示中的Open URL ,可以看到部署的Pod會先增加到1個,然後Web應用界面才出來。
    OpenShift 4 - 直接将Web應用當成Serverless運作
  10. 回到Administration視圖,在Serverless中可以分别看到Service、Revisions、Routes。
    OpenShift 4 - 直接将Web應用當成Serverless運作

繼續閱讀