Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Fleet Manager har en historik över de 10 senast använda principerna för schemaläggning av placeringar, tillsammans med resursversioner som den valda placeringen har valt. Dessa princip- och resursversioner lagras som ögonblicksbildsobjekt:
- För ClusterResourcePlacement (CRP):
ClusterSchedulingPolicySnapshotochClusterResourceSnapshot(klusteromfattning) - För ResourcePlacement (RP):
SchedulingPolicySnapshotochResourceSnapshot(namnrymdsspecifik)
I den här artikeln utforskar vi dessa objekt så att du kan förstå dem om du vill arbeta med dem.
Anmärkning
Om du inte redan är bekant med Fleet Managers resursplacering:
- För resurser med klusteromfång, läs den konceptuella översikten över ClusterResourcePlacement (CRP).
- För resurser med namnrymdsomfång ska du läsa den konceptuella översikten över ResourcePlacement (RP).
Så här skapas resursögonblicksbilder
Alla ändringar av resurser som omfattas av crp- eller RP-resursväljarens omfång utlöser automatiskt skapandet av en ny resursögonblicksbild inom 60 sekunder.
Visa resursögonblicksbilder
Du kan visa resursögonblicksbilderna som finns i Fleet Manager med hjälp av följande steg när du är ansluten till Fleet Manager-hubbklustret.
Visa ClusterResourceSnapshot (för ClusterResourcePlacement)
Visa objekt för klusteromfångsplaceringar med hjälp av ClusterResourcePlacementClusterResourceSnapshot .
I det här exemplet använder vi en uppdaterad ConfigMap, vilket leder till två ögonblicksbilder.
kubectl get clusterresourcesnapshots --show-labels
Vi ser två ögonblicksbilder, där den senaste har markerats som den senaste (kubernetes-fleet.io/is-latest-snapshot=true), med ett resursindex på 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
Vi kan granska innehållet i example-placement-1-snapshot objektet på följande sätt.
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
Visa ResourceSnapshot (för ResourcePlacement)
För placeringar som omfattar ett namnområde med hjälp av ResourcePlacement, visa ResourceSnapshot objekt inom namnområdet.
Anmärkning
ResourcePlacement använder API-versionen placement.kubernetes-fleet.io/v1beta1 och är för närvarande i förhandsversion.
I det här exemplet har vi en ResourcePlacement i my-app namnrymden med uppdaterade ConfigMaps, vilket leder till två snapshots.
kubectl get resourcesnapshots -n my-app --show-labels
Vi ser två ögonblicksbilder, där den senaste har markerats som den senaste (kubernetes-fleet.io/is-latest-snapshot=true), med ett resursindex på 1 (kubernetes-fleet.io/resource-index=1).
NAME GEN AGE LABELS
app-configs-rp-0-snapshot 1 15m kubernetes-fleet.io/is-latest-snapshot=false,kubernetes-fleet.io/parent-CRP=app-configs-rp,kubernetes-fleet.io/resource-index=0
app-configs-rp-1-snapshot 1 1m3s kubernetes-fleet.io/is-latest-snapshot=true,kubernetes-fleet.io/parent-CRP=app-configs-rp,kubernetes-fleet.io/resource-index=1
Vi kan granska innehållet i app-configs-rp-1-snapshot objektet på följande sätt.
kubectl get resourcesnapshots app-configs-rp-1-snapshot -n my-app -o yaml
apiVersion: placement.kubernetes-fleet.io/v1beta1
kind: ResourceSnapshot
metadata:
...
labels:
kubernetes-fleet.io/is-latest-snapshot: "true"
kubernetes-fleet.io/parent-CRP: app-configs-rp
kubernetes-fleet.io/resource-index: "1"
name: app-configs-rp-1-snapshot
namespace: my-app
...
spec:
selectedResources:
- apiVersion: v1
data:
config: updated-value
kind: ConfigMap
metadata:
name: app-config
namespace: my-app
labels:
app: my-application
Använda resursögonblicksbilder
Ögonblicksbilder kan användas som en del av stegvis utplacerade distributioner som hanteras via uppdateringskörningar som en återställningsmekanism. Både ClusterResourcePlacement och ResourcePlacement stöder stegvisa distributioner med sina respektive typer av ögonblicksbilder.
- För
ClusterResourcePlacement: AnvänderClusterResourceSnapshotobjekt medClusterStagedUpdateRun - För
ResourcePlacement: AnvänderResourceSnapshotobjekt medStagedUpdateRun
Mer information om hur du implementerar stegvis distributioner för båda resursplaceringstyperna finns i Stegvis distributionsstrategi.
Ändra gränsen för historik för ögonblicksbilder
Om du vill ändra antalet objekt som finns i historiken lägger du till ett revisionHistoryLimit fält i din placering och anger ett heltalsvärde. Standardvärdet är 10.
För ClusterResourcePlacement
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%
För ResourcePlacement
apiVersion: placement.kubernetes-fleet.io/v1beta1
kind: ResourcePlacement
metadata:
name: rp-example
namespace: my-app
spec:
revisionHistoryLimit: 20 # keep 20 items in history
resourceSelectors:
- group: ""
kind: ConfigMap
version: v1
labelSelector:
matchLabels:
app: my-application
policy:
placementType: PickN
numberOfClusters: 2
affinity:
clusterAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
clusterSelectorTerms:
- labelSelector:
matchLabels:
fleet.azure.com/location: westus
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 50%
Nästa steg
- Definiera en distributionsstrategi för en klusterresursplacering.
- Kontrollera förflyttning och störning för placering av klusterresurser.
- Använd klusterresursplacering för att distribuera arbetsbelastningar i flera kluster.
- Använd resursplacering för att distribuera namnområdesomfångsbegränsade resurser i flera kluster.
- Intelligent kubernetes-resursplacering mellan kluster baserat på medlemsklusteregenskaper.
Azure Kubernetes Service