专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

tremolosecurity/openunison-k8s-operator Docker 镜像 - 轩辕镜像 | Docker 镜像高效稳定拉取服务

热门搜索:openclaw🔥nginx🔥redis🔥mysqlopenjdkcursorweb2apimemgraphzabbixetcdubuntucorednsjdk
openunison-k8s-operator
tremolosecurity/openunison-k8s-operator
tremolosecurity
OpenUnison Operator为Kubernetes和OpenShift上的OpenUnison实例提供运维自动化机制,可自动生成证书密钥、创建Kubernetes/OpenShift对象(如Secret、Deployment、Ingress/Route等),支持SAML2元数据导入、数据库初始化及ActiveMQ部署,简化证书管理和配置更新。
1 次收藏下载次数: 0状态:社区镜像维护者:tremolosecurity仓库类型:镜像最近更新:9 个月前
轩辕镜像,加速的不只是镜像。点击查看
中文简介版本下载
轩辕镜像,加速的不只是镜像。点击查看

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 [***]

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

kubectl create -f [***] -n openunison

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

kubectl create -f XXXXXXX

在Kubernetes上:

kubectl create -f [***] -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: '[***]
      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 相关镜像 →
istio/operator logo
istio/operator
istio
暂无描述
7 次收藏6.2亿+ 次下载
未知更新
rancher/cis-operator logo
rancher/cis-operator
rancher
暂无描述
919.3万 次下载
未知更新
rancher/eks-operator logo
rancher/eks-operator
rancher
暂无描述
435.5万 次下载
未知更新
grafana/agent-operator logo
grafana/agent-operator
grafana
暂无描述
2 次收藏827.1万 次下载
未知更新
rancher/rancher-operator logo
rancher/rancher-operator
rancher
暂无描述
2111.5万 次下载
未知更新
grafana/rollout-operator logo
grafana/rollout-operator
grafana
暂无描述
2 次收藏2094.6万 次下载
未知更新

轩辕镜像配置手册

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

Docker 配置

登录仓库拉取

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

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

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

镜像拉取常见问题

使用与功能问题

docker search 报错:专属域名下仅支持 Docker Hub 查询

docker search 报错问题

网页搜不到镜像:Docker Hub 有但轩辕镜像搜索无结果

镜像搜索不到

离线传输镜像:无法直连时用 docker save/load 迁移

离线传输镜像

Docker 插件安装错误:application/vnd.docker.plugin.v1+json

Docker 插件安装错误

WSL 下 Docker 拉取慢:网络与挂载目录影响及优化

WSL 拉取镜像慢

轩辕镜像是否安全?镜像完整性校验(digest)说明

镜像安全性

如何用轩辕镜像拉取镜像?登录方式与专属域名配置

如何拉取镜像

错误码与失败问题

manifest unknown 错误:镜像不存在或标签错误

manifest unknown 错误

TLS/SSL 证书验证失败:Docker pull 时 HTTPS 证书错误

TLS 证书验证失败

DNS 解析超时:无法解析镜像仓库地址或连接超时

DNS 解析超时

410 Gone 错误:Docker 版本过低导致协议不兼容

410 错误:版本过低

402 Payment Required 错误:流量耗尽错误提示

402 错误:流量耗尽

401 UNAUTHORIZED 错误:身份认证失败或登录信息错误

身份认证失败错误

429 Too Many Requests 错误:请求频率超出专业版限制

429 限流错误

Docker login 凭证保存错误:Cannot autolaunch D-Bus(不影响登录)

凭证保存错误

账号 / 计费 / 权限

免费版与专业版区别:功能、限额与使用场景对比

免费版与专业版区别

支持的镜像仓库:Docker Hub、GCR、GHCR、K8s 等列表

轩辕镜像支持的镜像仓库

拉取失败是否扣流量?计费规则说明

拉取失败流量计费

KYSEC 权限不够:麒麟 V10/统信 UOS 下脚本执行被拦截

KYSEC 权限错误

如何申请开具发票?(增值税普票/专票)

开具发票

如何修改网站与仓库登录密码?

修改网站和仓库密码

配置与原理类

registry-mirrors 未生效:仍访问官方仓库或报错的原因

registry-mirrors 未生效

如何去掉镜像名称中的轩辕域名前缀?(docker tag)

去掉域名前缀

如何拉取指定架构镜像?(ARM64/AMD64 等多架构)

拉取指定架构镜像

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
tremolosecurity/openunison-k8s-operator
博客公告Docker 镜像公告与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.