otomi官網:https://otomi.io/
otomi-core核心子產品github位址:https://github.com/redkubes/otomi-core
otomi是一個<font color='red'>開源的、雲無關的、基于kubernetes的平台,通過類似桌面的使用者界面安全地部署、運作和管理應用程式。</font>
otomi易于安裝,具有直覺的桌面式ui,可以使用預先配置的内置應用程式提供開箱即用的體驗。
就像您最喜歡的linux發行版所期望的那樣。在kubernetes上安裝otomi後,您可以登入并立即開始部署應用程式。
otomi是建立在以下開源項目之上的:
istio
knative serving
nginx ingress
prometheus operator
grafana loki
hashicorp vault
gatekeeper
keycloak
gitea
drone
harbor
cert manager
external dns
開發人員自助服務:團隊成員可以使用otomi console直接通路他們需要的所有工具并建立services,jobs和secrets。
預配置和準備使用的應用程式。
所有內建應用程式的應用程式配置管理,提供基本配置檔案配置以支援最常見的devops用例。
多租戶:建立團隊并提供對共享應用程式的sso通路。
實作了更好的治理和安全性的政策。清單将在運作時靜态地和在叢集上進行檢查,以確定政策服從。
單點登入:自帶idp或使用keycloak作為idp(預設)。
自動進入配置:輕松配置team服務的進入,允許公衆在幾分鐘内通路服務。istio網關和虛拟服務為team服務自動生成和配置,以可預測的方式将通用入口體系結構綁定到服務端點。
輸入/輸出驗證:靜态地檢查配置和輸出清單的有效性和最佳實踐。
自動漏洞掃描:掃描harbor中所有已配置的team服務容器。
内置對azure、amazon web服務和谷哥雲平台的支援。
otomi的目标是支援最常見的devsecops用例,即開箱即用,并強烈依賴于gitops模式,其中所需的狀态以代碼形式反映出來,叢集狀态會自動更新。
很容易安裝
自帶一個直覺的桌面式ui
自帶準備使用,預配置和内置的應用程式
開箱即用的工作
就像您最喜歡的linux發行版所期望的那樣。在kubernetes上安裝otomi之後,您可以登入并立即開始部署應用程式。
允許定制和擴充。
将上遊kubernetes與經過驗證的開源應用程式和附加元件內建在一起。
單個可部署包是否具有經過行業驗證的應用程式和政策,以獲得更好的治理和安全性。
提供企業級容器平台的開箱即用體驗。
提高開發人員的效率,使開發人員自我服務。
提供精心設計的合理預設值,以減少配置工作和加快時間的市場。
結合12因素應用方法和kubernetes的最佳實踐。
otomi由多個項目組成:
otomi core:otomi的心髒
otomi tasks:由otomi core組織的自主工作
otomi api:otomi的大腦,處理主機輸入并與otomi core對話
otomi console:otomi為管理者和團隊提供的ui,與otomi api對話
otomi clients:建構和釋出redkubes/ otomi -tasks repo中使用的openapi用戶端的工廠
請確定以下用戶端二進制檔案存在:
kubectl通路叢集。
docker必須安裝并運作,就像otomi運作在容器中一樣。
安裝了helm
可選:otomi cli用戶端
otomi至少要求:
至少有3個工作節點的正在運作的kubernetes叢集(使用至少4個vcpu的通用執行個體類型)
通路公共dns區域
otomi支援kubernetes版本1.18到1.20
按照下面的說明在你選擇的雲上設定一個kubernetes叢集和dns:
set up an eks cluster on aws: https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html
使用kubectl通路叢集:
設定外部dns:https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/aws.md
set up an aks cluster on azure: https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough-portal
設定外部dns:https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/azure.md
set up a gke cluster on google cloud platform: https://cloud.google.com/kubernetes-engine/docs/how-to
設定外部dns:https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/gke.md
可以選擇将otomi配置為使用外部idp (azure ad),并為sop使用外部密鑰管理服務(kms)提供商。
下面你可以找到關于如何将azure ad設定為外部idp和配置kms的詳細說明。
我們将很快為其他idp添加更多說明,如amazon incognito,谷哥identity和okta。
使用helm安裝otomi。
有關如何使用helm圖表的更多細節,請通路helm文檔頁面。
在開始之前,驗證您是否已經滿足先決條件:
檢視helm repo了解更多指令說明。
檢視所需的值。yaml檔案的詳細注釋,檢視和下載下傳圖表的最新值。
運作以下指令檢視所有的值:
使用執行個體測試輸入值是否正确。
使用以下指令安裝圖表:
監控圖表安裝:
圖表在預設名稱空間中部署一個job (otomi)。使用kubectl監控圖表安裝:
使用以下指令安裝名稱為my-otomi-release(您選擇的自定義名稱)的圖表。
helm解除安裝隻會移除用于部署otomi的工作。它不會移除所有已安裝的元件。如果您想完全解除安裝,我們建議首先克隆otomi/values存儲庫(以確定配置安全),然後使用otomi cli解除安裝。
安裝otomi之後,需要兩個安裝後配置操作。遵循這些指令:
在浏覽器中打開url <code>https://otomi.&lt;domainsuffix&gt;</code>。</domainsuffix>domainsuffix可以在值中找到。yaml是在安裝期間提供的。
如果otomi配置了oidc(使用azure ad作為idp),單擊右邊的按鈕(下面示例中的redkubes-azure)。
如果沒有配置oidc,請先在keycloak中建立使用者。并将該使用者添加到otomi-admin組。
成功登入後,您将看到otomi dashboard。
要了解更多關于使用otomi控制台,請檢視otomi控制台。
gitea和drone是otomi叢集配置存儲和更新的重要組成部分。點選控制台中的gitea應用程式(在platform/otomi apps下)。它将打開一個新的浏覽器頁籤,并顯示在gitea的登入頁面。使用預設的otomi-admin帳戶登入。
在登入後,可能需要幾分鐘才能看到otomi/values存儲庫。
otomi/values存儲庫儲存otomi叢集配置,每當通過控制台發生新的更改時,它就會更新。
現在回到控制台激活drone。
點選drone 應用程式,它應該打開一個新标簽,如下所示,
選擇activate,然後activate repository
儲存更改,就可以開始了。
現在,最後一步是建立team。有關更多資訊,請參見 teams頁面。