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

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
openunison-k8s-operator

tremolosecurity/openunison-k8s-operator

tremolosecurity

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

1 次收藏下载次数: 0状态:社区镜像维护者:tremolosecurity仓库类型:镜像最近更新:11 个月前
轩辕镜像,加速的不只是镜像。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,加速的不只是镜像。点击查看

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:<标签>

更多 openunison-k8s-operator 镜像推荐

victoriametrics/operator logo

victoriametrics/operator

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

istio/operator

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

rancher/cis-operator

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

redislabs/operator

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

rancher/eks-operator

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

dynatrace/dynatrace-operator

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

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

轩辕镜像配置手册

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

Docker 配置

登录仓库拉取

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

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

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 search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

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

免费版与专业版区别

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

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

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