作者

王孝威,腾讯云容器产品经理,热衷于为客户提供高效的 Kubernetes 使用方式,为客户极致降本增效服务。

背景

“功能“解决是产品有或者没有一个能力的问题,有了“功能”之后,如何通过良好的引导、提示,以及交互来帮助用户更“流畅”的使用产品是一个值得思考的问题。

例如:乐高已经有了超过 3700 种不同的模块,这些模块可以拼出无限种模型。然而,不同模型的呈现完全不一样,有可能只是几个小模块的位置的改变就能带来意想不到的效果。

进过几年的努力,TKE 在功能层面提出了大量新特性:例如:通过 LB 直连 Pod 提升性能集群原地升级虚拟节点动态调度器,更多可参考容器服务产品动态

此外,TKE 也重视用户的整体使用体验,为此拜访了多家公司,收集了很多需求,并根据用户重视分层,进行了优化和工具的开发,用户可以利用这些优化的小技巧,更顺滑的来体验容器服务,更“接地气”的降低产品使用门槛,提升产品使用体验。

提升列表

集群/节点相关

推荐:节点搜索能力增强

节点搜索支持通过 Label/IP/是否封锁/节点状态 等多维度的搜索。

  • Label 搜索格式与原生 Kubernetes 相同:"k1=v1,k2=v2"
  • IP 多值搜索时仅支持精确查询,单 IP 搜索支持模糊查询

使用方式:节点管理 -> 节点 -> 搜索 或者 节点池详情页 -> 下拉到节点列表 -> 搜索

推荐:节点初始化错误展示优化

  • 【CVM 发货失败 相关错误细化展示】如果因为 CVM 发货失败导致节点购买失败,除了报 LAUNCH_FAILED(即发货失败), 还会显示详细发货失败的原因:比如 VPC 子网 IP 不足/磁盘资源不足/余额不足/置放群组配额不足等等。

  • 【节点初始化 相关错误细化展示】会详细在节点列表展示节点初始化失败的步骤以及对应信息:比如挂盘失败、核心组件异常等等。

使用方式:节点管理 -> 节点 -> 在状态栏点击查看状态即可查看错误

节点池节点操作标准化:支持封锁/驱逐

节点池内节点操作支持封锁/驱逐,已与集群内节点列表操作保持完全同步,您可以在节点池内高效管理节点。

使用方式:节点池详情页 -> 下拉到节点列表 -> 在操作列对单节点进行操作 或者 选中批量节点后进行批量操作(点击上方【更多操作】按钮可批量封锁/取消封锁节点)

删除保护逻辑优化

客户反映:如果创建集群时开启了误删选项,开启后假如创建失败,客户也无法删除。

现在您可以在【集群列表页】为集群关闭删除保护功能。

使用方式:集群管理 -> 集群操作列表 -> 更多 -> 关闭集群删除保护

公网 IP 展示优化

有些客户反馈公网IP的配置入口过于隐蔽,默认带宽值过小,无法满足业务需要。

我们采取图形化的形式(拖动条)来代替输入框,强化显示效果。

使用方式:新建节点/新建节点池 -> 选择机型 -> 拖拽到底部 -> 设置公网带宽

节点池展示信息结构化 / 高级参数展示

  1. 增加节点池核心定义/功能的概览,让客户快速了解节点池的使用场景

  1. 节点池信息结构化展示(按模块聚合展示,同时显示了更多的高级参数,提高了可观测性)

    • 节点池基本信息(弹性伸缩相关配置、节点数量等信息)
    • 节点配置详情(节点模板相关配置、节点池扩容节点自动继承的配置)

节点直接跳转 CVM 优化

旧版本的跳转 CVM 按钮显示不稳定,并且入口不突出。

使用方式:鼠标悬浮到节点 ID 处(如果您直接点击节点 ID, 会跳转到 Node 详情页) -> 点击 “跳转到 CVM 实例详情页” -> 会跳转到 CVM 实例详情页

创建节点时增加了容器网络 IP 校验

创建节点前,会根据您的容器网络配置(网络模式、网段等)来判断容器网络是否可以满足这批节点创建的要求。考虑到某些特殊场景下您可能不需要校验容器网络,我们提供了参数skip可以供您跳过校验。(参数的详细说明可参考API文档

使用方式:新建节点/添加已有节点/新建节点池 -> 更多设置 -> 设置skip参数

集群添加已有节点时支持填写挂载分区/LVM 名

在添加已有节点时如果您对磁盘做了分区/LVM,请在挂载分区填写想要挂载的分区名/LVM名,如果磁盘未分区或 LVM,无需填写挂载分区,只需填写挂载点

使用方式:添加已有节点 -> 选择节点 -> 勾选数据盘挂载 -> 填写挂载分区以及挂载点

Kubernetes 对象相关

推荐:批量导入键值对:配置管理 & 环境变量优化

支持一次性从剪切板导入批量的键值对。变量名为空时,在变量名称中粘贴一行或多行 key=value 或 key: value 的键值对可以实现快速批量输入。

使用方式1:工作负载 -> 新建负载 -> 实例内容器 -> 环境变量

使用方式2:配置管理 -> 新建ConfigMap/Secret -> 内容

推荐:CronJob 支持保留数量/暂停/手动触发/显示由 Cronjob 生成的 Job 列表

  • 保留成功Job数:防止Job无限生成,影响集群性能

  • 保留失败Job数:防止Job无限生成,影响集群性能

  • 暂停:会停止 Cronjob 的运行,不再会生成新的 Job。支持恢复运行

  • 手动触发:无需等到 Cronjob 设置的 Crontab 时间就支持利用 Cronjob 里的 Job 模板生成一个新的 Job

使用方式:工作负载 -> Cronjob -> 新建 -> 保留成功Job数/保留失败Job数

使用方式:工作负载 -> Cronjob 列表 -> 更多-> 手动触发/暂停

点击上图中的 CronJob 的名称,就可以查看到由 CronJob 生成的运行中的 Job 列表:

HostAliases 产品化

HostAliases 用于为 Pod 的 /etc/hosts 文件中添加条目,可以在 Pod 级别覆盖对主机名的解析。以增加 Pod 的 DNS 配置。

使用方式:工作负载 -> 新建负载 -> 高级设置 -> 主机别名

lifecycle 产品化

lifecycle : 容器的生命周期事件挂接处理函数。 容器可以为每个事件指定一个处理程序,当一个容器启动后,Kubernetes 将立即发送 postStart 事件;在容器被终结之前, Kubernetes 将发送一个 preStop 事件。

使用方式:工作负载 -> 新建负载 -> 实例内容器 -> 生命周期

Service 默认 “仅在集群内访问”;Service 类型解释增加对应英文名词

  1. “仅在集群内访问”访问方式符合使用习惯
  2. 中英文名词对照减少用户的理解成本,符合 Kubernetes 原生使用习惯

一键“重新部署” 在 Deployment、StatefulSet 和 DaemonSet 上支持

和 Deployment 一样,StatefulSet 和 DaemonSet 现在支持一键重新部署了,免去删除后重新配置的烦恼。

使用方式:工作负载 -> 负载列表 -> 更多 -> 重新部署

Ingress 证书支持继承 LB 的证书

支持直接使用 CLB 的证书自动创建 Ingress 的 HTTPS 证书,省去繁琐的 Secret 创建流程。

使用方式:服务与路由 -> Ingress -> 新建Ingress -> 监听端口勾选Https:443 -> 新建密钥 -> 选择服务器证书

Secret 支持 TLS 类型

除了 CLB 证书,您有时会使用自己的证书,保存证书需要使用 TLS 类型的 Secret

使用方式1:配置管理 -> Secret -> 新建Secret -> TLS证书

使用方式2:服务与路由 -> Ingress -> 新建Ingress -> Nginx负载均衡器 -> 监听端口勾选Https:443 -> 新建密钥

subPathExpr 在控制台上支持配置

subPathExpr,支持将环境变量映射到 Volume 里的一个子路径

使用方式:新建负载 -> 使用数据卷 -> 增加环境变量 -> 使用挂载点 -> 选择 subPathExpr

kube-system、kube-node-lease、kube-public 里的资源支持在控制台支持修改

以前为了防止用户误触,在控制台限制了这些命名空间里资源的修改,但事实上有些用户本身就具有这些命名空间的资源管理权限,因此新版本在控制台去掉了这些限制,权限逻辑交给后台判断,若您没有相关命名空间的权限,修改资源也会报错。

使用方式:新建负载 -> 选择命名空间 -> 修改资源配置

使用方式:授权管理 -> 选择任意一个入口 -> RBAC策略生成器 -> 选择子账号 -> 选择命名空间/权限

增加多处悬浮提示

所有的资源列表页的字段名增加悬浮提示,更适应屏幕较小的用户

工作负载里的日志入口容器名增加悬浮提示,更适应屏幕较小的用户

运维能力相关

推荐:日志采集支持根据日志样例自动提取正则表达式

当在日志采集规则中选择单行完全正则、多行完全正则的提取模式时,可根据用户自己的日志样例自动生成正则表达式,并自动提取相应的键值对,无需用户自己去学习并配置正则表达式

使用方式:1.集群运维 -> 2.日志规则 -> 3.新建 -> 4.输入日志采集规则名字 -> 5.提取方式选取“单行-完全正则” -> 6.输入日志样例 -> 7.点击正则表达式自动生成 -> 8.移动光标选取需要被正则的字符串 -> 9.输入key -> 10.确认

推荐:日志采集支持根据日志样例自动验证是否可正常提取日志

对于用户自己填写的正则表达式、分隔符等,支持按照用户日志样例进行验证,自动提取所有value,以验证是否可以正常解析日志,避免在检索日志时发现表达式配置错误。

使用方式:1.集群运维 -> 2.日志规则 -> 3.新建 -> 4.输入日志采集规则名字 -> 5.提取方式选取“单行-完全正则” -> 6.输入日志样例 -> 7.手动输入正则表达式 -> 8. 验证

日志采集支持多行正则提取模式

支持多行正则的解析模式(适用于java程序等多行日志以键值对去检索日志的需求)

注意:使用多行正则提取模式需要联系后端升级采集组件版本

使用方式:新建日志采集规则->第二步提取模式中选择“多行-完全正则模式”

托管 Prometheus 支持新加坡、弗吉尼亚等地域

云原生监控(托管 Prometheus)灰度上线新加坡/弗吉尼亚等地域,欢迎使用。

总结

Kubernetes 本身功能强大,但模块复杂,上手成本较高,TKE 致力于功能和体验的升级,如果您有任何

TKE 体验升级:更快上手 K8s 的24个小技巧的更多相关文章

  1. 全网最热Python3入门+进阶 更快上手实际开发✍✍✍

    全网最热Python3入门+进阶 更快上手实际开发  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问 ...

  2. 更快学习 JavaScript 的 6 个思维技巧

    更快学习 JavaScript 的 6 个思维技巧 我们在学习JavaScript,或其他任何编码技能的时候,往往是因为这些拦路虎而裹足不前: 有些概念可能会造成混淆,尤其当你是从其他语言转过来的时候 ...

  3. 更好使用jQuery的8个小技巧

    更好地使用jQuery,这里总结了8个小技巧. 1.DOM遍历是昂贵的,将变量缓存起来. //不推荐var h = $('#ele').height();$('#ele').css('height', ...

  4. 上手更快的网络文件系统 —— oxfs

    什么时候需要网络文件系统? 做嵌入式的同学经常会使用 NFS 讲 host 上的某个目录挂载到开发板上,方便 host 上编译构建后能直接在板子上运行,减少手工拷贝操作. 网站开发时,在 host 上 ...

  5. 比Python、Java更快的 Go 语言,能否称霸江湖?

    关注之后加星标,江湖要事早知道 ​ 文章来源:jb51.net 有一种语言堪称比语言排行榜前五热门选手的Python.Java更快,它就是GO语言. Go于2009年11月正式宣布推出,成为开放源代码 ...

  6. 精通Web Analytics 2.0 (9) 第七章:失败更快:爆发测试与实验的能量

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第七章:失败更快:爆发测试与实验的能量 欢迎来到实验和测试这个棒极了的世界! 如果Web拥有一个超越所有其他渠道的巨大优势,它就 ...

  7. 让互联网更快:新一代QUIC协议在腾讯的技术实践分享

    本文来自腾讯资深研发工程师罗成在InfoQ的技术分享. 1.前言 如果:你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度,特别是弱网络的时候能够提升 20% 以上的访问速度. 如 ...

  8. Wi-Fi 6 与 5G 相比哪个更快?

    随着 iPhone12 的发布,iOS 系统正式开始拥抱 5G,智能手机全面进入了 5G 时代.伴随着各大运营商的 5G 推广以及相关基站建设的如火如荼,5G 成了大家广泛讨论的热门词汇.这样热门的光 ...

  9. 更快的Maven来了,我的天,速度提升了8倍!

    周末被 maven-mvnd 刷屏了,于是我也下载了一个 mvnd 体验了一把.虽然测试的数据都是基于我本地项目,不具备普适性和权威性,但也足以说明问题.它的测试结果远远超出我的预期,下面一起来看. ...

随机推荐

  1. Pytorch_Part7_模型使用

    VisualPytorch beta发布了! 功能概述:通过可视化拖拽网络层方式搭建模型,可选择不同数据集.损失函数.优化器生成可运行pytorch代码 扩展功能:1. 模型搭建支持模块的嵌套:2. ...

  2. mysql知识点归纳-锁(死锁)

    愿历尽千帆,归来仍是少年 所遇问题: MySql 更新死锁问题 Deadlock found when trying to get lock; try restarting transaction 场 ...

  3. Spring Cloud Alibaba Nacos Config 实战

    Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持.使用 Spring Cloud Alibaba Nacos Config,您可 ...

  4. [C] gcc

    概述 GNU C Compiler 流程 预处理,生成.i文件(中间文件,看不到) 编译,生成.s文件(中间文件,看不到) 汇编,生成.o文件 链接,生成可执行文件 参数 -E:预处理 -S:预处理, ...

  5. ruby基础(二)

    ruby语法基础 1.方法 方法时对象定义的与该对象相关的操作.在Ruby中,对象的所有的操作都被封装成 方法. 语法糖:语法糖是一种为了照顾一般人的习惯而产生的特殊语法. ruby中一切数据都是对象 ...

  6. 如何访问pod --- service(7)

    一.通过service访问pod 我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 controller ...

  7. LTP--linux稳定性测试 linux性能测试 ltp压力测试 内核更新 稳定性测试

    LTP--linux稳定性测试 linux性能测试 ltp压力测试 zhangzj1030关注14人评论33721人阅读2011-12-09 12:07:45   说明:在写这篇文章之前,本人也不曾了 ...

  8. Canvas跟随鼠标炫彩小球

    跟随鼠标炫彩小球 canvas没有让我失望,真的很有意思 实现效果 超级炫酷 实现原理 创建小球 给小球添加随机颜色,随机半径 鼠标移动通过实例化,新增小球 通过调用给原型新增的方法,来实现小球的动画 ...

  9. [Django高级之forms组件]

    [Django高级之forms组件] forms组件之校验字段 # 第一步:定义一个类,继承forms.Form # 第二步:在类中写字段,要校验的字段,字段属性就是校验规则 # 第三步:实例化得到一 ...

  10. AtCoder Regular Contest 119 C - ARC Wrecker 2(同余定理+思维)

    Problem Statement There are NN buildings along the AtCoder Street, numbered 11 through NN from west ...