@azbake/ingredient-kubernetes

中文文档
0.1.117发布于 2024/07/25MITTypeScriptCommonJS近 30 天下载 7327

用于部署Kubernetes配置的组件

中文使用文档
文档目录5 节
  1. Kubernetes 配置
  2. Kubernetes 集群
  3. 调试
  4. 延迟和重试
  5. 页:1

更改日志

概览

Kubernetes配方是用于烘焙的插件. 当包含在配方中时, 此插件将 应用 相对于集群的指定配置。 将应用的Kubernetes配置在 source (见限制)。 支持在配置内替换服务时间符号 .

使用量

Kubernetes 配置

当您有需要部署到Kubernetes的应用程序时,您应该先写一个 Kubernetes 配置,通常采取"活塞"文件的形式. 此文件一旦存在, 应该写出一个将点到文件的烤盘 。 要做到这一点,食谱必须包含"@azbake/ingredient-kubernetes"的成分. 成分的 source 字段将指定 Kubernetes 配置。 此字段接受一个文件的路径,一个文件的url或一个包含多个Kubernetes配置文件的目录的路径.

Kubernetes 集群

以上配置为: 应用 到库伯涅斯星团。 该成分需要关于该组的信息。 我们以下列形式提供这一信息: 库贝配置 文档。 一旦文件被创建,我们需要让成分知道它。 要做到这一点,文件的内容必须被 Base64 编码,并作为组成部分参数传递,称为 kubeconfig。由于这因环境而异,所以硬编码那里的实际值没有意义。 为了解决这个问题 kubeconfig 参数通常是一个调用 coreutils.variable() 以获得一个值 巴克变量。 。 。 . 说明: current-context 字段必须设置在 kubeconfig 文件中,因为这是在成分的非交互服务中使用的。 因此,在kubeconfig中包含一个以上的上下文(或集群或用户或命名空间)没有任何好处. 如果您想要部署到多个命名空间,最简单的方法是使用多个库贝配置,从而使用多个组件调用 coreutils.variable() 用于不同的变量,或从 ADO 给 Bake Service 的多通电话.

调试

指定的 Kubernetes 配置将进行符号替换 。 要将一个令牌嵌入一个文件,用双卷扣和大写来包围它(如"QQMYTOKEN"). 只要"MyToken"(在上下两种情况下的任何组合)是Bake变量(有成分级)的键 符号 优于食谱一级 变量,以及环境层面 BAKE VARIABLES 64 (英语) 因此,该符号将被替换为变量值。 请注意,该值可以是Bake表达式,在替换前立即进行评估.

延迟和重试

部署一些K8s资源可能得益于在进行部署后的起动程序时在成分之间造成延误。 A 类 delayms 参数可用于在成分部署之间引入延迟.

此外,在部署后启动程序未完成之前,可使用一个程序处理所依赖的K8资源 retryErrors 参数.

页:1

这发生在磁盘上。 这意味着它对URL指定的配置无效. 这也意味着只能在服役期间发生一次. 文件的原版,非调取的被替换版本没有保存. 在不同的情景中,使用不同值表示一个符号的最简单方法是从ADO给Bake Service打多通电话. 这将确保为食谱服务的容器被销毁并重新为每套符号值启动.

示例

name: My Package
shortName: mpkg
version: "0.0.1"
resourceGroup: false
variables:
  someToken: I will lose out to the below value of 'someToken'
ingredients: 
  - "@azbake/ingredient-kubernetes@~0"
recipe: 
  k8s: 
    properties: 
      type: "@azbake/ingredient-kubernetes"
      source: subdir
      tokens:
        someToken: I take precedence over the above value of 'someToken'
        someOtherToken: some value
      parameters:
        kubeconfig : ["coreutils.variable('b64KubeConfigContent')"]
        testDeployment: true #set this to true and after the source has been applied, it will get deleted (good for deployment testing)
        deleteDeployment: false # not required, and if set to true it will execute a kubectl delete instead of a kubectl apply on the subdir (ignoring anything not found)
        kubectlFlags: "--server-side --force-conflicts" # optionally specify additional flags for kubectl command
        delayms: 10000 # not required, and if set then it will delay for the specified number of milliseconds after deploying the ingredient
        retryErrors: true # not required, and if set will retry errors with expoential backoff (10s, 30s, 70s) before failing.  Defaults to false if not set.

限制

  • 对指定为 source 成分.

测试

如果您只是想部署, 然后删除一些测试资源, 请提供一个值 true 联 合 国 testDeployment 参数.

版本与发布记录

@azbake/ingredient-kubernetes 共发布 31 个版本,首次发布于 2019/05/21;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.1.117latest2024/07/252 年前
0.1.1162022/04/054 年前
0.1.1152022/04/054 年前
0.1.1142022/04/054 年前
0.1.1132022/04/054 年前
0.1.1122022/01/114 年前

关于 @azbake/ingredient-kubernetes 的常见问题

@azbake/ingredient-kubernetes 是什么?

用于部署Kubernetes配置的组件

如何安装 @azbake/ingredient-kubernetes?

在项目目录运行 npm install @azbake/ingredient-kubernetes,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@azbake/core(*)、@azure/ms-rest-nodeauth(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@azbake/ingredient-kubernetes 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@azbake/ingredient-kubernetes 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@azbake/ingredient-kubernetes 可以商用吗?

@azbake/ingredient-kubernetes 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@azbake/ingredient-kubernetes 的下载量有多少?

根据 npm 官方下载统计,@azbake/ingredient-kubernetes 在 2026/10/08 – 2026/11/06 这 30 天内被下载 7,327 次,日均约 244 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@azbake/ingredient-kubernetes 还在维护吗?

最新版本 0.1.117 发布于 2024/07/25(2 年前);至今共发布 31 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/05/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。