我刚刚使用官方OperatorHub.io指南安装了keycapture kubernetes操作符:https://operatorhub.io/operator/keycloak-operator
之后,我按照官方的密钥斗篷入门指南创建了一个操作员部署:https://www.keycloak.org/getting-started/getting-started-operator-kubernetes
我可以看到,一切都像所需的pod、服务和入口一样,在一小段时间后就开始运行了。我不明白的是如何访问部署创建的入口,因为规范没有指定我的kubernetes集群的正常主机,而是这样:
spec:
rules:
- host: keycloak.local
http:
paths:
- backend:
serviceName: keycloak
servicePort: 8443
path: /
pathType: ImplementationSpecific
我使用的指南没有具体说明这一点。keyclock.local是什么意思?我如何访问它?
编辑:我的密钥斗篷配置如下:
apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
labels:
app: mykeycloak
name: mykeycloak
namespace: test
spec:
externalAccess:
enabled: true
instances: 1
status:
credentialSecret: credential-mykeycloak
externalURL: https://keycloak.local
internalURL: https://keycloak.test.svc:8443
message: ""
phase: reconciling
ready: true
secondaryResources:
ConfigMap:
- keycloak-probes
Deployment:
- keycloak-postgresql
Ingress:
- keycloak
PersistentVolumeClaim:
- keycloak-postgresql-claim
Secret:
- credential-mykeycloak
- keycloak-db-secret
Service:
- keycloak-postgresql
- keycloak
- keycloak-discovery
StatefulSet:
- keycloak
version: 14.0.0
您已经在Keycloft CRD中配置了以下内容。
externalAccess:
enabled: true
这将创建一个Ingress对象,正如您已经发布的那样。默认情况下,Key斗篷操作员使用keycapture.local作为主机的值。
https://github.com/keycloak/keycloak-operator/blob/master/deploy/olm-catalog/keycloak-operator/12.0.1/keycloaks.keycloak.org.crd.yaml#L62
因此,如果你想将其更改为keycapture.example.org,你必须将你的Keycapture定义编辑为:
externalAccess:
enabled: true
host: keycloak.example.org
之后,您的入口控制器将在您的请求中侦听此路径。
这应该回答你的第一个问题";什么是keyclock.local的意思;。
你的第二个问题,";我如何访问它":
我假设您的系统上部署了一个入口控制器。如果没有,请阅读该主题(https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/)。
如果你已经部署了入口控制器,你应该能够使用定义的主机访问你的Keycloft。