Atomic: Kubernetes dashboard - cockpit-project/cockpit GitHub Wiki

Documentation:

Stories

Phillip J. Fry leads a small IT at a moderately sized firm. His company has a modest data center.

Phillip wants to run application 'Poppler.io'. In order to meet regulatory requirements he needs to run the application 'in house'. Kubernetes has become the primary mechanism with which to deploy these new containerized applications like 'Poppler.io'. Phillip chooses to deploy Atomic Host to 5 rack servers in the data center, knowing that as their usage grows they can expand into other orchestration tools, and also use OpenShift if they end up doing in house development.

Hermes Conrad is the VP of engineering at a large corporation.

Hermes and his engineering dept has been dabbling in Docker containers, but has noticed that orchestrating them across the network is lacking. He wants to discover how 'Kubernetes' running on Atomic can make this better. Hermes has no deep knowledge of Kubernetes, but Docker was seemed easy to discover hands-on, and wants to do the same here.

Current Use Cases

These already broken into features.

B. Add cluster machine

https://github.com/cockpit-project/cockpit/wiki/Feature:-Kubernetes:-Add-cluster-node

C. Deploy an application

https://github.com/cockpit-project/cockpit/wiki/Feature:-Kubernetes:-Deploy-application https://github.com/cockpit-project/cockpit/wiki/Feature:-Kubernetes:-Adjust-service

D. Cluster Dashboard and Internal cluster view

https://github.com/cockpit-project/cockpit/wiki/Feature:-Kubernetes:-Basic-Dashboard https://github.com/cockpit-project/cockpit/wiki/Feature:-Kubernetes:-Basic-Graphs

Later Use Cases

Shortly following the above use cases, but lower priority.

Internal view

Setup new cluster

  • Moved from above.
  • Ideally Atomic would come with Kubernetes and Docker enabled. It doesn't. Not cool.
  • If flannel networking doesn't work out of the box, minimal UI to configure.
  • If shared storage doesn't work out of the box, minimal UI to configure.
  • Public IP address(es) of the cluster.

Manually create a service with pods

  • It should be possible to create a simple service through the UI directly, specify images to pull, and so on, rather than having to have a application deployment file (above).

Diagnosis

  • Highlight swapping issues and storage issues.
  • Highlight failures of pods starting.
  • Highlight minions that are no longer present, not responding

Resource metrics display and adjustment

  • Pod display: CPU load, memory load, disk usage, storage size, swapping
  • Service display: Network throughput
  • Simple 'activity' metrics?
    • How do we access this?
  • Tweak replication controllers.
  • ... Need better understanding of Kubernetes capabilities here

Remove cluster machine

  • This includes evicting pods and removing machine from cluster.

Current Development of Kubernetes in cockpit:

Previous art: