Here is a list of frequently asked questions. If you cannot find your answer on this page, please try our help page or contact us directly via email.
Why should I use Unikube in my business?
Unikube offers great advantages for software teams that want to or already use Kubernetes as a target platform. It allows to set up development environments with Kubernetes with production-like conditions on a local machine. This reduces the cost of the operations team to provide the developers with the latest environment.
Think of network policies, ingress configurations, custom resource definitions or operators: Unikube removes the barriers for developers to work with Kubernetes right from the start. It will enable new developers with no knowledge of Kubernetes to leverage that platform and lower the pressure on your DevOps and operation teams to set up the developers.
How do I deploy my application on Unikube?
Unikube is a development toolset and is not involved in the production or production-near deployment of your applications. You probably already have a fully automated and working integration process. Perhaps, you already have a pipeline to bringing new updates to production. Unikube doesn’t interfere with any of this.
What kind of applications are possible with Unikube? Can I deploy my application with Unikube?
Unikube supports any kind of application architecture but shines especially with distributed and service-oriented architectures. This can be a website or the next Netflix. If you want to integrate reasonable probes go ahead and run your application with Unikube. The same for any website project. Please keep in mind that Unikube is not involved with any production-near deployment of your applications.
How long does it take to set up Unikube? What are the requirements for my developers to get started?
If you provide your applications with Helm charts, you can set up Unikube in a snap. Just go to https://app.unikube.io and register your organization, create the project with the Helm specifications and configure your developers’ environment. Your developers register as well and follow the install instruction of our convenient Command Line Interface (CLI) using their prefered package manager (available for Windows, MacOS and Linux). After this, they can select and ‘up’ the project in order to get a Kubernetes cluster running your service-mesh and everything. It’s that easy.
What does it cost? Is there a demo or test version of Unikube available?
Unikube is free and open-source. We’re planning an open-source commercial approach but do not have any monetization in focus at the moment. Just head over to our help section to get a demo and more information.
Is Unikube secure?
Unikube supports SOPS encryption of secrets out of the box with the following providers: PGP, AWS Key Management Service, GCP Key Management Service and Azure Key Vault.
Since Unikube is an open-source project, every developer and IT security specialist is very welcome to review the code and report potential vulnerabilities. The Unikube team is keen to resolve all security issues with the highest priority.
Differences between Unikube and other tools
What distinguishes Unikube from Codespace or Gitpod?
Codespace and Gitpod are great tools that allow your users to develop their application in the browser and not have it run locally on their machine. Besides, the development environment consists only of a single container and does not mimic your production environment. With Unikube you can either run your code locally or on a remote machine, but you always have your project’s environment setup and multiple services you can interact with.
What distinguishes Unikube from Docker Compose?
Docker Compose was developed for the same reason that drives Unikube. Developers can create a container-orchestrated development environment. However, Docker Compose does not provide, by far, all the features that Kubernetes has and hence is only used to a certain extent. Kubernetes during development allows harnessing the platform’s features right from the beginning to drive real Kubernetes-native applications.
What distinguishes Unikube from Devspace?
Devspace is a very well-conceived developer tool for Kubernetes and the goals from a developer perspective are quite similar. However, Devspace is standalone and does not integrate with a superordinate development platform or process. Unikube tries to bring the same level of convenience but extends the collaboration between Devs and Operations even further. In addition, Unikube is focused on providing a comprehensive production-like development environment (or an excerpt of it) and not just one or two services that are configured on an application level.
Important for developers
Does Unikube support multiple projects?
Yes, you can create and manage as many projects as you like.
Where does the Kubernetes cluster for developers come from?
Currently, the CLI (Command Line Interface) of Unikube automatically creates a Kubernetes cluster on the machine on which Unikube is installed with just a few commands. This can either be the local machine of your developer or a remote cluster. Unikube behaves consistently across all platforms: Windows, Linux, Apple.
Is it possible to use Unikube for my CI/CD pipelines?
At the moment, Unikube focuses on the software development part - the work carried out by backend- and frontend developers. Although, for the future, we can imagine application scenarios in the field of CI/CD (continuous integration/continuous delivery) or ephemeral testing environments, too.
Do I need to know kubectl, Helm or Kubernetes at all?
The goal of Unikube is to get rid of all kubectl, Helm and Kubernetes APIs and combine them into a single Command Line Interface that offers developers only those tools that allow them to be creative. As a developer, you just have to work with the convention CLI (command line interface) to get your work done.
How do I set up my application with Unikube?
All programming languages and types of applications are supported by Unikube as long as they can run with Kubernetes. That means the application must be containerised using Docker, Podman or any other Container tool. In order to get you started with your favourite programming language head over to our getting started guides.
In case you are missing a certain programming language in the guides, feel free to contact us.
Can I do end to end testing with Unikube?
Yes. Just set up a separate test environment, load initial data and run the tests. To do so, you can create a dedicated project on the Unikube platform, or run it against your development cluster.
How do I monitor my application?
There are multiple options available to monitor your development applications. You can read logs with _unikube app logs_ or drop into an interactive shell with _unikube app shell_. Once you _switched_ an application you will get the log stream in your favourite IDE, too.
Can I develop my application with Unikube offline?
No. Unikube commands require authentication of the user, and this is only possible with the Unikube platform at the moment.
How can I get help? How can I join the Unikube community?
That is very easy with the _unikube.yaml_ file. Just follow this guide to figure out how you can set up the Unikube file. Once you perform the _switch operation_ your local container will operate with the overridden environment variables. Once you are done, please introduce the new environment variables in the Helm charts (or ask a DevOps coworker to do so). Please also make sure your application does not crash if an environment variable does not exist and provide it with reasonable defaults.
How can I run my code changes in a Kubernetes cluster?
The _switch operation_ is here to help. Head over to the documentation to see how you get your super fresh code into the Kubernetes cluster for execution.
By the way: you can mount your current working tree into the container and get code hot reloading and debugging, too.
How can I run a script to provide initial data or management jobs?
The Unikube team is working on a convenient solution for that. You can find the current implementation here .
You will be able to run prepared scripts in your development environment soon. That way, you will be able to provide initial development data, create fixtures or reset adjacent services of your application.
In the meantime, you can use third party tools to support that scenario, fabric for example is great https://www.fabfile.org/.
Can I run multiple projects at the same time?
No, you cannot run multiple projects at the same time. Unikube still depends on _Telepresence 2_, hence it can only be connected to one Kubernetes cluster. Maybe we will remove this limitation in the future.
Is it possible to work on multiple services at the same time?
Yes, it is possible to have the _unikube app switch_ command running for multiple services simultaneously. That is very handy if you want to debug issues laying between services talking to each other.
How do I get updates of services already running in my cluster?
Execute _unikube app update_ in the CLI and choose the service you want to update. This automatically pulls the latest image and deploys it locally if it is configured in the Helm charts.
How many resources do I need on my computer to run Unikube?
This depends on the size of your project. The Helm charts define which services are provisioned on your local machine. Adjust this to reduce the number of resources required on your development machine.
How can I see all specified environment variables?
Please run _unikube app env_ and select the application you are interested in. It will print the environment of all containers running.
Can I use my preferred IDE for development?
Yes, feel free to use any IDE you like, Unikube is not dependent on your development tools.