乐趣区

关于腾讯云:TKE-体验升级更快上手-K8s-的24个小技巧

作者

王孝威,腾讯云容器产品经理,热衷于为客户提供高效的 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 致力于性能和体验的降级,如果您有任何

【腾讯云原生】云说新品、云研新术、云游新活、云赏资讯,扫码关注同名公众号,及时获取更多干货!!

退出移动版