Kubernetes Platform Toolkit
karina is a toolkit for building and operating kubernetes based, multi-cluster platforms. It includes the following high level functions:
- Provisioning clusters on vSphere and Kind
karina provision
- Production Runtime
karina deploy
- Testing Framework for testing the health of a cluster and the underlying runtime.
karina testkarina conformance
- Rolling Update and Restart operations
karina rolling restartkarina rolling update
- API/CLI Wrappers for day-2 operations (backup, restore, configuration) of runtime components including Harbor, Postgres, Consul, Vault and NSX-T/NCP
karina snapshotdumps specs (excluding secrets), events and logs for troubleshootingkarina logsexports logs from ElasticSearch using the paging APIkarina nsx set-logsupdates runtime logging levels of all nsx componentskarina ca generatecreate CA key/cert pair suitable for bootstrappingkarina kubeconfiggenerates kuebconfigs via the master CA or for use with OIDC based loginkarina execexecutes a command in every matching podkarina exec-nodeexecutes a command on every matching nodekarina dnsupdates DNSkarina dbkarina consulkarina backup/restore
To get started provisioning see the quickstart's for Kind and vSphere
- Docker Registry (Harbor)
- Certificate Management (Cert-Manager)
- Secret Management (Sealed Secrets, Vault)
- Monitoring (Grafana, Prometheus, Thanos)
- Logging (ELK)
- Authentication (Dex)
- Authorization & Policy Enforcement (OPA)
- Multi-Tenancy (Namespace Configurator, Cluster Quotas)
- Database as a Service (Postgres)
Functions are integrated but independant, After deploying the production runtime, the testing framework will test and verify, but it can also be used to to components deployed by other mechanisms. Likewise you can provision and deploy, or provision by other means and then deploy the runtime.
Karina is named after the Carina Constellation - latin for the hull or keel of a ship.
