Feature: Kubernetes: Listing objects - cockpit-project/cockpit GitHub Wiki

List objects in Kubernetes cluster

Notes

  • Objects: This is referring to the resources or items in kubernetes, such as pods, services, endpoints, replication controllers.

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'. Phillip has deployed 'Poppler.io' to a a Kubernetes cluster running with spare capacity. Phillip wants to list the container Endpoints and look at the details of what the frontend service Endpoint is connected to.

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

Hermes is exploring Kubernetes as a way to orchestrate containers. He has just setup a Kubernetes master, and wants to add further machines. Hermes has no deep knowledge of Kubernetes, but Docker was seemed easy to discover hands-on, and wants to do the same here. Hermes has deployed services to a Kubernetes cluster, and wants to look at all the objects it consists of.

Workflows

Phillip:

  • Opens the Kubernetes dashboard in Cockpit
  • Moves to the Browse view
  • Clicks on the 'Endpoints' tab.
  • Scrolls down to the frontend Endpoint.

Hermes: ...

Implementation Notes and Technical Limitations

  • Details pane should still be present to show nitty gritty. Not all fields need to be displayed in listing.
  • Show for all objects:
    • Name
    • Namespace/Project (unless filtered by project)
    • Labels
  • Nodes:
    • Address
    • Capacity: CPU, Memory, Pods
    • Status: Ready state
    • Operating system
  • Services:
    • Cluster address/port
    • Endpoint address/port
    • Status
  • Pods:
    • Containers sublisting
      • Ports/protocol
      • Volume mount names
      • State: Restart count
    • Status
    • Age
  • Replication Controllers
    • Replicas x of y
  • Volumes
    • Persistent Volume Claims
    • Persistent Volumes
  • Secrets
    • Type
    • Data
  • Service Accounts
    • Secrets
  • Components

Openshift Related

  • Quota
  • Limits
  • DeploymentConfig
    • Triggers
    • Latest
    • Version
  • DeploymentConfigRollback
  • ClusterNetwork
  • ClusterPolicy
  • ClusterPolicyBinding
  • ClusterRole
  • ClusterRoleBinding
  • HostSubnet
  • Identity
  • Images
  • Image Streams
  • Roles, RoleBindings
  • Routes
  • Templates
  • Users
    • UserIdentityMapping

Not sure about:

  • Namespaces/Projects
  • BuildConfig
  • Build

Wireframes

The current wireframes for this are very minimal:

Listing

Notes:

  • Later: add labels and label selector, search, filtering
  • Later: Use color to highlight status
  • Later: Add other objects besides basic kube objects

Livish demo: https://rawgit.com/cockpit-project/cockpit-design/999d0fde8452fd97e349b31ff2077cb09646770c/kubernetes/listing.html

Prior art

screenshot from 2015-07-13 14-17-04 screenshot from 2015-07-13 14-17-13 screenshot from 2015-07-13 14-17-15

Feedback

Please give feedback on the above! This is the place where those not working on the feature can provide insight, questions, limitations, notes etc.

  • ... (sign name)