使用kube_ping进行Keycloak群集设置 - DZone Cloud
转自:https://www.jdon.com/51501
看看如何使用kube_ping和Keycloak实现自动发现?
Keycloak是一个开源软件,提供身份管理和访问管理的单点登录。Keycoak使用不同类型的ping来发现群集的其他成员。我们将使用kube_ping作为发现(JGROUPS_DISCOVERY_PROTOCOL)。
kube_ping如何运作
假设我们在默认的命名空间中在Kubernetes中启动了3个pod的集群。当发现开始时,kube_ping要求提供来自Kubernetes的所有pod的IP地址列表。
Kubernetes返回IP地址列表。kube_ping使用IP地址和端口范围向成员发送发现请求。
先决条件:
1.工作Kubernetes集群
2.正在运行的MySQL实例。
在K8s群集中创建部署对象
apiVersion: v1 items: - apiVersion: extensions/v1beta1 kind: Deployment spec: replicas: 3 template: metadata: labels: app: keycloak name: keycloak spec: containers: - env: - name: KEYCLOAK_HOSTNAME value: {{keycloak host name}} - name: KEYCLOAK_LOGLEVEL value: DEBUG - name: ROOT_LOGLEVEL value: DEBUG - name: KEYCLOAK_USER value: {{keyclock admin user}} - name: DB_VENDOR value: mysql - name: DB_ADDR value: {{mysql host}} - name: DB_USER value: {{mysql user}} - name: DB_PASSWORD value: {{mysql password}} - name: JGROUPS_DISCOVERY_PROTOCOL value: kubernetes.KUBE_PING - name: JGROUPS_DISCOVERY_PROPERTIES value: port_range=0,dump_requests=true - name: connectTimeout value: "600000" - name: KEYCLOAK_PASSWORD value: {{keyclock admin password}} - name: remoteTimeout value: "600000" image: jboss/keycloak:4.5.0 imagePullPolicy: Never name: keycloak ports: - containerPort: 8080 name: http protocol: TCP - containerPort: 8443 name: https protocol: TCP |
在K8s集群中创建服务对象:
apiVersion: v1 kind: Service metadata: name: keycloak labels: app: keycloak name: keycloak spec: type: NodePort ports: - name: http protocol: TCP port: 8080 nodePort: 30000 selector: app: keycloak name: keycloak |
这将创建Keycloak的端点。现在,Keycloak管理控制台将在http:// {{hostip}}:30000上提供。
说明: kube_ping 实际上是一个基于jgroups 开发的一个扩展,主要是方便k8s 集群内部jgroups 的使用
,更多的是方便jboss 系列基于jgroups 的应用软件在k8s 中的部署
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)