In this documentation, we will explain the core idea of Nocalhost Server and clarify some technical terms that are widely used in the project.
A Nocalhost Cluster is usually corresponds to a Kubernetes cluster. Nocalhost supports to manage multi cluster like TKE, GKE, Minikube and etc.
In the actual development process, users do not need to know the concept of Cluster, and user's operation under DevSpace actually rely on the capabilities of Cluster.
If you want to manage a Cluster，then need to maintain a
KubeConfig with the cluster's Cluster-Admin role.
Cluster is generally used with DevSpace, if you need to manage Cluster, you refer to Manage Cluster
DevSpace is a concept of Nocalhost, which represents a pre-allocated development space managed by Nocalhost. Developers can deploy, uninstall, develop, and debug applications within DevSpace. DevSpaces are isolated from each other.
Nocalhost also allow developers to share their DevSpaces with other developers for collaborative development.
If you need to manage DevSpace, you can refer to Manage DevSpace
Application is a concept of Nocalhost, it is mainly used to manage a set of manifest files you want to apply for local development, it supports both Kubernetes manifest and helm chart. In other words, these manifests usually contain all the k8s resources that your own application depends on. If possible, we should try to keep it to a minimum.
Nocalhost supports three types of applications:
Application can be used to create a DevSpace, we recommend using IDE plug-in directly to deploy your application, IDE plugin is worked on the DevSpace created by Application. In other words, after being assigned a DevSpace, the developer can easily develop on the IDE.
After being assigned a DevSpace, you will get a
KubeConfig to access this DevSpace,
nhctl or plug-in can deploy the application based on the application's manifest file and
So DevSpace can actually be approximated as Application + Kubeconfig:
If you need to manage Applications, you can refer to Manage Application
Service is completely different from svc of Kubernetes. Service can be considered as an enhancement of application deployment and development.
- Read more to learn how to configure application development
- Read more to learn how to configure application deployment
Service configurations are not necessary, only needs when essential.
User belongs to the independent concept of Nocalhost, it's different with user in Kubernetes. When you use
Nocalhost Server and Nocalhost Plugins, User is used to identify your identity and access control to resources.
There are two types of User in Nocalhost: Standard User and System Admin
- Can only log in IDE Plugin, users can develop under their own DevSpace. these DevSpace are all created by Administrator.
- User can only see their own DevSpace, and have all the permissions under these DevSpace, such as install, uninstall (deploy and destroy), enter DevMode and port-forwarding.
- Cannot log in to Nocalhost-Web, nor can they delete the DevSpace, or disassociate it from the DevSpace, which is very similar to the admin permission under a certain namespace of Kubernetes.
Has the permission to access
Nocalhost Server, and with all the permissions in Nocalhost Web, such as create and manage Application, Cluster, User, DevSpace, etc
Have all the permissions of User, such as logging in at IDE plugins, develop in their own DevSpace list
If you need to manage User, you can refer to Manage User