第四周: Openshift 以及相關服務

第四周: Openshift 以及相關服務

第四周: Openshift 以及相關服務

關於Docker、kubernetes請參考前幾篇資訊

什麼是OpenShift

OpenShift是一個基於Kubernetes的容器平台,提供了更多的擴展功能,例如可擴展性、彈性、開源、可攜式容器、增強開發者體驗、自動安裝與升級、自動化流程、邊緣架構、集群管理、安全性、存儲以及多種合作環境等。

OpenShift提供的服務:

  • REST APIs:讓各種核心項目可取用。
  • Controller:讀取REST API,控制變動,回報狀態,管理集群。
  • OpenShift CLI (oc):提供命令行界面,讓使用者可以透過終端進行開發。
    Build:

將源代碼轉化為映像,並通過構建配置文件(BuildConfig)定義構建策略和輸入源。常見的構建策略包括Source to Image (S2I)、Docker和Custom。

Imagestream:

在OpenShift中負責指引容器映像,通過更改標籤可以讓映像指向不同的註冊表或Docker Hub。

自動化構建觸發方式:

  • Webhook觸發:發起端(如GitHub)發送請求給OpenShift容器API端點,這是OpenShift如何通過GitHub更新的方式。
  • 映像變更觸發:當有更新的映像時,保持版本最新。
  • 配置變更觸發:當創建新的BuildConfig時觸發。
    Operator:

在Pods內運行,讓集群流程自動化,並讓使用者可以控制外部API。使用Operator的好處是通過自動化程序達成重複的安裝和更新、定期系統健檢、空中下載技術(over the air)、溝通工具和一體化(integration)。

CRD (Custom Resource Definition):

儲存和取用Kubernetes API物件,可以安裝在集群中,並通過kubectl進行存取。

Custom Controllers:

結合CRD和Controller(運行在Pod中的操作)來控制集群,這也被稱為“Operator Pattern”。

Operator Framework通常分為以下幾種:

  • Operator SDK:協助作者建立、測試和封裝Operators。
  • Operator Lifecycle Manager (OLM):控制Operator的安裝、升級和RBAC(權限控制)。
  • Operator Registry:保存CRDs和Operator元數據。
  • Operator Hub:讓集群管理員可以搜尋和安裝Operators(例如Red Hat提供的套件Llama等)。
    Istio:

首先介紹Service Mesh,用來控制微服務間的溝通,包括流量安排、安全性和可觀察性(如流量、錯誤日誌),提供這些連結,讓使用者可以不用煩惱這些事。

Comments

Loading comments…

Leave a Comment