当我使用这些滚动更新策略更改maxUnavailable
时,有什么区别:
案例1:
spec:
replicas: 1
selector:
matchLabels:
app: my-app
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
字符串
案例二:
spec:
replicas: 1
selector:
matchLabels:
app: my-app
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
型
第一种情况很容易理解,但第二种情况会发生什么呢?
此外,为了确保在应用程序更新或Kubernetes节点自动扩展/自动维护过程中不会出现宕机/宕机,是否必须配置replicas must >= 2
?
1条答案
按热度按时间u4dcyp6a1#
第一种情况很容易理解,但第二种情况会发生什么?
当您同时指定
maxSurge
和maxUnavailable
时,这定义了在4个Pod的部署中,更新期间最多可以使用5个Pod,滚动更新期间至少应该提供3个Pod。一般来说,maxSurge参数可以被认为是控制需要创建的新pod的数量,maxUnavailable参数可以被认为是控制可以删除的旧pod的数量。关注KeilanJackson撰写的博客,了解有关kubernetes滚动更新的更多信息。
此外,为了确保在应用程序更新或Kubernetes节点自动扩展/自动维护过程中没有宕机/停机,配置副本是否必须>= 2?
当执行滚动更新时,现有的副本将被新的Pod逐个替换,拥有2个或两个以上的副本将有助于您在事情以不同的方式进行时实现冗余。因此,在执行滚动更新的同时,需要至少两个副本来维持服务。