kubectl apply と kubectl create の違いは? 質問する

kubectl apply と kubectl create の違いは? 質問する

ドキュメントから私が理解したのは次のことです。

  • kubectl create
    
    クラスターに新しいk8sリソースを作成します
  • kubectl replace
    
    ライブクラスタ内のリソースを更新する
  • kubectl apply
    
    作成 + 置換 (参照

私の質問は

  1. クラスター内で同じタスクを実行するのに 3 つの操作があるのはなぜですか?
  2. これらの操作の使用例は何ですか?
  3. 内部的にはそれぞれどう違うのでしょうか?

ベストアンサー1

これらは 2 つの異なるアプローチです。

命令型管理

kubectl createそれを私たちは呼んでいます命令型管理このアプローチでは、Kubernetes API に対して、K8s クラスターの世界をどのようにしたいかではなく、何を作成、置換、または削除したいかを伝えます。

宣言的管理

kubectl applyの一部である宣言的管理アプローチでは、ライブ オブジェクトに適用した変更 (つまり、 を通じてscale)は、オブジェクトに他の変更を加えた場合でも「維持」されます。apply

命令型管理と宣言型管理の詳細については、Kubernetes オブジェクト管理ドキュメンテーション。

簡単に言うと、それらは異なることを行います。リソースが存在する場合、kubectl createエラーが発生し、kubectl applyエラーが発生しません。

おすすめ記事