kubegen is a tool that aims to simplify your Kubernetes day-to-day, writing the boilerplate code for you and letting you focus on the important things.
kubegen is a Yeoman generator, so you'll need to have NodeJS installed.
To install kubegen, you need to execute the following command:
npm install -g generator-kubegen
Quite easy! The follwing commands are available at the moment:
Command | Description | Arguments |
---|---|---|
yo kubegen | Starts a full Kubernetes file generation wizard. All generated files are stored in a new folder. | --apply: Spawns a "kubectl apply -f " to all files generated immediately |
yo kubegen:deployment | Starts the Deployment subgenerator. 'deployment.yml' file is created, in the current folder. | |
yo kubegen:rc | Starts the Replication Controller subgenerator. 'rc.yml' file is created, in the current folder. | |
yo kubegen:service | Starts the Service subgenerator. 'service.yml' file is created, in the current folder. | |
yo kubegen:ingress | Starts the Replication Controller subgenerator. 'deployment.yml' file is created, in the current folder. | |
yo kubegen:lego | Starts the Let's Encrypt subgenerator. All the internal components required by a TLS Ingress with kube-lego is created by this subgen |
yo kubegen
| |/ / | | | | | _ \ | ____| / _____|| ____|| \ | |
| ' / | | | | | |_) | | |__ | | __ | |__ | \| |
| < | | | | | _ < | __| | | |_ | | __| | . ` |
| . \ | `--' | | |_) | | |____ | |__| | | |____ | |\ |
|__|\__\ \______/ |______/ |_______| \______| |_______||__| \__|
Welcome to Kubernetes Generator (kubegen)!
? How the service should be named? nginx
? In which Namespace should be deployed? default
? Which type of Pod controller mechanism whould you like to use? Replication Controller
? (Replication Controller) Which Docker image should the Deployment use? nginx
? (Replication Controller) How much container replicas should be created? 1
? (Service) In which port is the Container listening? 80
? (Service) In which port should the Service listen? 80
? (Ingress) Would like to expose the service out of the cluster? yes
? (Ingress) Which class of expose would you like?
❯ external
internal
nginx
tls-lego
Contribution is welcome! Just:
- Fork this project
- install the NPM dependencies:
npm install
- Link this folder to npm
npm link
/usr/local/lib/node_modules/generator-kubegen -> /Users/User/generator-kubegen
- Edit the project with your favorite text editor or tool
For your conveniente, this project comes with a pre-built configuration to debug the solution with Visual Studio Code. Just go to the "Debug" menu on the left, select "Yeoman generator" in the dropdown (beside "play button") and then click "play" to start debugging.