运营商是https://operatorhub.io/operator/keycloak-operator版本 11.0.0。
集群是 Kubernetes 版本 1.18.12。
我能够按照 OperatorHub.io 中的步骤安装 Operator Lifecycle Manager 和 Keycloak“OperatorGroup”和“Subscription”。它花费的时间比我预期的要长得多(可能是 20 分钟?),但最终创建了相应的“ClusterServiceVersion”。
但是,现在当我尝试通过创建以下资源来使用它时,它似乎根本没有做任何事情:
apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
name: example-keycloak
namespace: keycloak
labels:
app: sso
spec:
instances: 1
externalAccess:
enabled: true
extensions:
- https://github.com/aerogear/keycloak-metrics-spi/releases/download/1.0.4/keycloak-metrics-spi-1.0.4.jar
它接受新资源,所以我知道 CRD 已经到位。文档声明它应该创建一个有状态的集合、一个入口等等,但它似乎并没有创建任何东西。
我检查了集群日志,这是跳出给我的错误:
olm-operator ERROR controllers.operator Could not update Operator status {"request": "/keycloak-operator.my-keycloak-operator", "error": "Operation cannot be fulfilled on operators.operators.coreos.com \"keycloak-operator.my-keycloak-operator\": the object has been modified; please apply your changes to the latest version and try again"}
我对普通的 kubernetes 有相当多的经验,但我对“操作员”是全新的,所以我真的不知道下一步该往哪里看可能会出现什么问题。
任何提示/建议/解释?
更新:我在命名空间中创建 keycloak 资源,而不是我将操作员安装到的命名空间。因为它允许我在这个命名空间中创建自定义资源(种类:Keycloak),所以我认为这是支持的。但是,当我将 keycloak 资源创建到安装操作符的同一命名空间(my-keycloak-operator)时,它实际上试图做一些事情。请注意,它仍然无法启动 pod,但至少它正在尝试做某事。将这个问题留待一段时间,看看“无法更新操作员状态”是否是我应该关注的问题......