专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

indigopaas/orchestrator-dashboard Docker 镜像 - 轩辕镜像

orchestrator-dashboard
indigopaas/orchestrator-dashboard
INDIGO PaaS Orchestrator的简单图形化界面,支持IAM认证、显示用户部署及其详情(模板和日志)、删除部署和创建新部署,基于Flask框架构建,使用Gunicorn作为WSGI服务器。
0 次下载activeindigopaas镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Orchestrator-dashboard

INDIGO PaaS Orchestrator的简单图形化界面。

镜像概述和主要用途

orchestrator-dashboard是一个基于Flask微框架构建的Python应用,使用Flask-Dance实现Openid-Connect/OAuth2集成。Docker镜像使用Gunicorn作为WSGI HTTP服务器来运行Flask应用。该镜像提供了PaaS编排器的图形化管理界面,方便用户管理部署。

核心功能和特性

  • IAM认证
  • 显示用户的部署
  • 显示部署详情、模板和日志
  • 删除部署
  • 创建新部署

使用场景和适用范围

适用于需要通过图形化界面管理INDIGO PaaS Orchestrator部署的用户,包括开发人员、系统管理员等,用于监控、管理和操作PaaS平台上的应用部署。

使用方法和配置说明

前置条件

应用需要数据库存储数据并通过HTTPS运行。

  • 运行MySQL实例(版本5.7或8)
    • 具有完全数据库管理权限的用户,用于自动创建/管理数据库
  • 运行Redis实例
  • 在IAM中注册客户端,具有以下属性:
    • 重定向URI:https://<DASHBOARD_HOST>:<PORT>/login/iam/authorized
    • 作用域:openid、email、profile、offline_access
    • 授权类型:authorization_code、refresh_token和urn:ietf:params:oauth:grant-type:token-exchange
      • 最后一种可能需要与IAM管理员交互
  • 在项目顶层目录创建instance文件夹,包含以下文件:
    • config.json
  • 配置应用使用证书
    • 若要使用自动生成的证书,可执行以下命令:
      bash
      openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365
      
      将证书放在任意位置,使用时引用正确路径。launch.json和docker-compose.yml期望证书位于certs文件夹中。
    • 或使用HTTPS代理
      • 启动代理并配置其将用户请求重定向到仪表板
      • 使用正确的回调路径更新IAM客户端(例如https://<PROXY_HOST>/login/iam/authorized)
      • 运行应用时不使用证书
      • 通过https://<PROXY_HOST>/访问仪表板
本地环境

若要在仓库提供的Docker镜像外运行应用:

  • 安装requirements.txt中定义的包依赖 使用pip:
    bash
    pip install -r requirements.txt
    
    使用poetry:
    bash
    cat requirements.txt | xargs poetry add
    
    安装过程和虚拟环境激活取决于您偏好的方式。
可选配置
  • 若要更改图形或自动启用一组功能,请选择预配置的配置文件

    • 在config.json文件中,设置CONFIGURATION_PROFILE变量(例如infn-cloud)。
  • 若要启用Redis

    • 在config.json文件中,设置REDIS_URL变量(例如redis://:my-password@localhost:6379)。
  • 若要更改上传文件夹

    • 在config.json文件中,设置UPLOAD_FOLDER(例如**/opt/uploads**)。
  • 若要在左侧导航栏显示高级菜单选项或在部署创建中启用调度配置

    • 在config.json文件中,设置FEATURE_ADVANCED_MENU为true。
  • 若要使用docker/start.sh文件启动应用

    • 设置环境变量ENABLE_HTTPS=True
  • 若需要安装和信任默认CA bundle中未包含的证书

    • 在trusted_certs文件夹中创建CA证书。
  • 若要集成vault服务

    • 在instance文件夹中添加vault-config.json文件。
  • 若要手动克隆tosca-templates仓库

    • 克隆tosca-templates仓库并更新config.json文件,使TOSCA_TEMPLATES_DIR指向正确路径(例如**/opt/tosca-templates**)。
    bash
    git clone [***]
    

    docker-compose.yml期望该仓库位于instance文件夹中。

  • 若要手动克隆dashboard-configuration仓库

    • 克隆dashboard-configuration仓库并更新config.json文件,使SETTINGS_DIR指向正确路径(例如**/opt/dashboard-configuration**)。
    bash
    git clone [***]
    

    docker-compose.yml期望该仓库位于instance文件夹中。

    在dashboard-configuration/tosca-metadatametadata.yaml中定义了用户与可用服务之间的映射。可以使用正则表达式定义多个组。

  • 若要启用SSH公钥

    • 在config.json文件中,设置FEATURE_REQUIRE_USER_SSH_PUBKEY为yes。
    • 启用vault(见下一点)。
  • 若要启用vault功能

    • 若有vault服务,必须正确配置。它必须向用户授予正确的读、写和删除策略。这些策略的名称必须与vault-config.json变量中设置的策略名称匹配。
    • vault必须支持通过JWT token进行认证。
    • 在config.json文件中,设置FEATURE_VAULT_INTEGRATION为yes。
    • 创建vault-config.json文件,至少包含:VAULT_URL、VAULT_ROLE和VAULT_BOUND_AUDIENCE。
  • 使用环境变量代替在.json文件中定义变量

    • 创建带有FLASK_前缀的环境变量(例如FLASK_TOSCA_TEMPLATES_DIR)
config.json参数
键描述是否必填
SECRET_KEY项目的唯一标识符是
IAM_CLIENT_ID在IAM中注册的客户端ID是
IAM_CLIENT_SECRET在IAM中注册的客户端密钥是
IAM_BASE_URLIAM URL是
IAM_SCOPEIAM允许的作用域是
ORCHESTRATOR_URL编排器服务URL否
SLAM_URLSLAM服务URL是
CMDB_URLCMDB服务URL否
IM_URLIM服务URL否
EXTERNAL_LINKS其他外部链接...否
SQLALCHEMY_DATABASE_URI数据库的完整URL是
REDIS_URLRedis实例的完整URL。若未设置,应用将尝试连接本地主机。否
CALLBACK_URL编排器用于更新仪表板的URL是
ADMINS管理员电子邮件列表。列表中的每个电子邮件必须用单引号括起来。(已弃用)否
SUPPORT_EMAIL用户支持电子邮件否
IAM_GROUP_MEMBERSHIP应用中使用的用户组列表否
IAM_ADMIN_GROUPS管理员所属的IAM组列表是
CONFIGURATION_PROFILE选择仪表板图形否
LOG_LEVEL应用日志级别。必须为大写。否
ENABLE_HTTPS仅在运行start.sh脚本时启用HTTPS。否
TOSCA_TEMPLATES_DIRtosca-templates仓库的路径。若已克隆,将上传其内容;否则为放置仓库内容的目标文件夹名称。否
SETTINGS_DIRdashboard-configuration仓库的路径。若已克隆,将上传其内容;否则为放置仓库内容的目标文件夹名称。否
UPLOAD_FOLDER上传文件保存的文件夹路径。若文件夹不存在,服务将在创建第一个项目时创建它。否
FEATURE_ADVANCED_MENU启用部署调度和其他高级设置。否
FEATURE_HIDDEN_DEPLOYMENT_COLUMNS在部署列表中隐藏的列(用户视图)否
FEATURE_DEPLOYMENT_SORT_COLUMN部署列表的初始排序列(用户视图)否
FEATURE_HIDDEN_ADMIN_DEPLOYMENT_COLUMNS在部署列表中隐藏的列(管理员视图)否
FEATURE_HIDDEN_DEPLOYMENT_SORT_COLUMN部署列表的初始排序列(管理员视图)否
FEATURE_MAX_PIE_SLICES饼图中的最大切片数(0表示无限制)(管理员视图)否
FEATURE_SHOW_BROKEN_DEPLOYMENTS在统计中显示没有模板引用的部署(UNKNOWN模板)(管理员视图)否
FEATURE_UPDATE_DEPLOYMENT更新部署时启用更新/删除高级选项(已弃用-相关图形未更新)。否
FEATURE_VAULT_INTEGRATION启用vault集成。否
FEATURE_REQUIRE_USER_SSH_PUBKEY启用添加用户SSH公钥的部分。依赖于FEATURE_VAULT_INTEGRATION,因为SSH公钥存储在vault中。提交任何部署时此项为必填。否
FEATURE_S3CREDS_MENU启用S3凭据创建菜单。(已弃用)否
PROVIDER_NAMES_TO_SPLIT要拆分为提供商名称和区域名称的提供商名称列表。否
MAIL_SERVERSMTP服务器否
MAIL_PORTSMTP服务器端口否
MAIL_SENDER电子邮件中的发件人***否
MAIL_USERNAME要使用的电子邮件账户的用户名否
MAIL_PASSWORD要使用的电子邮件账户的密码否
MAIL_USE_TLS使用TLS否
LDAP_TLS_CACERT_FILELDAP的CA验证证书否
LDAP_SOCKET用于连接LDAP实例的套接字否
LDAP_BASE否
LDAP_BIND_USER否
LDAP_BIND_PASSWORD否
RUCIO_CONNECTOR_ENABLE是否启用Rucio。必须设置为'yes'才启用否
RUCIO_CONNECTOR_URLRucio连接器的URL否

LDAP变量是运行Sync&Share等服务所必需的。

vault-config.json参数

仅当FEATURE_VAULT_INTEGRATION=yes时,这些变量才为必填。

尽管TOKEN_TIME_DURATION和TOKEN_RENEWAL_TIME_DURATION都标记为必填,但它们可视为互斥。

键描述是否必填
VAULT_URLVault服务URL是
VAULT_ROLEVault角色是
VAULT_OIDC_AUDIENCE该角色的Vault注册受众(已弃用)是
VAULT_BOUND_AUDIENCE该角色的Vault注册受众否
VAULT_SECRET_PATHURL中用户密钥的根路径(已弃用)否
VAULT_SECRETS_PATHURL中用户密钥的根路径(当前未在代码中使用,仅在ansible脚本中使用)否
WRAPPING_TOKEN_TIME_DURATION是
READ_POLICY要使用的读策略名称是
READ_TOKEN_TIME_DURATIONVault令牌的删除权限持续时间是
READ_TOKEN_RENEWAL_TIME_DURATION读令牌续期周期。若定义此值,令牌的持续时间等于该周期。READ_TOKEN_TIME_DURATION可省略。是
WRITE_POLICY要使用的写策略名称是
WRITE_TOKEN_TIME_DURATIONVault令牌的写权限持续时间是
WRITE_TOKEN_RENEWAL_TIME_DURATION写令牌续期周期。若定义此值,令牌的持续时间等于该周期。WRITE_TOKEN_TIME_DURATION可省略。是
DELETE_POLICY要使用的删除策略名称是
DELETE_TOKEN_TIME_DURATIONVault令牌的删除权限持续时间是
DELETE_TOKEN_RENEWAL_TIME_DURATION删除令牌续期周期。若定义此值,令牌的持续时间等于该周期。DELETE_TOKEN_TIME_DURATION可省略。是

运行应用

仪表板首次启动时,从管理员设置页面,您需要下载tosca-templates仓库。它将被放置在TOSCA_TEMPLATES_DIR中。

仪表板首次启动时,从管理员设置页面,您需要下载dashboard-configuration仓库。它将被放置在SETTINGS_DIR中。

本地环境

在本地环境运行Flask应用的命令:

bash
FLASK_app=orchdashboard flask run --host=0.0.0.0 --cert cert.pem --key key.pem

在本地环境使用gunicorn运行应用的命令:

bash
gunicorn -w 1 --timeout 60 \
    --bind 0.0.0.0:5000 \
    --certfile certs/cert.pem \
    --keyfile certs/key.pem \
    orchdashboard:app

或者,您可以运行docker/start.sh脚本,该脚本是Docker化实例启动时运行的脚本。

该脚本使用CERT和KEY环境变量定义cert.pem和key.pem文件的路径;默认情况下,它们等于/certs/cert.pem和/certs/key.pem。

服务暴露的端口可以使用PORT环境变量设置;默认情况下,start.sh脚本在端口5001上暴露服务。

运行脚本:

bash
./docker/start.sh
Docker环境

若要在Docker容器中运行应用,仓库提供了Docker镜像和docker-compose.yml文件以启动所有需要的服务。

运行Docker容器:

bash
docker run -d -p 5000:5001 \
    --name='orchestrator-dashboard' \
    -v $PWD/certs:/certs \
    -v $PWD/trusted_certs:/trusted_certs \
    -v $PWD/instance/:/app/instance/ \
    -e ENABLE_HTTPS=True \
    -e TOSCA_TEMPLATES_DIR=/app/instance/tosca-templates \
    -e SETTINGS_DIR=/app/instance/dashboard-configuration \
    -e UPLOAD_FOLDER=/app/instance/uploads \
    infn-datacloud/orchestrator-dashboard:latest

由于应用在容器内运行,请记住正确设置SQLALCHEMY_DATABASE_URI和REDIS_URL作为环境变量或在config.json中设置。

除了orchestrator-dashboard,docker compose还启动5.7版本的MySQL数据库和Redis服务实例。此外,它绑定项目顶层目录中的instance文件夹。期望在该目录中找到所有.json文件,并将tosca-templates、dashboard-configuration和uploads文件夹放在那里。docker-compose.yml正确定义了环境变量SQLALCHEMY_DATABASE_URI、REDIS_URL、TOSCA_TEMPLATES_DIR、SETTINGS_DIR和UPLOAD_FOLDER。

运行docker compose套件:

bash
docker compose -f docker/docker-compose.yml up -d

默认情况下,Docker镜像暴露端口5001而非5000。docker-compose.yml将容器的5001端口映射到本地主机的5000端口。 默认情况下,TOSCA_TEMPLATES_DIR、SETTINGS_DIR和UPLOAD_FOLDER指向需要管理员权限的路径。docker-compose.yml将这些变量映射到用户可访问的路径。

Devcontainer

对于VSCode用户,.devcontainer文件夹中提供了devcontainer配置。

数据库更新(手动)

仓库包含orchdasboard_dev.py文件,应用于开发人员调试。与主文件orchdashboard.py的主要区别是它调用检查和自动更新数据库的例程。 如果要使用上述生产环境的orchdashboard.py文件进行调试,当需要更新数据库时,必须手动启动migrate_db.py文件。 在Docker化配置中,此文件会自动启动。

如何构建Docker镜像

bash
git clone [***]
cd orchestrator-dashboard
docker build -f docker/Dockerfile -t
查看更多 orchestrator-dashboard 相关镜像 →
rancher/rio-dashboard logo
rancher/rio-dashboard
by Rancher by SUSE
认证
暂无描述
1M+ pulls
上次更新:6 年前
airbyte/container-orchestrator logo
airbyte/container-orchestrator
by Airbyte
认证
暂无描述
10M+ pulls
上次更新:3 小时前
bitnami/parse-dashboard logo
bitnami/parse-dashboard
by VMware
认证
Bitnami安全加固的Parse Dashboard镜像,用于监控和管理Parse应用,遵循安全最佳实践。
10100K+ pulls
上次更新:5 个月前
sublimesec/dashboard logo
sublimesec/dashboard
by Sublime Security, Inc.
认证
暂无描述
100K+ pulls
上次更新:6 小时前
apache/apisix-dashboard logo
apache/apisix-dashboard
by The Apache Software Foundation
Apache APISIX Dashboard是Apache APISIX的官方Web UI,旨在为用户提供友好、直观的界面以管理和运维APISIX集群,支持可视化配置路由、服务、上游、插件等核心资源,实时监控集群运行状态与流量指标,有效简化APISIX的运维复杂度,帮助用户更高效地部署、管理和维护API网关。
3810M+ pulls
上次更新:2 年前
hashicorp/dashboard-service logo
hashicorp/dashboard-service
by HashiCorp, an IBM Company
认证
HashiCorp Consul课程的演示服务,用于从后端计数服务获取数字。
4100K+ pulls
上次更新:2 年前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
indigopaas/orchestrator-dashboard
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429