一个面向业务开发的k8s基础UI系统,非开箱即用,不适用于对K8s集群进行管理操作。
支持对资源进行环境划分:开发环境、测试环境、预发布环境、线上环境。不同环境的同一个服务或资源形成“组”。
支持对以下 K8s 资源增删改查的基本操作。
Note
在 BasicKube 中,Deployment 组又被称为应用组。应用广义上包含 Deployment、DaemonSet 等,在 BasicKube 中,在没有明确说明下,应用仅代指 Deployment。
BasicKube 提供一个 Web 终端,可以用来连接容器,对 Pod 进行操作。
IAM(身份验证和访问管理)受 AWS IAM 启发,用于在 k8s 集群上控制用户的命名空间权限。
- 通过关联一个 IAM 节点,可以将一个项目与一个 k8s 命名空间相关联。
- 一个项目可以有多个用户,一个用户也可在在多个项目下。
- 打开
appsettings.json
文件 - 添加
K8s:NameSpaceMap
选项:
{
"Logging": {
...
},
"K8s": {
+ "NameSpaceMap": {
"1": "default"
}
}
}
在 K8s:NameSpaceMapg
中,key 是 IAM 节点, 值是 k8s 的命名空间。
- 在
BasicKube.Api/configs
目录下添加K8s的配置文件 - 添加
K8s:ClusterConfig
配置项:
{
"K8s": {
"NameSpaceMap": {
...
},
+ "ClusterConfig": {
"dev": "./configs/k8s-cluster-config-dev",
"test": "./configs/k8s-cluster-config-default",
"staging": "./configs/k8s-cluster-config-default",
"prod": "./configs/k8s-cluster-config-default"
}
}
}
在 K8s:ClusterConfig
配置项中,key 是环境名,value 是k8s集群的配置文件。
BasicKube 中不涉及账号系统,需要通过 AccountController
和现有的账号体系进行集成。AccountController
位于BasicKube.Api/Controllers/Account
目录下。
Apache 2.0
- ASP.NET Core full-stack
- Ant Design Blazor
- KubernetesClient
- Blazored.*
- Serilog.*
- ...