Vytváření sad replik v hybridní službě AKS
Platí pro: AKS ve Službě Azure Stack HCI, AKS na Windows Serveru
Tento článek popisuje, jak vytvářet, škálovat a odstraňovat replikovací sady v hybridní službě AKS, které se používají k zajištění toho, aby v daném okamžiku běžela stabilní sada podů replik.
Přehled sad replik
ReplicaSet je proces, který spouští více instancí podu a udržuje zadaný počet podů konstantní. Zajišťuje, aby v daném okamžiku běžela stabilní sada podů replik, což zaručuje dostupný zadaný počet identických podů.
Když pod selže, ReplicaSet vyvolá novou instanci podu a vertikálně navýšit kapacitu, když spuštěné instance dosáhnou zadaného počtu. Naopak při vytvoření instance se stejným popiskem vertikálně snižuje kapacitu nebo odstraňuje pody.
Vytvoření sady replik
kubectl create
Pomocí příkazů a kubectl apply
vytvořte repliky. Následující příklad vytvoří ReplicaSet pomocí souboru YAML:
kubectl apply –f nginx_replicaset.yaml
Funkce konfiguračního souboru ReplicaSet se zobrazují ve formátu YAML:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: web
labels:
env: dev
role: web
spec:
replicas: 4
selector:
matchlabels:
role: web
template:
metadata:
labels:
role: web
spec:
containers:
-name: nginx
image: nginx
Po vytvoření ReplicaSet můžete stav zobrazit spuštěním následujícího příkazu:
kubectl get rs
Pod, který ReplicaSet spravuje, můžete odebrat, ale ne odstranit změnou jeho popisku pomocí kubectl edit
příkazu . Pokud například spustíte příkaz kubectl edit pods 7677-69h5b
, můžete po otevření konfiguračního souboru změnit popisek podu.
Škálování sady replik
Existují dva způsoby, jak změnit počet podů, které replicaSet spravuje.
Upravte konfiguraci kontroleru pomocí následujícího příkazu:
kubectl edit rs <ReplicaSet_NAME>
Pomocí následujícího příkazu přímo zvyšte nebo snižte číslo:
kubectl scale –replicas=2 rs <ReplicaSet_NAME>
Při úpravách souboru manifestu můžete stávající konfiguraci nahradit aktualizovanou konfigurací:
kubectl replace –f nginx_replicaset.yaml
Pokud chcete zobrazit stav sady ReplicaSet, spusťte příkaz kubectl get rs <ReplicaSet_NAME>
.
Automatické škálování je také možnost s replikovacími sadami pomocí kubectl autoscale rs web –max=5
. Pomocí automatického škálování můžete přizpůsobit počet podů podle zatížení procesoru uzlu.
Odstranění sady replik
Stejně jako u jiných objektů Kubernetes, například DaemonSets, můžete replicaSets odstranit pomocí příkazu kubectl delete
. Můžete například použít následující příkazy:
Pokud chcete odstranit ReplicaSet pomocí názvu ReplicaSet, spusťte následující příkaz:
kubectl delete rs <ReplicaSet_NAME>
Pokud chcete odstranit ReplicaSet pomocí jejího názvu souboru, spusťte následující příkaz:
kubectl delete –f nginx_replicaset.yaml
Předchozí příkazy odstraní sadu ReplicaSet a všechny pody, které spravuje. Pokud chcete odstranit jenom prostředek ReplicaSet a ponechat pody bez vlastníka, musíte je odstranit ručně. Pokud chcete ručně odstranit ReplicaSet, spusťte následující příkaz:
kubectl delete rs <ReplicaSet_NAME> --cascade=false