我正在尝试弄清Kubernetes。我正在执行以下命令:
kubectl get deployment
我在输出中得到以下标题:
在以下输出中找不到current
和available
列之间的区别吗?
我知道官方文档对每个字段都有一个简短的描述,但是并不能回答我的以下问题:
Current
<= Desired
是真的吗?Up-to-Date
<= Current
是真的吗?Up-to-Date
> Current
和Up-to-Date
<= Desired
是真的吗?Available
总是<= Current
还是可以是> Available
?简而言之,所有这些字段之间是什么关系?
答案 0 :(得分:4)
Deployment对象指定部署的所需状态,Deployment Controller将系统的当前状态驱动到所需状态。
Desired
字段指定所需的副本数,而Current
字段指定系统中当前正在运行的副本数。 Up-To-Date
字段指示具有所需状态的最新副本数。 Available
字段显示通过就绪探针(如果已定义)的副本数量。
Current
是否总是<= Desired
?不,当前的电流可能会超过部署更新期间的期望值。
Up-to-date
是否总是<= Current
?我相信这里的答案是肯定的。
Up-to-date
> Current
是吗?否,最新版本应与当前版本相同,或小于部署更新期间的最新版本。
Available
是否总是<= Current
?是的。
我建议您在控制器将当前状态收敛到所需状态时使用watch
来监视这些字段,同时进行部署更新和横向扩展。