Possible to do a “dry run” validation of files?

前端 未结 4 1944
被撕碎了的回忆
被撕碎了的回忆 2021-02-12 03:58

Before creating an object in Kubernetes (Service, ReplicationController, etc.), I\'d like to test that the JSON or YAML specification of the object is valid. But I don\'t want t

相关标签:
4条回答
  • 2021-02-12 04:19

    This works for me (kubernetes 1.7 and 1.9):

    kubectl apply --validate=true --dry-run=true --filename=task.yaml
    
    0 讨论(0)
  • 2021-02-12 04:19

    There is a tool called kubeval which validates configs against the expected schema, and does not require connection to a cluster to operate, making it a good choice for applications such as CI.

    0 讨论(0)
  • 2021-02-12 04:20

    Some kubectl commands support a --dry-run flag (like kubectl run, kubectl expose, and kubectl rolling-update).

    There is an issue open to add the --dry-run flag to more commands.

    0 讨论(0)
  • 2021-02-12 04:40

    The use of --dry-run and --validate only seem to partially solve the issue.

    client-side validation is not exhaustive. it primarily ensures the fields names and types in the yaml file are valid. full validation is always done by the server, and can always impose additional restrictions/constraints over client-side validation.

    Source - kubectl --validate flag pass when yaml file is wrong #64830

    Given this you cannot do a full set of validations except to hand it off completely to the server for vetting.

    0 讨论(0)
提交回复
热议问题