对于Linux环境下的安装,KDO平台既支持云端部署也支持本地部署,包括虚拟机和物理服务器等多种形式。 安装KDO平台有两种主要模式: 无现有Kubernetes集群的情况:如果您的环境中没有现成的Kubernetes集群,首先需要在Linux操作系统上安装Kubernetes集群。完成这一步骤后,再进行KDO平台的安装。这种方式适合希望从零开始构建整个云原生基础设施的用户。 已有Kubernetes集群的情况:如果您已经有了一套运行中的Kubernetes集群,则可以直接在其上安装KDO平台。这种方式简化了部署流程,使得您能够迅速利用现有的资源来管理和扩展应用
工作流程
flowchart TD
A[开始安装 KDO 平台] --> B{是否已有可用的<br/>Kubernetes 集群}
B -->|没有| C[准备 Linux 节点<br/>RHEL 9 或 Ubuntu 22.04]
C --> D[使用 KubeKey 安装 Kubernetes<br/>写入 OIDC 认证参数]
B -->|已有| E[确认集群版本<br/>v1.28 及以上]
D --> F{是否已有<br/>OIDC 身份平台}
E --> F
F -->|没有| G[安装 Keycloak<br/>创建 realm kdo]
F -->|已有| H[修改 kube-apiserver<br/>对接现有 OIDC]
G --> H
H --> I[下载并定制 install 脚本<br/>设置 KC_PASS 与 OIDC 变量]
I --> J[运行 kdo-install.sh<br/>传入 NODE_IP 与默认域名]
J --> K[检查 kubedo-system 中的 Pod]
K --> L[通过 NodePort 30080 访问控制台]
在现存的Linux操作系统安装 KDO 平台
要在现有的Linux操作系统上安装KDO平台,推荐使用RHEL 9(AlmaLinux 9/Rocky 9)或Ubuntu 22.04及以上版本。旧版本的操作系统由于内核较老,可能无法支持某些新特性。主要分为以下三个部分:
在现存的Kubernetes集群上安装 KDO 平台
如果已经有Kubernetes集群(v1.28以上),只需要安装KDO平台,主要有两个部分:
根据OIDC平台设置Kubernetes
通过vim打开/etc/kubernetes/manifests/kube-apiserver.yaml这个文件,在spec->containers->command添加对应的OIDC的参数。 如果是其他OIDC Provider,可以根据其提供的参数进行修改,更多信息。
vim /etc/kubernetes/manifests/kube-apiserver.yaml

修改API Server参数
spec:
containers:
- command:
# 在末尾添加以下参数,如果已经存在,需要修改这些参数
- --oidc-ca-file=/etc/kubernetes/pki/ca.crt
- --oidc-client-id=kdo
- --oidc-groups-claim=groups
- --oidc-issuer-url=https://${NodeIP}:30443/realms/kdo
- --oidc-username-claim=email
- --oidc-username-prefix=-
如果有多个Master节点,那每个Master节点都需要更改。
平台组件访问
由于KDO是由多个开源组件组成的,所以需要通过不同的方式访问不同的组件,这里列出了KDO平台各个组件的访问地址。 KDO、Keycloak、Harbor这些组件的控制台,是通过NODE_IP加端口访问,比如KDO平台控制台的默认访问地址是http://$NODE_IP:30080, Grafana这些组件的访问地址是域名访问,比如Grafana的默认访问地址是http://grafana.${DEFAULT_DOMAIN},这些需要在/etc/hosts文件中(Windows是C:\Windows\System32\drivers\etc\hosts)添加域名解析,或者通过域名解析访问。
默认项目
KDO平台默认创建了项目kdo, 里面有4个环境:开发(dev)、测试(test)、预发(stage)、生产(prod)。 如果是内置的Keycloak平台,已经创建四个用户:项目管理员: pa1,项目开发者: dev1,项目测试人员: qa1, 项目运维人员: ops1, 他们的默认密码都是: Kdo#2025 现在可以在项目kdo创建一个应用来体验KDO平台了。
假设这个KDO集群的NODE_IP是10.22.1.20,默认域名后缀是kube-do.dev,那么访问地址如下:
| 控制台 | 功能 | 默认访问地址 | 默认用户密码 |
|---|---|---|---|
| KDO平台控制台 管理员页面介绍 开发者页面介绍 | KDO整体功能管理 | http://${NODE_IP}:30080 比如: http://10.22.1.20:30080 | 管理员账号:admin/Kdo@Pass#2025 , 开发者账号:pa1/Kdo#2025 |
| Keycloak控制台 | OIDC认证管理、用户管理 | https://${NODE_IP}:30443 比如: https://10.22.1.20:30443 (需要HTTPS) | 管理员账号:admin/Kdo@Pass#2025 |
| Harbor控制台 | 镜像仓库管理,一般不用操作 | http://${NODE_IP}:30002比如: http://10.22.1.20:30002 | 管理员账号:admin/Kdo@Pass#2025 |
| Grafana控制台 | 告警管理、自定义监控、监控/日志高级功能 | http://grafana.${DEFAULT_DOMAIN} 比如: http://grafana.kube-do.dev | 管理员账号:admin,初始密码请参考部署配置;其他用户可通过 OIDC 登录 |
安装完成后请尽快修改上述默认密码,尤其是管理员账号。