轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
openunison-k8s-operator

tremolosecurity/openunison-k8s-operator

tremolosecurity

OpenUnison Operator为Kubernetes和OpenShift上的OpenUnison实例提供运维自动化机制,可自动生成证书密钥、创建Kubernetes/OpenShift对象(如Secret、Deployment、Ingress/Route等),支持SAML2元数据导入、数据库初始化及ActiveMQ部署,简化证书管理和配置更新。

1 次收藏下载次数: 0状态:社区镜像维护者:tremolosecurity仓库类型:镜像最近更新:1 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,加速的不只是镜像。
点击查看

OpenUnison Operator for Kubernetes and OpenShift

镜像概述和主要用途

OpenUnison Operator为在Kubernetes和OpenShift上运行的OpenUnison实例提供运维自动化机制。该Operator会生成运行OpenUnison所需的密钥和对象,包括证书密钥生成、Kubernetes/OpenShift资源创建、SAML2元数据导入、数据库初始化及ActiveMQ部署等,旨在简化OpenUnison的运维管理流程。

核心功能和特性

  • 证书和密钥生成:无需运行Java keytool 即可生成证书和密钥
  • Kubernetes资源创建:自动创建运行OpenUnison所需的Secret、Deployment、Service和Ingress规则
  • OpenShift资源创建:针对OpenShift环境,自动创建Route、DeploymentConfig、ImageStream和Build
  • SAML2元数据导入:支持从URL或XML直接导入SAML2元数据
  • 数据库初始化:自动初始化用于跟踪审计数据的数据库
  • 高可用部署:部署和运维ActiveMQ以实现高可用性

为什么使用Operator?

Operators有助于自动化常见任务。对于OpenUnison,最常见的任务与证书管理和服务账户相关。例如,当与远程SAML2身份提供商(如Active Directory Federation Services)配合使用时,OpenUnison可以检查可信证书是否已轮换,如有需要则自动重新部署,无需管理员干预。

!OpenUnison Operator与SAML2

除了自动化常见运维任务外,Operator还提供了Kubernetes原生方式更新OpenUnison配置。现在更新配置只需更新Kubernetes中的对象,无需手动生成密钥库或网络配置。

部署OpenUnison Operator

OpenShift 4 - 认证Operator

在OCP4内部,进入Operator Hub并搜索OpenUnison认证Operator:

!OpenUnison Operator在OCP4 OperatorHub中

Kubernetes和OpenShift 3.x

OpenUnison Operator在OpenUnison将要运行的命名空间中以最小权限运行。部署Operator前,需要以具有部署CRD对象权限的身份安装OpenUnison的CRD:

kubectl create -f https://raw.githubusercontent.com/TremoloSecurity/openunison-k8s-operator/master/src/main/yaml/openunison-operator-crd.yaml

CRD部署完成后,作为命名空间管理员,需要创建RBAC规则和ServiceAccount:

kubectl create -f https://raw.githubusercontent.com/TremoloSecurity/openunison-k8s-operator/master/src/main/yaml/openunison-operator-deploy.yaml -n openunison

最后部署Operator。在OpenShift上运行时,使用OpenShift原生对象:

kubectl create -f XXXXXXX

在Kubernetes上:

kubectl create -f https://raw.githubusercontent.com/TremoloSecurity/openunison-k8s-operator/master/src/main/yaml/openunison-operator-deployment.yaml -n openunison

部署完成后,将运行一个pod,等待OpenUnison自定义资源的部署。

升级Operator

OpenUnison Operator会定期更新以修复已知CVE。升级Operator的最简单方法是终止Operator的pod,使其拉取最新版本。

升级现有OpenUnison实例

使用转换器工具生成OpenUnison CR - TODO

OpenUnison自定义资源

OpenUnison自定义资源用于配置以下内容:

  1. OpenUnison网络配置(如密码套件、TLS使用的密钥等)
  2. OpenUnison PKCS12密钥库(所有密钥和证书基于Kubernetes密钥生成,无需使用Java keytool)
  3. 参数Secret(OpenUnison允许将参数集成到配置中,使配置可安全存储在源代码控制中并跨环境使用,这些数据现在来自Kubernetes对象,无需嵌入到单个大型密钥中)

Kubernetes的OpenUnison CR示例

以下是Kubernetes的简单OpenUnison CR示例:

yaml
apiVersion: openunison.tremolo.io/v1
kind: OpenUnison
metadata:
  name: test-openunison
  namespace: openunison
spec:
  image: tremolosecurity/openunison-simple
  replicas: 1
  enable_activemq: false
  dest_secret: openunison
  source_secret: openunison-secrets-source
  hosts:
    - names:
        - name: test.apps.mydomain.com
          env_var: OU_HOST
      ingress_name: openunison
      secret_name: ou-tls-certificate
  secret_data:
    - unisonKeystorePassword
    - TEST_USER_PASSWORD
    - REG_CRED_PASSWORD
  non_secret_data:
    - name: REG_CRED_USER
      value: rh_user
    - name: TEST_USER_NAME
      value: testuser
    - name: MYVD_CONFIG_PATH
      value: WEB-INF/myvd.conf
    - name: unisonKeystorePath
      value: /etc/openunison/unisonKeyStore.p12
  openunison_network_configuration:
    open_port: 8080
    open_external_port: 80
    secure_port: 8443
    secure_external_port: 443
    secure_key_alias: unison-tls
    force_to_secure: true
    activemq_dir: /tmp/amq
    quartz_dir: /tmp/quartz
    client_auth: none
    allowed_client_names: []
    ciphers:
      - TLS_RSA_WITH_RC4_128_SHA
      - TLS_RSA_WITH_AES_128_CBC_SHA
      - TLS_RSA_WITH_AES_256_CBC_SHA
      - TLS_RSA_WITH_3DES_EDE_CBC_SHA
      - TLS_RSA_WITH_AES_128_CBC_SHA256
      - TLS_RSA_WITH_AES_256_CBC_SHA256
    path_to_deployment: /usr/local/openunison/work
    path_to_env_file: /etc/openunison/ou.env
  key_store:
    static_keys:
      - name: session-unison
        version: 1
    trusted_certificates: 
      - name: trusted-adldaps
        pem_data: |-
                  -----BEGIN CERTIFICATE-----
                  MIIDNDCCAhygAwIBAgIQbRNj6RKqtqVPvW65qZxXXjANBgkqhkiG9w0BAQUFADAi
                  MSAwHgYDVQQDDBdBREZTLkVOVDJLMTIuRE9NQUlOLkNPTTAeFw0xNDAzMjgwMTA1
                  MzNaFw0yNDAzMjUwMTA1MzNaMCIxIDAeBgNVBAMMF0FERlMuRU5UMksxMi5ET01B
                  SU4uQ09NMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2s9JkeNAHOkQ
                  1QYJgjefUwcaogEMcaW/koA+bu9xbr4rHy/2gN/kc8OkoPuwJ/nNlOIO+s+MbnXS
                  L9mUTC4OK7trkEjiKXB+D+VSYy6imXh6zpBtNbeZyx+rdBnaOv3ByZRnnEB8LmhM
                  vHA+4f/t9fx/2vt6wPx//VgIq9yuYYUQRLm1WjyUBFrZeGoSpPm0Kewm+B0bhmMb
                  dyC+3fhaKC+Uk1NPodE2973jLBZJelZxsZY40Ww8zYQwdGYIbXqoTc+1a/x4f1En
                  m4ANqggHtw+Nq8zhss3yTtY+UYKDRBILdLVZQhHJExe0kAeisgMxI/bBwO1HbrFV
                  +zSnk+nvgQIDAQABo2YwZDAzBgNVHSUELDAqBggrBgEFBQcDAQYIKwYBBQUHAwIG
                  CisGAQQBgjcUAgIGCCsGAQUFBwMDMB0GA1UdDgQWBBTyJUfY66zYbm9i0xeYHuFI
                  4MN7uDAOBgNVHQ8BAf8EBAMCBSAwDQYJKoZIhvcNAQEFBQADggEBAM5kz9OKNSuX
                  8w4NOgnfIFdazd0nPlIUbvDVfQoNy9Q0S1SFUVMekIPNiVhfGzya9IwRtGb1VaBQ
                  AQ2ORIzHr8A2r5UNLx3mFjpJmeOxQwlV0X+g8s+253KVFxOpRE6yyagn/BxxptTL
                  a1Z4qeQJLD42ld1qGlRwFtVRmVFZzVXVrpu7NuFd3vlnnO/qKWXU+uMsfXtsl13n
                  ec1kw1Ewq2jnK8WImKTQ7/9WbaIY0gx8mowCJSOsRq0TE7zK/N55drN1wXJVxWe5
                  4N32eCqotXy9j9lzdkNa7awb9q38nWVxP+va5jqNIDlljB6tExy5n3s7t6KK6g5j
                  TZgVqrZ3+ms=
                  -----END CERTIFICATE-----
    key_pairs:
      create_keypair_template:
        - name: ou
          value: k8s
        - name: o
          value: Tremolo Security
        - name: l
          value: Alexandria
        - name: st
          value: Virginia
        - name: c
          value: US
      keys:
        - name: unison-tls
          tls_secret_name: unison-tls-secret
          import_into_ks: keypair
          create_data:
            sign_by_k8s_ca: false
            server_name: test-openunison.openunison.svc.cluster.local
            subject_alternative_names: []
            key_size: 2048
            ca_cert: true
        - name: unison-ca
          tls_secret_name: ou-tls-certificate
          import_into_ks: certificate
          create_data:
            sign_by_k8s_ca: false
            server_name: test.apps.mydomain.com
            subject_alternative_names: []
            key_size: 2048
            ca_cert: false

hosts

hosts部分告知Operator在Kubernetes中创建哪些Ingress对象或在OpenShift中创建哪些Route。每个主机的主机名存储在环境密钥中,以便在OpenUnison配置中使用。在Kubernetes上,单个Ingress对象可包含多个主机名;在OpenShift上,每个Route只能有一个主机名。在Kubernetes上,需指定用于Ingress对象的密钥对名称。

secret_data

此部分列出source_secret中应导入到OpenUnison环境密钥的data元素。

non_secret_data

使用此部分定义不被视为机密的参数,例如环境参数、主机名等。切勿在此部分存储密码。

openunison_network_configuration

OpenUnison的网络配置,通常可直接使用默认值。

key_store

此部分定义OpenUnison使用的密钥库内容,包含以下子部分:

static_keys

OpenUnison广泛使用静态AES-256密钥。此部分定义要创建的密钥。列出的每个密钥都会添加到存储这些密钥的Secret中。当version更改时,Operator将生成新密钥并添加到密钥库。

trusted_certificates

此列表中的每个证书都会作为受信任证书添加到密钥库,例如需要信任的远程LDAPS服务证书。

key_pairs

OpenUnison Operator可以生成自签名证书或包含存储在Kubernetes中的TLS密钥对作为Secret。

create_keypair_template

此部分定义生成的密钥对主题的组成部分(主机名除外)。

keys

列出的每个密钥要么从tls_secret_name指定的Secret导入(如果存在),要么生成并存储在tls_secret_name中。生成证书时为自签名,主题基于create_data部分生成。生成的证书将使用server_name作为主题,并生成包含server_name的主题备用名称列表。

OpenShift上的OpenUnison CR

OpenUnison Operator将使用OpenShift原生对象部署到OpenShift。如果Operator部署在OpenShift上,image选项将被忽略,而是使用openshift部分驱动Source-to-Image流程。

以下是在OpenShift中启动仅包含测试用户的OpenUnison实例的简单OpenUnison CR示例:

yaml
apiVersion: openunison.tremolo.io/v1
kind: OpenUnison
metadata:
  name: test-openunison
  namespace: openunison
spec:
  openshift:
    git:
      repo: 'https://github.com/TremoloSecurity/openunison-qs-simple.git'
      branch: master
      dir: /
    builder_image: registry.connect.redhat.com/tremolosecurity/openunison-s2i-10
  replicas: 1
  enable_activemq: false
  dest_secret: openunison
  source_secret: openunison-secrets-source
  hosts:
    - names:
        - name: test.apps.mydomain.com
          env_var: OU_HOST
      ingress_name: openunison
  secret_data:
    - unisonKeystorePassword
    - TEST_USER_PASSWORD
    - REG_CRED_PASSWORD
  non_secret_data:
    - name: REG_CRED_USER
      value: rh_user
    - name: TEST_USER_NAME
      value: testuser
    - name: MYVD_CONFIG_PATH
      value: WEB-INF/myvd.conf
    - name: unisonKeystorePath
      value: /etc/openunison/unisonKeyStore.p12
  openunison_network_configuration:
    open_port: 8080
    open_external_port: 80
    secure_port: 8443
    secure_external_port: 443
    secure_key_alias: unison-tls
    force_to_secure: true
    activemq_dir: /tmp/amq
    quartz_dir: /tmp/quartz
    client_auth: none
    allowed_client_names: []
    ciphers:
      - TLS_RSA_WITH_RC4_128_SHA
      - TLS_RSA_WITH_AES_128_CBC_SHA
      - TLS_RSA_WITH_AES_256_CBC_SHA
      - TLS_RSA_WITH_3DES_EDE_CBC_SHA
      - TLS_RSA_WITH_AES_128_CBC_SHA256
      - TLS_RSA_WITH_AES_256_CBC_SHA256
    path_to_deployment: /usr/local/openunison/work
    path_to_env_file: /etc/openunison/ou.env
  key_store:
    static_keys:
      - name: session-unison
        version: 1
    trusted_certificates: []
    key_pairs:
      create_keypair_template:
        - name: ou
          value: k8s
        - name: o
          value: Tremolo Security
        - name: l
          value: Alexandria
        - name: st
          value: Virginia
        - name: c
          value: US
      keys:
        - name: unison-tls
          tls_secret_name: unison-tls-secret
          import_into_ks: keypair
          create_data:
            sign_by_k8s_ca: false
            server_name: test-openunison.openunison.svc.cluster.local
            subject_alternative_names: []
            key_size: 2048
            ca_cert: true

openshift

此部分特定于OpenShift部署(3.x和4.x),通过Source-to-Image系统控制OpenUnison容器的构建过程。git部分告知构建器从何处获取OpenUnison源代码,builder_image指向要使用的s2i镜像。此处指向Red Hat认证镜像,上游CentOS版本可从tremolosecurity/openunisons2idocker:latest获取。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 openunison-k8s-operator 镜像标签

docker pull docker.xuanyuan.run/tremolosecurity/openunison-k8s-operator:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull tremolosecurity/openunison-k8s-operator:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

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

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
tremolosecurity/openunison-k8s-operator
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多 openunison-k8s-operator 镜像推荐

victoriametrics/operator logo

victoriametrics/operator

victoriametrics
用于在Kubernetes环境中自动化部署、管理和运维Victoria Metrics时序数据库的Operator控制器
1亿+ 次下载
12 天前更新
istio/operator logo

istio/operator

istio
用于在Kubernetes集群内管理Istio服务网格的操作员,支持自动化部署、配置及生命周期管理。
7 次收藏10亿+ 次下载
1 年前更新
rancher/cis-operator logo

rancher/cis-operator

rancher
暂无描述
500万+ 次下载
4 个月前更新
redislabs/operator logo

redislabs/operator

redislabs
暂无描述
7 次收藏500万+ 次下载
1 个月前更新
rancher/eks-operator logo

rancher/eks-operator

rancher
暂无描述
100万+ 次下载
20 天前更新
dynatrace/dynatrace-operator logo

dynatrace/dynatrace-operator

dynatrace
通过Dynatrace实现Kubernetes可观测性的自动化
9 次收藏10亿+ 次下载
2 个月前更新

查看更多 openunison-k8s-operator 相关镜像