高可用 Keycloak,K8s
高可用 Keycloak,K8s
使用 K8S 部署 Keycloak,使用 Mysql 做为外部存储工具。以实现 Keycloak 在生产环境中高可用。
Keycloak K8s 配置文件
Keycloak 官方有一个 Keycloak on Kubernetes 教程,可以看出官方教程只是简单的说了如何通过 K8s 部署服务。
修改官方提供的 yaml 文件
apiVersion: v1
kind: Service
metadata:
name: keycloak
labels:
app: keycloak
spec:
ports:
- name: http
port: 8080
targetPort: 8080
selector:
app: keycloak
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: keycloak
namespace: default
labels:
app: keycloak
spec:
replicas: 1
selector:
matchLabels:
app: keycloak
template:
metadata:
labels:
app: keycloak
spec:
containers:
- name: keycloak
image: quay.io/keycloak/keycloak:13.0.0
env:
- name: KEYCLOAK_USER
value: "admin"
- name: KEYCLOAK_PASSWORD
value: "admin"
- name: PROXY_ADDRESS_FORWARDING
value: "true"
ports:
- name: http
containerPort: 8080
- name: https
containerPort: 8443
readinessProbe:
httpGet:
path: /auth/realms/master
port: 8080
修改镜像地址,原因是该镜像有较为清晰的文档
image: jboss/keycloak:13.0.0
配置 Mysql 变量,在创建 keycloak Mysql 数据库时,注意,创建的数据库编码应为
utf8,create schema keycloak character set utf8 collate utf8_unicode_ci;- name: DB_VENDOR
value: mysql
- name: DB_ADDR
value: 10.0.5.213:3306
- name: DB_DATABASE
value: keycloak
- name: DB_USER
value: root
- name: DB_PASSWORD
value: 12345678
改造后的 yaml 文件为:
apiVersion: v1
kind: Service
metadata:
name: keycloak
labels:
app: keycloak
spec:
ports:
- name: http
port: 8080
targetPort: 8080
selector:
app: keycloak
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: keycloak
labels:
app: keycloak
spec:
replicas: 2
selector:
matchLabels:
app: keycloak
template:
metadata:
labels:
app: keycloak
spec:
containers:
- name: keycloak
image: jboss/keycloak:13.0.0
env:
- name: KEYCLOAK_USER
value: "admin"
- name: KEYCLOAK_PASSWORD
value: "admin"
- name: PROXY_ADDRESS_FORWARDING
value: "true"
- name: DB_VENDOR
value: mysql
- name: DB_ADDR
value: "127.0.0.1"
- name: DB_PORT
value: "3306"
- name: DB_DATABASE
value: keycloak
- name: DB_USER
value: "root"
- name: DB_PASSWORD
value: "123456"
ports:
- name: http
containerPort: 8080
- name: https
containerPort: 8443
readinessProbe:
httpGet:
path: /auth/realms/master
port: 8080
把 yaml 文件复制到服务器中,然后创建
kc空间,命令如下kubectl create ns kc,执行命令kubectl apply -f keycloak.yaml -n kc以启动服务访问 Keycloak 服务,
127.0.0.1:8080

点击
Administration Console,使用账号admin、密码admin登录
高可用 Keycloak,K8s的更多相关文章
- kubernetes教程第一章-kubeadm高可用安装k8s集群
目录 Kubeadm高可用安装k8s集群 kubeadm高可用安装1.18基本说明 k8s高可用架构解析 kubeadm基本环境配置 kubeadm基本组件安装 kubeadm集群初始化 高可用Mas ...
- 高可用的K8S集群部署方案
涉及到的内容 LVS HAProxy Harbor etcd Kubernetes (Master Worker) 整体拓补图 以上是最小生产可用的整体拓补图(相关节点根据需要进行增加,但不能减少) ...
- kubernetes实战(二十七):CentOS 8 二进制 高可用 安装 k8s 1.16.x
1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.16.x,相对于其他版本,二进制安装方式并无太大区别.CentOS 8相对于CentOS 7操作更加方便,比如一些服务的关闭 ...
- kubernetes实战(三十):CentOS 8 二进制 高可用 安装 k8s 1.17.x
1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.17.x,相对于其他版本,二进制安装方式并无太大区别. 2. 基本环境配置 主机信息 192.168.1.19 k8s-ma ...
- Kubernetes实战指南(三十四): 高可用安装K8s集群1.20.x
@ 目录 1. 安装说明 2. 节点规划 3. 基本配置 4. 内核配置 5. 基本组件安装 6. 高可用组件安装 7. 集群初始化 8. 高可用Master 9. 添加Node节点 10. Cali ...
- Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记
目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token ...
- Kubernetes全栈架构师(二进制高可用安装k8s集群部署篇)--学习笔记
目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制No ...
- Kubernetes全栈架构师(二进制高可用安装k8s集群扩展篇)--学习笔记
目录 二进制Metrics&Dashboard安装 二进制高可用集群可用性验证 生产环境k8s集群关键性配置 Bootstrapping: Kubelet启动过程 Bootstrapping: ...
- 【Containerd版】Kubeadm高可用安装K8s集群1.23+
目录 基本环境配置 节点规划 网段规划及软件版本 基本配置 内核升级配置 K8s组件及Runtime安装 Containerd安装 K8s组件安装 高可用实现 集群初始化 Master01初始化 添加 ...
- K8S 使用Kubeadm搭建高可用Kubernetes(K8S)集群 - 证书有效期100年
1.概述 Kubenetes集群的控制平面节点(即Master节点)由数据库服务(Etcd)+其他组件服务(Apiserver.Controller-manager.Scheduler...)组成. ...
随机推荐
- dij费用流/Johnson Reweighting
dij费用流/Johnson Reweighting 我们一般敲的费用流都是套\(SPFA\)的\(dinic\),这是因为会有负边权,\(dij\)做不了,考虑能不能动点手脚使得我们的边权变成正的 ...
- NOI2024破防记/rain
NOI 2024 预警:在本篇游记中,你将看到包括但不限于 诶我好高兴,诶我破防了,诶我好高兴,诶我破防了,诶我好高兴,诶我破防了,诶我好高兴,诶我破防了,诶我好高兴,诶我破防了,诶我好高兴,诶我破防 ...
- 启动HTTP代理服务器提示异常,target controller is configured to。。。
启动HTTP代理服务器提示异常,target controller is configured to "use recording Controller" but no such ...
- MKL库求解矩阵特征值、特征向量(LAPACKE_dgeev、dsyev)
LAPACK(Linear Algebra PACKage)库,是用Fortran语言编写的线性代数计算库,包含线性方程组求解(\(AX=B\)).矩阵分解.矩阵求逆.求矩阵特征值.奇异值等.该库用B ...
- Android广播接收者笔记
广播接收者 1 2. ip拨号器 2.1 打电话 加上17951会便宜.. 2.2 需要定义一个类 outGoingCall 继承broadCastReceiver; 3.3 实现抽象方法 3.4 注 ...
- MySQL与Oracle之间的区别
这是参考别人然后自己总结的关于两者之间的区别,方便自己记忆 1.首先Oracle数据库是大型数据库,功能很强大,性能也很优越,所以大型的开发项目一般使用的就是Oracle但同时他也是比较昂贵的;而My ...
- 从 MIUI 12 转为 MIUI 11 xiaomi Note3
简介 小米note3 说实话有点带不动 MIUI11 step 本来想先刷回MIUI9 后来发现不能直接刷回MIUI 9 里面的机制不太清楚 用了线刷和卡刷都不可以,我丢... ... 参考链接 ht ...
- 如何通过ETLCloud实现跨系统数据同步?
在当今的数字化时代,企业面临着数据孤岛的问题,需要将分散在不同系统和数据库中的数据进行整合,以实现数据的统一管理和分析.ETLCloud作为一款零代码ETL工具,能够帮助企业快速对接多种数据源和应用系 ...
- iPaaS丨不同集成工具功能的重合性和相关性
当前企业集成工具主要有三大类:iPaaS.RPA.ETL 这三大类产品,这三大集成工具之间功能均有相互的交叉和重合,企业在进行集成类业务需求实现时,很多情况下会根据开发人员个人对工具的熟悉程度来选择其 ...
- SciTech-EECS-Redis for AI: Redis 8为 Vector Similarity (向量相似性) 推出新的数据结构
SciTech-EECS-Redis: VD(Vector Database, 向量数据库): VD对由 Generative AI (生成式人工智能) 驱动的应用程序至关重要. VD可以检索&quo ...