-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Atomic: Kubernetes dashboard
- Kubernetes overview
- Pods
- Networking
- Labels
- Introduction to Kubernetes on Slideshare
- Understanding Docker Containers on Microsoft Azure
- Hackathon with Kubernetes on Azure
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.
Hopefully we'll turn these into workflows shortly.
These have stable identifiers so they can be referred to from elsewhere.
- "Setup new Cluster": Moved below to later work, Kubernetes not ready to set up a working cluster
- Configure machines so they are Kubernetes nodes for the given cluster
- Assumption: Machine has an appropriate OS, kubernetes, and version of cockpit installed.
- Requirements:
- Configure the cluster to add the machine
- Configure the machine to connect to the cluster
- Research
- ...
- Workflow
- ...
- Designs
- ...
- Remove machines from the cluster, whether for maintenance or replacement.
- Upload a file which describes the application (the namespace ,the services, replication controllers, and pods it consists of) and deploy it to the cluster.
- Provide any further information necessary to bootstrap this application instance. ** Provide namespace information
- Move to a view where the state of the new services is apparent, to give feedback on the ongoing operation.
- High level list of services, nodes and their state
- Requirements
- High level overview of cluster. Minimal sumarized information
- Show list of nodes, and basic container load
- Dashboard is also the entry point to other cluster operations and views
- Workflow:
- Dashboard is first thing seen on the cluster
- List is of services is available
- Service info: Service name, Network endpoint, Namespace/Project, # of Containers, Summary of state
- List of nodes in the cluster
- Node info: Host name, # of containers running, Summary of state
- Clicking on service takes you to more detailed 'browse view' info about the service
- Clicking on a node takes you to detailed node info
- Hovering over the state summary shows more details
- User can click bring up 'Deploy application' UI (above)
- User can click bring up 'Add new node' UI
- Design: https://github.com/cockpit-project/cockpit-design/tree/master/kubernetes
- Trello: https://trello.com/c/MLjbwBVU/125-kubernetes-cluster-dashboard
- Requirements
- Browse the state of services and their pods in the cluster.
- Requirement: Visualize how things are connected via labels and selectors.
- Requirement: Show summary of one-off pods, kubernetes built-in services, etc.
- Cluster dashboard graphs
Shortly following the above use cases, but lower priority.
- 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.
- 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).
- Highlight swapping issues and storage issues.
- Highlight failures of pods starting.
- Highlight minions that are no longer present, not responding
- 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
- To play with the latest code of Kubernetes support in cockpit. Download the latest Code Refer https://github.com/cockpit-project/cockpit/blob/master/HACKING.md
- execute the following commands in terminal to get the Kubernetes plugin working
mkdir -p ~/.local/share/cockpit;cd cockpit/pkg/kubernetes;ln -snf $PWD ~/.local/share/cockpit/kubernetes;