更改日志
概览
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 参数.