天天看点

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置

otomi官网:https://otomi.io/

otomi-core核心模块github地址:https://github.com/redkubes/otomi-core

otomi是一个<font color='red'>开源的、云无关的、基于kubernetes的平台,通过类似桌面的用户界面安全地部署、运行和管理应用程序。</font>

otomi易于安装,具有直观的桌面式ui,可以使用预先配置的内置应用程序提供开箱即用的体验。

就像您最喜欢的linux发行版所期望的那样。在kubernetes上安装otomi后,您可以登录并立即开始部署应用程序。

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、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.&amp;lt;domainsuffix&amp;gt;</code>。&lt;/domainsuffix&gt;domainsuffix可以在值中找到。yaml是在安装期间提供的。

如果otomi配置了oidc(使用azure ad作为idp),单击右边的按钮(下面示例中的redkubes-azure)。

如果没有配置oidc,请先在keycloak中创建用户。并将该用户添加到otomi-admin组。

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置

成功登录后,您将看到otomi dashboard。

要了解更多关于使用otomi控制台,请查看otomi控制台。

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置
云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置

gitea和drone是otomi集群配置存储和更新的重要组成部分。点击控制台中的gitea应用程序(在platform/otomi apps下)。它将打开一个新的浏览器选项卡,并显示在gitea的登录页面。使用默认的otomi-admin帐户登录。

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置

在登录后,可能需要几分钟才能看到otomi/values存储库。

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置

otomi/values存储库保存otomi集群配置,每当通过控制台发生新的更改时,它就会更新。

现在回到控制台激活drone。

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置

点击drone 应用程序,它应该打开一个新标签,如下所示,

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置

选择activate,然后activate repository

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置

保存更改,就可以开始了。

云无关、桌面端、基于Kubernetes的平台Otomi一、Otomi介绍二、Otomi提供的特性三、Otomi架构四、安装部署五、安装后配置

现在,最后一步是创建team。有关更多信息,请参见 teams页面。

继续阅读