kubectl 的用法约定

    对于脚本中的稳定输出:

    • 完全限定版本。例如 jobs.v1.batch/myjob。这将确保 kubectl 不会使用其默认版本,该版本会随着时间的推移而更改。
    • 在使用基于生成器的命令(例如 kubectl run 或者 kubectl expose)时,指定 --generator 参数以固定到特定行为。
    • 不要依赖上下文、首选项或其他隐式状态。

    最佳实践

    • 使用特定版本的标签标记镜像,不要将该标签移动到新版本。例如,使用 :v1234、、r03062016-1-4,而不是 :latest(有关详细信息,请参阅)。
    • 固定到特定的生成器版本,例如 kubectl run --generator=run-pod/v1
    • 使用基于版本控制的脚本来运行包含大量参数的镜像。
    • 对于无法通过 kubectl run 参数来表示的功能特性,使用基于源码控制的配置文件,以记录要使用的功能特性。

    生成器

    您可以使用带有 --generator 参数的 kubectl run 命令创建如下资源:

    如果您显式设置了 --generator 参数,kubectl 将使用您指定的生成器。如果使用 kubectl run 命令但是未指定生成器,kubectl 会根据您设置的其他参数自动选择要使用的生成器。下表列出了如果您自己未指定参数自动使用与之相匹配的生成器:

    kubectl run 参数及其对应的资源
    参数相匹配的资源
    —schedule=<schedule>CronJob
    —restart=AlwaysDeployment
    —restart=OnFailureJob
    —restart=NeverPod
    1. --schedule
    2. --restart

    您可以使用 参数预览要发送到集群的对象,而无需真正提交。

    kubectl apply

    • 您可以使用 kubectl apply 命令创建或更新资源。有关使用 kubectl apply 更新资源的详细信息,请参阅 。