Simplify Troubleshooting your Kubernetes Cluster with KDD - A Developer Dashboard Under Heavy Development
Please note that the kdd project is currently in active development and is not yet suitable for production use. The platform may contain bugs, issues, and potential security risks that need to be addressed. While we are working hard to improve and refine the platform, we strongly recommend against using it in a production environment at this time. However, the project is still publicly available, and we welcome feedback and contributions from the community to help us make kdd a more robust and stable Kubernetes management solution. Thank you for your understanding and support.
The Logview in kdd allows you to monitor the logs of your Kubernetes workloads in real-time. You can view the logs for all the pods related to a workload and even filter them based on the pod and container names.
The Logview also comes with a search functionality that highlights the matching lines in the logs, allowing you to quickly find the information you need. You can navigate through the search results using buttons and easily jump to the relevant logline.
To access the Logview, you can either open it from the overview of workloads or from the detail page. Once opened, real-time logs will start streaming automatically without any need for selection. This makes it easy to quickly identify and troubleshoot any issues related to your Kubernetes workloads.
go run ./cmd/kdd.go --config <path to kdd.yaml>
As we are using http2 and server sent events for receiving realtime updates a self signed certificate needs to be created.
Creating self signed certificate with openssl:
openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt
The FQDN needs to be set to the domain where the application is running on:
The certificate needs to be in the ./certs
folder and the name of the file needs to be server.key & server.crt
sudo cp server.crt /usr/local/share/ca-certificates/server.crt
sudo update-ca-certificates
variables defined in yaml:
variable | yaml | env | default value | type | description |
---|---|---|---|---|---|
Local | local | KDD_LOCAL | true | bool | run using kubeconfig (true), or using k8s service account (false) |
HttpPort | http_port | KDD_HTTP_PORT | 3333 | int | port to expose the web ui on |
StaticFiles | static_files | KDD_STATIC_FILES | ../_ui/build/ | string | location of react files |
KubeConfigPath | kube_config_path | KDD_KUBE_CONFIG_PATH | ~/.kube/config | string | location of kubeconfig, used when local=true |
CertificatePath | certificate_path | CERTIFICATE_PATH | "" | string | location to folder with server.crt and server.key certificates - will use self-signed local host certificate if left empty |
There's one flag variable, --config, which points to the kdd.yaml file. The default value is "../"
Every variable can be configured using env vars with KDD_ prefix.
Ui is exposed by default on localhost:3333/ui path. The port can be controlled by the http_port variable.
As we are using http2, certificates need to be created.
To use live reloading one cert needs to be created for the ui self. (_ui/certs/server.key, _ui/certs/server.crt)
To enable http2 on the backend side you need to create certificate. The certificate needs to be created in cmd/certs/server.key or cmd/certs/server.crt