-
Notifications
You must be signed in to change notification settings - Fork 307
TCE Guided UI Experience #3235
Comments
As mentioned here: https://kubernetes.slack.com/archives/C02GY94A8KT/p1646566051368379 In the thread referenced above, I mention the example of the section called 'Kubernetes service network.'. While this section contains the definition for the SERVICE_CIDR and CLUSTER_CIDR values, it also contains the portgroup selection that sets where the k8s (management) nodes will actually attach to (VSPHERE_NETWORK: ); which is something that many folks are far more familiar with, conceptually and would consider more important. But the way it is worded is misleading and confusing.
No, its actually "Select the network (portgroup) that the management nodes (VMs) will attach to for their networking" In fact, if we are talking about streamlining, the values for the SERVICE_CIDR and CLUSTER_CIDR would be no1 on my list of unnecessary defaults to drop from the installer UI.. or at least to hide behind some 'advanced' section. |
Fully agree with this sentiment @thefluffysysop. We'll be dropping a large update to this proposal, where we talk about what will qualify as "defaulted" vs "user selectable", for each provider. We will ping you here to take a look at that when we have it. @miclettej FYI on the section we've been drafting titled Thanks! |
We are officially RFC'ing this proposal through March. Mailing list notification: https://groups.google.com/g/tanzu-community-edition/c/6zZwbVv86-I |
What kind of feedback are you looking for on this? If it is "Is this a good idea" or "I support this" and then we will get into the details later then this seems fine. FYI I am really excited for this! |
Please give feedback as comment(s) in this issue.
This does not exist. |
Capturing some feedback from @jorgemoralespou in the community meeting that I think is sound on the instance types: These instance type options are good for workload clusters. But don't make as much sense for management clusters. For management cluster creation, we should move to a few options that represent:
Naming need to be better, but the above captures the sentiment. |
Minor comment... for the AWS install, do we need to expose the user to the AMI option? maybe just an advanced option and by default select a preferred one |
Proposal review:TLDR action items:
Would also like to see documentation pop-ups (some kind of tool-tip? Implementation to be determined) the can help guide the advanced user through more advanced configurations as the UI plugin grows and expands to capture more and more use cases I'm very curious what the Unmanaged Cluster creation workflow would look like. If all that would need to be provided is a name, it could be a fairly easy one click install. But as we continue to expand the unmanaged-cluster model (like adding more configuration options, different providers besides Getting a list of unmanaged clusters and their provider is also possible today. I could see this being useful for users wanting to see what's on their system and also delete those clusters. For example, running
returns a yaml chunk like:
|
For the Azure flow, is there any way to include accepting the base image license into this UI? New versions of the TCE that change the Kubernetes version will require this, and it is not an obvious step to have to remember having to redo. |
I see some of the comments are pivoting this "new experience/plugin" into something more like a "local cluster manager interface". While I think this might be super interesting and definitely would win my heart, don't think than a Some additional feedback, but definitely easier to give on Figmas:
Really good stuff. But I retain my comment that this might make more sense as a |
@dvonthenen this came up in our feedback session that continued after TCE office hours. Short answer is no I don't think we need to expose the AMI option for the simplified workflows, and will tweak the mockups accordingly. CC: @garrying |
Agreed, we should work the revised set that you suggested into the clickable mockups |
Agreed, at the least we should be offering contextual help that exposes a panel containing some level of integrated docs. An icon or text link next to a UI element should open the contextual help panel with content specific to that UI element. We have created something like this for the kickstart UI that I imagine us bringing over to this TCE UI. We can start working that into the mockups to provide some visibility on what that solution would look like. To your second point, we'll hopefully start on mockups for unmanaged cluster UI soon. |
Thanks for calling that out. I'll make a note to see how we can go about exposing this in the UI. |
Awesome!! 👏🏼 |
@garrying on this one, were there updated mockups we could update the proposal with? |
@joshrosso This is the updated direction we're moving in: |
lgtm. I updated the screenshot in the original proposal 👍 . |
We've officially accepted this proposal and work is (has been) in flight to satisfy this proposal. |
Abstract
We believe one of the largest areas of friction for TCE end users is successfully creating clusters. This process includes:
a. ie: unmanaged vs managed
Along with introducing a new UI, this proposal focuses on an initial use case where a user can accomplish the above with a simplified user experience by leveraging sensible defaults. This increases the likelihood of success for users with limited expertise in Kubernetes and cloud-providers.
Proposal
To achieve the above, we will:
Offer a web-based UI that provides guided and simplified user experiences for underlying CLI functionality. The initial focus will be to provide simplified paths for cluster creation. Including:
Users should be able to achieve each of the above without subject matter expertise in Kubernetes or the underlying infrastructure provider. As this new UI model is proved out, we’ll expand into other areas the community sees as viable. These could include things like:
The above list can also be considered our non-goals for this initial effort.
The remainder of this proposal describes how we are going to achieve the above.
Create new UI Tanzu CLI plugin
A new CLI plugin, named ui, will be introduced to TCE. This plugin will live in the TCE repository as we incubate the project. Based on usage and adoption, we’ll reconsider this home over time. This plugin will be used to launch the web-based UI along and for interacting with other CLI plugins, based on user input. A high-level diagram of this relationship is:
The ui plugin is intended to serve as a UI platform for surfacing selected underlying Tanzu CLI functionality in the form of a GUI. The UI is to be built on web technologies and embedded in a new Tanzu CLI plugin which will be entirely dedicated to running the UI and communicating with other Tanzu CLI plugins.
The current Kickstart UI is embedded in the Tanzu CLI management cluster plugin and is therefore limited to management cluster creation capabilities. The result of moving UI to a dedicated plugin should include greater flexibility in terms of the breadth of underlying CLI functionality that may be exposed in a GUI. Included will be the ability to run the UI “headless” on a remote machine while using a local web browser to offer flexibility for a breadth of users and lab environments.
Introduce sensible defaults
The primary initial use case is to do simplified cluster creations where known-good defaults are chosen and the user needs to provide minimal input. We believe this reduction in choices will increase the likelihood humans are able to stand-up their first clusters. For each provider, the user will only need to input the following:
Unmanaged Cluster
Docker Provider (Managed)
AWS Provider (Managed)
vSphere Provider (Managed)
Azure Provider (Managed)
Every setting that is missing from the above list, for example Cluster Service CIDR and Cluster Pod CIDR, are intentionally removed and set to known-good default where possible. These settings will remain configurable by the user in optional Advanced Settings areas of each provider workflow.
Advanced Settings Common to All Providers (Proposed):
AWS-specific Advanced Settings:
vSphere-specific Advanced Settings:
Azure-specific Advanced Settings:
Example of "Advanced settings" toggle enabled is shown later in this proposal.
Welcome screen invites user to learn more by linking to learning programs, in-app documentation content and/or external documentation. Left hand navigation panel is collapsible and allows returning users to easily navigate into a familiar area of the UI.
Discovery of existing management clusters is performed on application load. If one or more existing management clusters is detected, then an emphasis is placed on creating workload clusters. Otherwise, user will be invited to create a management cluster.
A list of existing management clusters (inventory) is displayed with the available actions for setting context and deletion. The user must set the context of a management cluster for retrieval of workload cluster inventory and to enable delete option.
Cluster creation flow
Management Cluster Creation
Users may create a management cluster by first selecting their preferred provider.
In the example below, a user has selected AWS as their provider. They will be presented with a simplified cluster creation UI that requires as few steps and inputs as necessary to get their cluster up and running. Advanced options may be optionally exposed for the user if they choose to toggle them on (see advanced settings toggle top-right of wizard). A clear indication of progress and organization can be seen as Steps 1-4 atop the wizard.
Minimal inputs required for authenticating with an AWS account using either a profile or temporary credentials.
Cluster settings include providing a name for the management cluster and a pointed set of instance size profiles to select from.
Regions and resources section includes required fields for region and availability zone selection, AMI ID and EC2 key pair. EC2 key pair is now intended to be displayed as a list of keys that are discovered on the AWS account and region.
The concept of Development and Production control planes is no longer used. Instead, a single node control plane is the default option and selecting the toggle for “Increase availability zones” will deploy three nodes and ask the user to select additional availability zones.
The example below represents how additional inputs will be shown if the user chooses to toggle "Advanced settings" on.
Once all fields have been completed, the user may continue to Go! A summary of simplified cluster settings are displayed along with a tab to expose advanced settings that the customer may have used, giving them a more complete view of their cluster configuration. Below the summary is a CLI command equivalent if they choose to exit the UI before beginning cluster creation in favor of the CLI.
Once a user clicks Create Management Cluster they will be directed to the final screen which displays an abbreviated but inclusive set of steps for cluster creation. Cluster creation logs are displayed in real-time while next steps are suggested in an area below the logs.
Workload Cluster Creation
Workload cluster creation will leverage Cluster Class constructs that are to be installed by default on a management cluster. Cluster Class templates should require minimum user input for creation of workload clusters. Mockups TBD.
Cluster deletion flow
Users will have the option to delete management clusters and workload clusters in the UI. Management cluster delete operations may only be performed once they are confirmed to have zero associated workload clusters. Users will be presented with a confirmation dialog before cluster deletion is performed.
The text was updated successfully, but these errors were encountered: