The author

Wang Xiaowei, product manager of Tencent cloud container, is keen on providing customers with efficient use of Kubernetes, and providing customers with extremely cost-effective services.

background

“Function” solution is the product has or does not have a capability of the problem, with “function”, how through good guidance, prompts, and interaction to help users more “smooth” use of the product is a problem worth thinking about.

Lego, for example, has more than 3,700 different modules that can build an infinite number of models. However, the presentation of different models is completely different, and it is possible to change the position of a few small modules to bring unexpected results.

Over the past few years, TKE has put forward a large number of new features in the functional level: for example: improve performance through LB direct POD, cluster in-place upgrade, virtual node, dynamic scheduler, more can refer to the container service product dynamic.

TKE, moreover, but also to the overall use of the user experience, therefore visited several companies, collect a lot of demand, and according to the user takes the layered, optimized and the tool of development, the user can use the optimization of the tip, the more smooth to experience container services, more “ground” lower barriers, improve product experience.

Ascending list

Cluster/node correlation

Recommendation: Enhanced node search capability

Node search supports multi-dimensional search by Label/IP/ whether to block/node state.

  • The Label search format is the same as native Kubernetes: “k1=v1,k2=v2”
  • IP multi-valued search only supports precise query, single IP search supports fuzzy query

How to use: Node Management -> Nodes -> Search or Node Pool Details Page -> Drop down to Node List -> Search

Recommendation: Node initialization error shows optimization

  • If a node purchase fails due to a CVM shipment failure, in addition to reporting LAUNCH_FAILED (i.e., failed shipment), it will also display detailed reasons for the shipment failure: such as insufficient VPC subnet IP/insufficient disk resources/insufficient balance/insufficient quota for the placement group, etc.
  • [Detailed display of errors related to node initialization] will show the steps of node initialization failure and corresponding information in the node list in detail: such as disk failure, core component exception, etc.

How to use: node management -> node -> Click on the status bar to view the status to view the error

Node pool node operation standardization: support for blockade/ejection

Node operations in the node pool support lockout/ejection and are fully synchronized with node list operations in the cluster, allowing you to efficiently manage nodes in the node pool.

Usage: Node pool details page -> drop down to node list -> operate on a single node in the operation column or perform batch operations after selecting batch nodes (click the “More Operations” button above to block/unblock nodes in batch)

Delete protection logic optimized

Customer report: if the error delete option is enabled when creating the cluster, the customer cannot delete it if the creation fails.

You can now turn off delete protection for the cluster on the Cluster List page.

How to use: Cluster Management -> Cluster Action List -> More -> Turn off Cluster Delete Protection

IP display optimization of public network

Some customers feedback that the configuration entrance of public network IP is too hidden, and the default bandwidth value is too small, which cannot meet the business needs.

We take the graphical form (drag bar) to replace the input box, strengthen the display effect.

👉 Usage: New node/New node pool -> select model -> drag to the bottom -> set public network bandwidth

Node pool display information structure/advanced parameter display

  1. Add an overview of node pool core definitions/capabilities to give customers a quick overview of node pool usage scenarios

  1. Structured display of node pool information (aggregated by modules, more advanced parameters are displayed at the same time, which improves the observability)

    • Basic information of node pool (elastomeric scale-related configuration, number of nodes, etc.)
    • Node configuration details (node template related configuration, node pool expansion node automatic inheritance configuration)

Nodes jump directly to CVM optimization

Older versions of the Jump CVM button display is unstable and the entry is not prominent.

How to use it: hover over the Node ID (if you click on the Node ID directly, it will jump to the Node detail page) -> click “jump to CVM instance detail page” -> will jump to the CVM instance detail page.

Container network IP validation was added when creating nodes

Before creating nodes, the container network configuration (network mode, network segment, etc.) will be used to determine whether the container network can meet the requirements of creating this batch of nodes. Considering that you may not need to verify the container network for some special scenarios, we provide a parameter SKIP to allow you to skip the validation. (Please refer to the API documentation for details of the parameters)

Usage: new node/add existing node/new node pool -> more Settings -> set SKIP parameter

Support mounting partition /LVM name when adding existing nodes to the cluster

If you partition the disk /LVM when adding an existing node, enter the name of the partition /LVM that you want to mount on the mount partition. If the disk is not partitioned or LVM, you do not need to enter the mount partition, only the mount point.

Usage: add existing node -> select node -> check data disk mount -> fill in mount partition and mount point

Kubernetes object correlation

Recommendation: Bulk import of key-value pairs: configuration management & environment variable optimization

Supports the import of batch key and value pairs from the clipboard at once. When the variable name is empty, one or more lines of key=value or key: value pairs can be pasted in the variable name to achieve fast batch typing.

Usage 1: workload -> new load -> instance container -> environment variable

Configmap /Secret: Configmap /Secret: >

Recommendation: CronJob supports retention/pausing/manually triggering/displaying a list of jobs generated by CronJob

  • Preserve the number of successful jobs: Prevents infinite Job generation that affects cluster performance
  • Preserve the number of failed jobs: Prevents infinite Job generation that affects cluster performance
  • Pause: This will stop the running of a cronJob and no new jobs will be created. Support to resume operation
  • Manual trigger: Support generating a new Job from the Job template in the Cronjob without waiting for the Crontab time set by the Cronjob

How to use it: Workload -> cronjob-> New -> Keep successful jobs/Keep failed jobs

How to use: Workload -> Cronjob list -> more -> manual trigger/pause

Click on the name of the CronJob in the image above to see the list of running jobs generated by the CronJob:

HostAliases transition.

Hostaliases are used to add entries to the /etc/hosts file of the Pod, which can override the resolution of the hostname at the Pod level. To increase the DNS configuration of POD.

How to use: workload -> new load -> advanced Settings -> host alias

Lifecycle transition.

Lifecycle: A container’s lifecycle event hook handler. Containers can specify a handler for each event. When a container is started, Kubernetes will immediately send a postStart event. Before the container is terminated, Kubernetes sends a preStop event.

Usage: workload -> new load -> instance container -> life cycle

Service defaults to “Cluster Access Only”; Service type explanation is added corresponding to English nouns

  1. The “cluster-only” access mode accords with the usage habits
  2. English and Chinese noun control to reduce the user’s understanding cost, in line with the native use habits of Kubernetes

One-click “Redeploy” support on Deployment, StatefulSet, and DaemOnset

As with Deployment, StatefulSet and DaemOnset now support one-click redeployment, eliminating the need to reconfigure after deletion.

How to use: Workloads -> load list -> more -> redeploy

Ingress certificates support certificates that inherit from LB

Support directly using CLB certificate to automatically create INGress HTTPS certificate, save tedious Secret creation process.

Service and Routing -> ingress-> New Ingress-> Listening Port Check Https: 443-> New Key -> Select Server Certificate

Secret supports the TLS type

In addition to CLB certificates, you sometimes use your own certificates, which require a TLS Secret to store

Configuration management -> Secret -> create new Secret -> TLS certificate

Ingress-> Nginx Load Balancer -> Listening Port Check Https: 443-> New Key

Subpathexpr supports configuration on the console

SubpathexPR, which supports mapping environment variables to a subpath in Volume

How to use: New Load -> Use Data Volume -> Add Environment Variable -> Use Hardpoint -> Select Subpathexpr

Resource support in kube-system, kube-node-lease, and kube-public supports modifications on the console

Before in order to prevent users from accidentally touch, in the console limit the namespace resources change, but in fact, some users itself has the namespace resource management permissions, so the new version to remove these limitations, the console access logic judgment to the background, and if you do not have permission to relevant namespace, modify the resources will also be an error.

How to use: New load -> select namespace -> modify resource configuration

How to use: Authorization management -> to select any entry -> RBAC policy generator -> to select child accounts -> to select namespace/permissions

Added multiple levitation tips

All resource list page field names have been added to hover prompts, more suitable for users with smaller screens

Log entry container names in workloads have been added to hover for smaller screen users

Operation and maintenance ability related

Recommendation: Log capture supports automatic extraction of regular expressions based on log samples

When selecting the extraction mode of single-line fully regular or multi-line fully regular from the log collection rules, the regular expression can be generated automatically according to the user’s own log sample and the corresponding key-value pairs can be extracted automatically, without the user having to learn and configure the regular expression by himself

Usage: 1. Cluster operation and maintenance -> 2. Log rules -> 3. New -> 4. Enter the name of the log collection rule -> 5. Select the extraction method of “single-line -fully regular” -> 6. Enter the log sample -> 7. Click on the regular expression auto-generation -> 8. Move the cursor to select the string that needs to be regularized -> 9. Enter key-> 10. Confirm

Recommendation: Log collection supports automatic verification of the normal extraction of logs based on the log sample

For regular expressions, delimiters, etc., filled by users themselves, validation is supported according to the user log sample, and all values are automatically extracted to verify whether the log can be parsed normally and avoid expression configuration errors when retrieving the log.

Usage: 1. Cluster operation and maintenance -> 2. Log rules -> 3. New -> 4. Enter the name of the log collection rule -> 5. Select the extraction method of “single-line -fully regular” -> 6. Enter the log sample -> 7. Manually enter the regular expression -> 8. Verify

Log collection supports multi-row regular extraction mode

Support multi-line regular parsing mode (suitable for Java programs such as the need for multi-line logs to retrieve logs by key value pairs)

Note: Using the multi-line regular extract pattern requires contact with the back end to upgrade the capture component version

Usage: New log collection rule -> Select “multi-row – fully regular mode” in the second step of extraction mode

Hosted Prometheus supports Singapore, Virginia and other territories

Cloud native monitoring (hosted Prometheus) gray scale online in Singapore/Virginia and other areas, welcome to use.

conclusion

Kubernetes itself is powerful, but the modules are complex and the starting cost is high, and TKE is committed to upgrading the functionality and experience if you have any

[Tencent cloud native] cloud said new, cloud research new technology, cloud tour new live, cloud appreciation information, scan the code to pay attention to the public number of the same name, timely access to more dry goods!!