你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
舰队管理器保留最近使用的 10 个放置计划策略的历史记录,以及所选放置的资源版本。 这些策略和资源版本分别保留为ClusterSchedulingPolicySnapshot
和ClusterResourceSnapshot
对象。
在本文中,我们将探讨这些对象,以便你在想要使用它们时能够了解它们。
注释
如果不熟悉 Fleet Manager 的群集资源放置(CRP),请在阅读本文之前阅读 资源放置的概念概述 。
查看资源快照
连接到 Fleet Manager 中心群集时,可以使用以下步骤查看 Fleet Manager 持有的资源快照。
在此示例中,我们使用了更新后的 ConfigMap,从而生成两个快照。
kubectl get clusterresourcesnapshots --show-labels
我们看到两个快照,其中最近一个快照标记为最新(kubernetes-fleet.io/is-latest-snapshot=true
),资源索引为 1 (kubernetes-fleet.io/resource-index=1
)。
NAME GEN AGE LABELS
example-placement-0-snapshot 1 17m kubernetes-fleet.io/is-latest-snapshot=false,kubernetes-fleet.io/parent-CRP=example-placement,kubernetes-fleet.io/resource-index=0
example-placement-1-snapshot 1 2m2s kubernetes-fleet.io/is-latest-snapshot=true,kubernetes-fleet.io/parent-CRP=example-placement,kubernetes-fleet.io/resource-index=1
我们可以按照以下方式检查 example-placement-1-snapshot
对象的内容。
kubectl get clusterresourcesnapshots example-placement-1-snapshot -o yaml
apiVersion: placement.kubernetes-fleet.io/v1
kind: ClusterResourceSnapshot
metadata:
...
labels:
kubernetes-fleet.io/is-latest-snapshot: "true"
kubernetes-fleet.io/parent-CRP: example-placement
kubernetes-fleet.io/resource-index: "1"
name: example-placement-1-snapshot
...
spec:
selectedResources:
- apiVersion: v1
kind: Namespace
metadata:
labels:
kubernetes.io/metadata.name: test-namespace
name: test-namespace
spec:
finalizers:
- kubernetes
- apiVersion: v1
data:
key: value2
kind: ConfigMap
metadata:
name: test-cm
namespace: test-namespace
使用资源快照
作为回滚机制,可以在通过更新运行管理的 CRP 分阶段推出过程中使用快照
修改快照历史记录限制
若要更改历史记录中保存的项数,请将字段 revisionHistoryLimit
添加到 CRP 并提供整数值。 默认值为 10。
apiVersion: placement.kubernetes-fleet.io/v1
kind: ClusterResourcePlacement
metadata:
name: crp-example
spec:
revisionHistoryLimit: 20 # keep 20 items in history
resourceSelectors:
- group: ""
kind: Namespace
name: test-namespace
version: v1
policy:
placementType: PickN
numberOfClusters: 2
affinity:
clusterAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
clusterSelectorTerms:
- labelSelector:
matchLabels:
fleet.azure.com/___location: westus
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 50%