如何访问 keycloak.local 入口主机?
How to access the keycloak.local ingress host?
我刚刚使用官方 OperatorHub.io 指南安装了 keycloak kubernetes operator:https://operatorhub.io/operator/keycloak-operator
之后我按照官方的 keycloak 入门指南创建了一个操作员部署:https://www.keycloak.org/getting-started/getting-started-operator-kubernetes
我可以看到一切都按需要进行 pods,服务和入口正在运行,并在一小段时间后 运行。我不明白的是如何访问部署创建的入口,因为规范没有指定我的 kubernetes 集群的正常主机,而是:
spec:
rules:
- host: keycloak.local
http:
paths:
- backend:
serviceName: keycloak
servicePort: 8443
path: /
pathType: ImplementationSpecific
我用的那个指南没有说明这个。 das keycloak.local 是什么意思,我该如何访问它?
编辑:我的 keycloak 配置如下所示:
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
您已在 Keycloak CRD 中配置了以下内容。
externalAccess:
enabled: true
这将创建一个您已经发布的 Ingress-Object。默认情况下,Keycloak Operator 使用 keycloak.local 作为 host.
的值
因此,如果您想将其更改为 keycloak.example.org,您必须将您的 Keycloak 定义编辑为:
externalAccess:
enabled: true
host: keycloak.example.org
之后,您的 Ingress-Controller 将在您的请求中侦听此路径。
这应该可以回答您的第一个问题“keycloak.local 是什么意思”。
你的第二个问题,“我如何访问它”:
我假设您的系统上部署了 Ingress Controller。如果没有,请阅读主题 (https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/)。
如果您已经部署了 Ingress-Controller,您应该能够通过定义的 host.
访问您的 Keycloak
我刚刚使用官方 OperatorHub.io 指南安装了 keycloak kubernetes operator:https://operatorhub.io/operator/keycloak-operator
之后我按照官方的 keycloak 入门指南创建了一个操作员部署:https://www.keycloak.org/getting-started/getting-started-operator-kubernetes
我可以看到一切都按需要进行 pods,服务和入口正在运行,并在一小段时间后 运行。我不明白的是如何访问部署创建的入口,因为规范没有指定我的 kubernetes 集群的正常主机,而是:
spec:
rules:
- host: keycloak.local
http:
paths:
- backend:
serviceName: keycloak
servicePort: 8443
path: /
pathType: ImplementationSpecific
我用的那个指南没有说明这个。 das keycloak.local 是什么意思,我该如何访问它?
编辑:我的 keycloak 配置如下所示:
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
您已在 Keycloak CRD 中配置了以下内容。
externalAccess:
enabled: true
这将创建一个您已经发布的 Ingress-Object。默认情况下,Keycloak Operator 使用 keycloak.local 作为 host.
的值因此,如果您想将其更改为 keycloak.example.org,您必须将您的 Keycloak 定义编辑为:
externalAccess:
enabled: true
host: keycloak.example.org
之后,您的 Ingress-Controller 将在您的请求中侦听此路径。
这应该可以回答您的第一个问题“keycloak.local 是什么意思”。
你的第二个问题,“我如何访问它”:
我假设您的系统上部署了 Ingress Controller。如果没有,请阅读主题 (https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/)。
如果您已经部署了 Ingress-Controller,您应该能够通过定义的 host.
访问您的 Keycloak