Kubernetes部署中当前和可用的Pod副本之间有什么区别?

Man*_*hit 3 deployment kubernetes kubernetes-deployment kubernetes-cluster

我正在尝试弄清Kubernetes。我射击以下命令:

kubectl get deployment
Run Code Online (Sandbox Code Playgroud)

我在输出中得到以下标题:

kubectll得到部署

我无法在以下输出中找到currentavailable列之间的区别?

我知道官方文档对这些领域都有一个简短的描述,但是并不能回答我的以下问题:

  1. Current<= Desired真的吗?
  2. Up-to-Date<= Current真的吗?
  3. Up-to-Date> CurrentUp-to-Date<= Desired真的吗?
  4. Available始终<= Current,也可以是> Available

简而言之,所有这些字段之间是什么关系?

Ale*_*and 7

部署对象指定部署的所需状态,并且部署控制器将系统的当前状态驱动到所需状态。

Desired字段指定所需的副本数,而该Current字段指定系统中当前正在运行的副本数。该Up-To-Date字段指示具有所需状态的最新副本数。该Available字段显示通过就绪探针(如果已定义)的副本数。

  1. Current始终<= Desired?不可以,在部署更新期间,当前电流可能会大于期望值。

  2. Up-to-date始终<= Current?我相信这里的答案是肯定的。

  3. Up-to-date> Current吗?不可以,最新版本应该与当前版本相同,或者小于部署更新期间的最新版本。

  4. Available始终<= Current?是。

我建议您watch在控制器将当前状态收敛到所需状态时进行部署更新并进行横向扩展/扩展,同时监视这些字段。