从 21 版本开始,Keycloak 的功能和部署方式发生了一些变化,

可以看到现在它只提供了这些版本下载:

  • Downloads archive
  • Archive
  • 24.0.2
  • 24.0.1
  • 24.0.0
  • 23.0.7
  • 23.0.6
  • 23.0.5
  • 23.0.4
  • 23.0.3
  • 23.0.2
  • 23.0.1
  • 23.0.0
  • 22.0.5
  • 22.0.4
  • 22.0.3
  • 22.0.2
  • 22.0.1
  • 22.0.0
  • 21.1.2
  • 21.1.1
  • 21.1.0
  • 21.0.2
  • 21.0.1
  • 21.0.0

最简单的方式是直接下载它的可执行文件,

下载 zip 或 tar.gz 文件(具体取决于你偏好的解压工具或出于文件系统的考虑)

你应该校验 sha1 以确保文件的完整性(在测试环境是可选的)

我使用 Windows PowerShell 的这个命令,然后比对下载的 sha1 文件内容

然后启动它

在 bin 目录执行 .\kc.bat start-dev 或使用绝对引用执行 & "E:\your path\keycloak-24.0.2\bin\kc.bat" start-dev(示例),小技巧,加&符号然后空格紧跟双引号可以正确处理带空格和特殊Unicode字符的路径(我就喜欢包容空格和特殊字符)

这是最简单的部署示例

当然生产环境就上容器了,Docker,Kubernetes 等等

例如用 Docker 跑

docker run -d -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin --name=keycloak quay.io/keycloak/keycloak start-dev

我这里使用了目前最新的 24 版本,使用 Debian 12 系统做示例

然后瞅一眼 logs

好,跑起来了,当然这还只是单机开发环境部署

生产环境肯定不能跑 dev 模式了

而且根据业务需要上集群了

这是帮助命令列表

Keycloak - Open Source Identity and Access Management

Find more information at: https://www.keycloak.org/docs/latest

Usage:

kc.sh [OPTIONS] [COMMAND]

Use this command-line tool to manage your Keycloak cluster.

Options:

-cf, --config-file <file>
Set the path to a configuration file. By default, configuration properties are
read from the "keycloak.conf" file in the "conf" directory.
-h, --help This help message.
-v, --verbose Print out error details when running this command.
-V, --version Show version information

Commands:

build Creates a new and optimized server image.
start Start the server.
start-dev Start the server in development mode.
export Export data from realms to a file or directory.
import Import data from a directory or a file.
show-config Print out the current configuration.
tools Utilities for use and interaction with the server.
completion Generate bash/zsh completion script for kc.sh.

Examples:

Start the server in development mode for local development or testing:

$ kc.sh start-dev

Building an optimized server runtime:

$ kc.sh build <OPTIONS>

Start the server in production mode:

$ kc.sh start <OPTIONS>

Enable auto-completion to bash/zsh:

$ source <(kc.sh tools completion)

Please, take a look at the documentation for more details before deploying in
production.

Use "kc.sh start --help" for the available options when starting the server.
Use "kc.sh <command> --help" for more information about other commands.

k8s 集群部署我就暂时不搞了,这玩意自个儿折腾够呛