Alluxio
ProductsLanguageHome
AI-3.6 (stable)
AI-3.6 (stable)
  • 概览
    • Alluxio 命名空间和底层文件系统
    • worker管理与一致性哈希
    • 多租户和统一管理
    • I/O弹性
  • 部署Alluxio
    • 资源需求和兼容性
    • 安装
      • 在Kubernetes上安装Alluxio
      • 镜像管理
      • 高级配置
      • 许可证
    • 监控和指标
    • 管理控制台
      • 部署
      • 导航控制台
      • 用户角色与访问控制
    • 集群管理
    • 系统健康检查和快速恢复
    • 诊断快照
  • 底层存储系统
    • Amazon AWS S3
    • Azure Blob Store
    • HDFS
    • 阿里云 OSS
    • 腾讯 COS
    • 火山引擎 TOS
    • 谷歌云 GCS
    • 百度智能云对象存储 BOS
    • 网络附加存储 NAS
  • 数据访问
    • 通过 FUSE( POSIX API)访问
      • Client 写回
      • 客户端虚拟路径映射
    • 通过S3 API访问
    • 通过 PythonSDK/FSSpec 访问
    • UFS 带宽限制器
    • 高可用性数据访问
      • 多副本
      • 多可用区(AZ)
    • 性能优化
      • 文件读取
      • 写入文件
      • 元数据列表
  • 缓存管理
    • 缓存加载
    • 缓存过滤策略
    • 缓存驱逐
      • 通过TTL (有效时间)策略自动驱逐缓存
      • 优先级规则
      • 通过Free命令手动驱逐
    • 过期缓存清理
    • 缓存配额
  • 性能基准测试
    • Fio (POSIX)基准
    • MLPerf Storage 基准测试
    • COSBench (S3) 性能基准测试
  • 安全
    • TLS 支持
  • 参考
    • 用户命令行接口
    • 指标
    • REST API
    • S3 API 的使用
    • 第三方授权
  • 版本发布说明
Powered by GitBook
On this page
  • 配置示例
  • 访问管理控制台
  • 通过节点主机名访问控制台
  • 通过负载均衡器访问控制台
  • 登录控制台
  • 高级配置
  • 配置 Gateway 和管理控制台之间的 TLS 连接
  • Okta 认证类型
  1. 部署Alluxio
  2. 管理控制台

部署

要启用基于 Web 的管理控制台,请确保在 Operator 配置中同时启用了仪表盘(dashboard)和 网关(Gateway)组件。这将确保控制台能够正确部署在 Kubernetes 集群中。

管理控制台目前仅支持Kubernetes部署。不支持裸机部署。

配置示例

以下是用于管理控制台的示例配置,可添加到现有的 Alluxio 集群配置 YAML 文件中:

apiVersion: k8s-operator.alluxio.com/v1
kind: AlluxioCluster
spec:
  gateway:
    enabled: true
    image: <PRIVATE_REGISTRY>/alluxio-gateway
    imageTag: AI-3.6-12.0.2
  dashboard:
    enabled: true
    image: <PRIVATE_REGISTRY>/alluxio-dashboard
    imageTag: AI-3.6-12.0.2

访问管理控制台

访问管理控制台有以下几种方式:

通过节点主机名访问控制台

控制台将在其主机上的80端口公开其服务。使用kubectl获取主机名:

kubectl -n alx-ns get pod $(kubectl -n alx-ns get pod -l app.kubernetes.io/component=dashboard --no-headers -o custom-columns=:metadata.name) -o jsonpath='{.spec.nodeName}'

假设主机名是foo.kubernetes.org,则可以在以下位置访问管理控制台:

http://foo.kubernetes.org:80/

通过负载均衡器访问控制台

要在外部公开管理控制台,可以配置类型为LoadBalancer的Kubernetes服务。这允许集群外部的流量访问 Dashboard 组件。

以下是通过负载均衡器公开 Dashboard 服务定义的示例:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: LoadBalancer
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  selector:
    app.kubernetes.io/instance: alluxio-dashboard
    app.kubernetes.io/name: dashboard

将上述内容保存为 load-balancer.yaml 文件,并通过以下命令创建该服务:

kubectl create -f load-balancer.yaml

创建服务后,Kubernetes将提供外部IP或DNS名称,具体取决于您的云服务厂商。可以使用以下命令查看状态:

kubectl -n alx-ns get service load-balancer

示例输出:

my-service   LoadBalancer   171.33.111.33  some-random-string.region.elb.amazonaws.com   80:30977/TCP   8m50s

现在,您可以使用外部IP或DNS名称在浏览器中访问管理控制台。

登录控制台

在默认的 authType 设置为 simple 的情况下,登录页面只会要求输入用户名。由于该模式主要用于测试用途,因此不会进行任何验证,任意用户名均可登录。

高级配置

启用审计日志

审计日志用于跟踪用户在管理控制台中的活动以及系统事件,以满足安全性和合规性要求。此功能默认启用,无需额外配置。

访问审计日志: 可在 Web Console Pod 内的/opt/alluxio/dashboard/audit-logs/dashboard-audit.log路径查看日志文件。

配置示例:

apiVersion: k8s-operator.alluxio.com/v1
kind: AlluxioCluster
spec:
  dashboard:
    enabled: true
    image: <PRIVATE_REGISTRY>/alluxio-dashboard
    imageTag: AI-3.6-12.0.2
    auditLog:
      enabled: true  # Set to false to disable audit logging

配置 Gateway 和管理控制台之间的 TLS 连接

当在 Gateway 中启用 TLS(传输层安全协议)时,需要配置管理控制台以建立安全的 TLS 连接。这包括向 Web 控制台提供 CA(证书颁发机构)证书,控制台将使用该证书来验证 Gateway 的 TLS 证书的有效性。

  1. 准备 CA 证书

    • 已获取有效的 CA 证书文件(通常命名为 ca.crt)

    • 准备好 Gateway 的证书文件(server.crt)和私钥文件(server.key)

    • 确保 Gateway 的证书已由该 CA 正确签署

  2. 创建 Kubernetes Secret

    # 使用 CA 证书、Gateway 证书和 key 创建 Kubernetes Secret
    kubectl create secret generic gateway-k8s-secret-name \
      --from-file=ca.crt=/path/to/ca.crt \
      --from-file=server.key=/path/to/server.key \
      --from-file=server.crt=/path/to/server.crt \
      --namespace=alx-ns
  3. 配置Alluxio 集群

     apiVersion: k8s-operator.alluxio.com/v1
    kind: AlluxioCluster
    spec:
      gateway:
        enabled: true
        image: <PRIVATE_REGISTRY>/alluxio-gateway
        imageTag: AI-3.6-12.0.2
        tls:
          enabled: true
          secretName: gateway-k8s-secret-name 
          certFile: server.crt 
          certKeyFile: server.key 
      dashboard:
        enabled: true
        image: <PRIVATE_REGISTRY>/alluxio-dashboard
        imageTag: AI-3.6-12.0.2
        gateway:
          secretName: gateway-k8s-secret-name  
          caFile: ca.crt                  

重要说明

  • 配置中的 secretName 必须与创建 Kubernetes secret 时使用的名称完全匹配。

  • 所有文件名(如 caFile、certFile、certKeyFile)必须与 Secret 中使用的文件名对应。

  • 确保 CA 证书和 Gateway 证书均有效且未过期。

  • 管理控制台在连接时会使用 CA 证书来验证 Gateway 的 TLS 证书。

  • 重要: 提供的 CA 证书必须与 Gateway 的 TLS 证书在同一个证书链中。使用来自不同证书链的 CA 证书将导致 TLS 验证失败。

Okta 认证类型

Okta认证为您的管理控制台提供安全的企业级访问控制。请按照以下步骤设置和使用Okta认证:

1. Okta中的应用程序配置

  1. 登录到Okta管理控制面板

  2. 导航到Applications > Applications

  3. 点击Create App Integration

  4. 选择**Single-Page Application (SPA)**类型

5. 使用应用程序名称和一些选项完成基本配置

  1. 在应用程序设置的Login部分,配置:

    • Sign-in redirect URIs:http://your-domain:your-port/login/callback

    • Sign-out redirect URIs:http://your-domain:your-port/user/login

    • 将your-domain和your-port替换为实际的域名和端口值

    • 这些设置确保Okta认证完成后的正确重定向

  1. 保存应用程序配置

2. 用户组分配和授权

要控制对管理控制台的访问:

  1. 在Okta管理控制面板中,导航到Directory > Groups

  2. 创建用户组(如果尚未创建),例如 "Admins"

  3. 将相应的用户添加到这些用户组中

  4. 返回到应用程序设置

  5. 在Assignments选项卡下,分配应该有权访问管理控制台的用户组

3. 授权服务器配置

管理控制台需要特定的OAuth作用域才能正常运行:

  1. 在Okta管理控制面板中,导航到Security > API

  2. 选择授权服务器(或根据需要创建一个)

  3. 转到Scopes (作用域)选项卡

  4. 点击Add Scope

  5. 创建一个名为alluxio的作用域,并填写适当的描述

  6. 管理控制台需要openid作用域(Okta中的默认值)和这个自定义的alluxio作用域

4. 获取配置值

完成设置后,请收集以下信息,用于管理控制台的配置:

  1. Okta发行者URL:

    • 在Okta管理控制面板中导航到Security > API

    • 选择授权服务器

    • 复制发行者URL(格式:https://your-okta-domain/oauth2/default)

  2. 客户端ID:

    • 转到应用程序设置

    • 从Client Credentials部分复制客户端ID

  3. 使用这些值更新Alluxio配置:

    web:
      authType: okta
      oktaIssuer: https://your-okta-domain/oauth2/default
      oktaClientID: your-client-id-value

5. 登录过程

使用Okta认证时:

  1. 导航到管理控制台URL

  2. 登录页面将显示"Login with Okta"按钮

  3. 点击此按钮将被重定向到您所在组织的Okta认证门户

  4. 输入Okta凭证并完成配置的多因素认证(如果有)

  5. 成功认证后,将被重定向回管理控制台

  6. 当前会话将根据Okta token的配置保持有效

6. Okta集成故障排除

如果您在Okta认证中遇到问题:

  • 验证重定向URI在Okta和应用程序中是否正确配置

  • 检查用户是否分配到具有应用程序访问权限的相应用户组

  • 确保alluxio作用域正确创建并与授权服务器关联

  • 确认配置中的发行者URL和客户端ID与Okta中的值匹配

Last updated 1 day ago

在生产环境中,应该将认证类型修改为,以确保安全性。

这种应用程序类型利用进行安全的客户端 token 获取

如果在部署中启用了授权,请将相应的声明(claims) 与此作用域关联。在下面的屏幕截图中,授权配置中的roleFieldName设置为userType,groupFieldName设置为department。更多信息请访问。

使用 Okta 进行身份验证
带PKCE的授权码流
用户角色和访问控制
带有Okta选项的管理控制台登录页面
Okta认证门户