A non-out-of-the-box basic k8s UI for business developers, not suitable for managing K8s clusters.
Support for environment-based resource partitioning: development environment, testing environment, staging environment, and production environment.
The same service or resource in different environments forms a "group".
Support basic CRUD (create, read, update, delete) operations for the following K8s resources:
-
- DaemonSet
-
- Job
-
- CronJob
Note
In BasicKube, the Deployment group is also referred to as the Application group. In a broad sense, an application includes Deployment, DaemonSet, and so on. However, in BasicKube, when not explicitly stated, the term "application" refers only to Deployment.
BasicKube provides a web terminal that can be used to connect to containers and perform operations on Pods.
Identity and Access Management(IAM) inspired by AWS IAM, used to control user permissions on the k8s namespace.
- One project is associated with a namespace by associating an IAM node.
- A project can contain multiple users, and a user can also be under multiple projects.
- Open
appsettings.json
file - Add
K8s:NameSpaceMap
configuration:
{
"Logging": {
...
},
"K8s": {
+ "NameSpaceMap": {
"1": "default"
}
}
}
In the section K8s:NameSpaceMapg
,key is the IAM node, and the value is k8s namespace.
- Add the configuration file for the k8s cluster under directory
BasicKube.Api/configs
- Set the mapping between the environment and the k8s cluster in the
appsettings.json
file. The section isK8s: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"
}
}
}
In the section K8s:ClusterConfig
,key is the environment name, and the value is the configuration file for the k8s cluster .
There is no account system function in BasicKube, it needs to be integrated with the existing account system in AccountController
, which is under BasicKube.Api/Controllers/Account
.
Apache 2.0
- ASP.NET Core full-stack
- Ant Design Blazor
- KubernetesClient
- Blazored.*
- Serilog.*
- ...