博客

  • 【K8s】Kubernetes 稳定性之初始化容器、重启策略、滚动更新策略

    初始化容器

    1、基本介绍

    初始化容器即 initContainer。

    Kubernetes 中,initContainer 用于在 Pod 中的业务容器启动之前,执行某些特定的初始化任务来提升 Pod 运行状态的稳定,如:

    • 探测并等待某些服务(如数据库服务)的启动和可用性
    • 执行一些预处理任务,如预加载数据
    • 为业务容器生成环境变量或配置文件

    2、主要特点

    • initContainer 共享业务容器的网络命名空间
    • initContainer 可以访问业务容器挂载的卷
    • 每个 initContainer 必须成功完成,业务容器才能继续启动

    3、资源清单(示例)

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      nanme: demo-deployment
    spec:
    ...
        spec:
          initContainers:
          - name: demo-init
            image: busybox
            command:
            - "/bin/sh"
            - "-c"
            - "until nc -w 2 -z mysql 3306;do echo mysql is not ready.;sleep 2;done"
          containers:
          - name: demo-container
    ...

    上述资源清单中定义了一个 initContainer,该 initContainer 使用 busybox 镜像(自带 ping、nslookup、nc 等工具),在业务容器启动之前执行命令探测 MySQL 服务是否就绪。当 initContainer 探测成功并退出后,业务容器 demo-container 开始启动,可以避免 demo-container 因无法连接 MySQL 服务而报错重启、Pod 一直处于 CrashLoopBackOff 状态。

    重启策略

    1、基本介绍

    重启策略(Restart Policy)定义了当 Pod 中的容器失败时,Kubernetes 如何响应。

    重启策略有 3 种选项:

    • Always:默认策略,无论容器以什么状态退出,Kubernetes 都会尝试重启容器
    • OnFailure:只有当容器以非零状态退出时,Kubernetes 才会重启容器。这可以防止在容器正常退出时不必要的重启
    • Never:无论容器以什么状态退出,Kubernetes 都不会重启容器。这通常用于批处理作业,其中失败的作业不需要重新启动

    2、资源清单(示例)

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      nanme: demo-deployment
    spec:
    ...
        spec:
          containers:
          - name: demo-container
    ...
          restartPolicy: Always
    ...

    滚动更新策略

    1、基本介绍

    Deployment 对象的镜像、env 环境变量等发生变更后,Deployment 控制器会对 Pod 进行更新,有 2 种更新策略可选:

    • Recreate:重新创建,先杀死运行中的 Pod 再创建新的 Pod
    • RollingUpdate:滚动更新,通过 ReplicaSet 控制器对旧 Pod 进行有序替换

    滚动更新策略(Rolling Update Strategy)可以通过逐步替换旧版本的 Pod 的方式,来实现应用程序的平滑过渡,确保应用程序的可用性和提供服务的稳定性。

    2、资源清单(示例)

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      nanme: demo-deployment
    spec:
    ...
      minReadySeconds: 5                  # 等待设置的时间后开始更新
      revisionHistoryLimit: 10            # 最多保存多少个历史版本
      strategy:
        type: RollingUpdate
        rollingUpdate:
          maxSurge: 25%
          maxUnavailable: 25%
    ...
        spec:
          containers:
          - name: demo-container
    ...
    
    🔔 maxSurge:在更新过程中可以超出期望数量的最大 Pod 数量,可以是绝对值或百分比,默认为 25%
    🔔 maxUnavailable:在更新过程中可以处于不可用状态的最大 Pod 数量,可以是绝对值或百分比,默认为 25%

    3、主要优点

    • 减少更新对用户的影响,实现无缝更新和服务的持续可用
    • 允许逐步验证新版本的稳定性
    • 提供回滚机制(Rollout Undo),以便在更新失败时恢复到旧版本

  • 视频中文实时翻译插件会员服务说明

    在观看网页视频时,我们经常会遇到两类问题:视频本身没有字幕,或者视频有声音但语言不熟悉,比如粤语、潮汕话、闽南语、英语、日语、韩语等。为了让这类视频内容更容易理解,我开发了这款 Chrome 浏览器插件:视频中文实时翻译

    这是一款面向网页视频的实时字幕识别与中文翻译工具。用户打开含有视频的网页后,可以通过插件在页面上显示一个悬浮字幕窗口,对视频中的语音进行实时识别,并在会员权益范围内翻译为简体中文普通话字幕。字幕窗口支持拖拽、缩放和位置记忆,适合课程学习、海外视频观看、方言访谈理解、资料检索和日常内容整理等场景。

    一、产品和服务内容

    本文介绍并销售的是 视频中文实时翻译插件的精翻会员服务。该服务属于虚拟数字服务,不配送实物商品。用户购买后获得一串会员卡密,用于在 Chrome 插件内开通会员权益。

    会员服务主要包含以下内容:

    商品/服务交付方式主要权益
    免费版安装插件后即可使用每台设备每日可体验 10 分钟精翻,超出后切换为纯语音识别字幕
    月度会员支付成功后交付会员卡密31 天内不限精翻时长,可使用视频语音识别与中文翻译
    半年会员支付成功后交付会员卡密183 天内不限精翻时长,可使用视频语音识别与中文翻译

    当前套餐价格如下:

    套餐有效期价格说明
    免费版每日重置¥0每台设备每日 10分钟精翻体验
    月度会员31 天¥39不自动续费,到期后可按需续费
    半年会员183 天¥230不自动续费,到期后可按需续费

    二、业务流程与购买开通方式

    本产品的完整业务流程如下:

    • 用户进入本文产品介绍页,了解插件用途、会员权益、套餐价格、使用限制和售后规则。
    • 用户安装该插件后,在插件的“高级”菜单区域点击“购买/续费”,打开本站会员购买页。
    • 用户在购买页选择套餐,例如月度会员或半年会员。
    • 用户选择支付方式并扫码付款。可选择您最方便的支付方式。
    • 支付成功后,购买页展示会员卡密,并提供复制按钮;从插件内打开购买页时,也会尝试将卡密自动回填到插件。
    • 用户在插件的“高级”弹框的输入框中填写卡密,保存后即可开通会员权益。
    • 开通成功后,用户打开网页视频,选择语种并点击开始,即可使用实时识别和中文精翻字幕。

    付款后用户实际获得的是“会员卡密 + 有效期内的精翻会员权益”。本插件不保存用户银行卡信息、微信支付账号信息或支付宝账号信息;支付过程由第三方支付平台完成,本插件只接收支付成功后的订单通知并完成卡密发放。

    三、安装与使用流程

    用户购买或试用前,可以先了解插件的实际使用方式:

    1. Chrome商店下载并安装“视频中文实时翻译”插件。
    2. 打开任意包含网页视频的页面。
    3. 插件会显示一个悬浮字幕窗口,用户可以拖动位置、调整大小和字幕样式。
    4. 在插件中选择识别语种,例如粤语、潮汕话、英语、日语、韩语等。
    5. 点击开始识别,插件会识别视频语音并显示字幕。
    6. 免费版可体验每日 10 分钟精翻;会员卡密生效后,可在有效期内持续使用中文精翻字幕。

    四、产品能解决什么问题

    很多视频平台、课程网站或资料页面,并不会为每一段视频提供中文字幕。遇到外语视频、地方方言视频、采访片段或资料型视频时,用户可能只能依靠听力理解,信息获取效率较低。

    视频中文实时翻译插件的目标是:在用户观看网页视频时,提供一个轻量的实时字幕辅助工具,让用户不用离开原网页,也能看到识别后的字幕,并在需要时获得中文普通话翻译。

    典型使用场景包括:

    • 观看无中文字幕的外语课程、讲座和访谈;
    • 理解粤语、潮汕话、闽南语、客家话、上海话、四川话等方言视频;
    • 快速浏览海外新闻、技术演示、产品发布会等视频内容;
    • 在学习、调研和资料整理时,把视频语音内容转成更容易阅读的字幕文本;
    • 观看网页视频时使用悬浮字幕窗口辅助理解。

    五、核心功能

    1. 实时语音识别字幕插件会识别网页中视频的语音内容,并在页面上显示字幕。非会员也可以使用语音识别字幕功能,但不提供中文翻译权益。
    2. 会员中文翻译会员用户可以在识别字幕的基础上,将视频语音内容翻译为简体中文普通话。翻译结果会直接显示在悬浮字幕窗口中,适合需要理解外语或方言内容的用户。
    3. 悬浮字幕窗口字幕窗口支持拖拽移动、缩放大小、记忆位置和尺寸。用户可以根据视频画面的位置,把字幕放在不遮挡主要内容的区域。
    4. 多语种与方言支持插件支持中英混合、粤语、潮汕话、闽南语、客家话、上海话、四川话、吴语等多种中文方言,也支持英语、日语、韩语、越南语、马来语、印尼语、菲律宾语、泰语、葡萄牙语、土耳其语、阿拉伯语、西班牙语、印地语、法语、德语等常见外语。
    5. 自动暂停与恢复 当视频暂停、播放结束、标签页长时间切走,或连续一段时间没有检测到有效语音时,插件会自动暂停识别,视频恢复播放或重新检测到语音后,可以继续识别。
    6. 会员卡密开通 用户购买会员后会获得一串会员卡密,在插件的“精翻会员”区域输入后即可开通。会员服务不自动续费,到期后可按需续费。

    六、隐私与数据说明

    本插件用于识别网页中视频播放时的语音内容,不要求用户主动上传音频文件。插件运行时会从网页视频中提取音频流用于实时语音识别和字幕生成。

    我们重视用户隐私,服务设计遵循最小必要原则:

    • 不要求用户上传本地音频文件;
    • 不采集用户的网站账号、密码等个人登录信息;
    • 不主动存储视频页面完整 URL、视频标题或字幕正文;
    • 会员卡密仅用于校验会员权益;
    • 支付过程通过微信或支付宝扫码完成,本插件不保存用户支付账户信息。

    由于语音识别和翻译需要调用相关服务接口,视频中的语音内容会在识别和翻译过程中被用于生成字幕和译文。相关数据仅用于完成用户主动发起的视频字幕识别与翻译请求。

    七、使用限制

    受浏览器和视频播放方式影响,以下场景可能无法正常识别:

    • 加密 DRM 视频;
    • 嵌入在跨域 iframe 中且浏览器无法捕获音频的视频;
    • 纯音乐、强背景噪音或多人同时说话的片段;
    • 视频本身音量过低或语音不清晰的内容。
    • 海外用户(暂不支持,后续优化)

    八、售后与退款说明

    用户购买会员后,如遇到卡密无法使用、会员状态异常、换电脑或重装浏览器后需要重新绑定等问题,可以通过客服邮箱联系处理。

    客服邮箱:guichun68@vip.qq.com

    退款规则建议如下:

    • 如付款后未收到会员卡密,或卡密无法开通,可联系客服核实处理;
    • 如因服务端问题导致会员权益无法正常使用,可联系客服补发、延长有效期或协商退款;
    • 虚拟会员服务一经开通并实际使用,原则上不支持无理由退款;
    • 因浏览器限制、特定网站视频限制、DRM 视频无法捕获音轨等客观原因导致部分视频无法识别的,可联系客服协助判断。

    如果你经常需要观看无字幕外语视频、方言视频或资料型视频,这款插件可以帮助你更快理解视频内容。欢迎通过客服邮箱反馈问题和建议。你的每一条反馈,都会帮助它变得更好。

  • 关于邓丽君读“错”的字

       一向比较喜欢邓丽君的声音,这不今天闲暇时候又打开播放器播放起那熟悉的旋律来,顺便开着歌词,嘴角也小声跟唱着,不经意间发现了几处邓丽君歌词读音有问题的地方,在此同大家探讨一下下!同时也希望如果哪位友友有时间的话,可告知一下,谢谢哈!?
       首先是歌曲《奈何》中“问此情何时已”一句中“已”读做了“己”音。这明显是不对的,据说在后来的现场演唱会中改了过来,自己没试听过,知道的可以说下。
       第二首,歌曲《但愿人长久》中“转朱阁,低绮户”中“绮”应为“起”的读音,但她读成了“以”音;而且后来的王菲等歌手唱的也是这个音,张学友在唱的时候就改了。说起来这句也算记忆犹新的,记得当年在学校的时候,就因为很多人都读错,老师特意强调的。不知为什么邓丽君会唱错此字,自我判断,无非两种可能,唱错或唱对(废话),如果她的确唱错了,那么有很多理由支持此观点,每个人都知道的,但话说回来,像这样一个字在古诗词中也算一个生僻字了,她在唱之前也应该会去咨询一番了,这里我引用网友的一段话说吧,“我所说的是,读音这个问题方有方言、国有国标,同一个字同一件事有不同的发音、有不同的描述,这个《但愿人长久》是苏轼的词,也就是古词了,按古诗词,邓丽君的发音没错的。你想啊,她在唱录前肯定有谱曲的,有知名专家审核的,并不是随随便便唱完就了事的呀。用古音唱古诗词更有特有的韵意,还有同一个字在不同的时代可会出现不同的发音,这叫语音变迁;除此之外还有语意变迁呢,比如近几年语意有所变迁的“小姐”,本来小姐是一个文明文雅用语,是对未婚女子的尊敬,现在有的地方叫人家“小姐”人家就有的不高兴了,为什么呢?这个不必我再说了吧。”,如果以上所说观点成立的话,那么邓丽君唱的就是正确的了。?
       第三,在歌曲《偿还》及《海韵》中将“徘徊”中“徊”字音读做“回”音,我不知道这是不是因为台湾地区本身就这么读,是的话,就是正确的,也没有细究的意义了,这个暂且不去算吧!?
       第四,歌曲《何日君再来》中“重擎白玉杯”中“擎”字,我怎么听都感觉她念成了“敬”音,是的话,不知道这个字是否有地区差异!
       好了,以上皆是本人观点,没有任何其它用意,友友们可在此发表自己的看法。更希望筠迷们不要介意!