Ի՞նչ տեսակի թեստեր կան ծառայությունների և ծրագրերի վիճակը ստուգելու համար։
sobes.tech AI
Պատասխան AI-ից
Կան մի քանի տարածված փորձարկման տեսակներ՝
-
Կյանքի փորձարկում (Liveness): Կանխորոշում է, արդյոք ծրագիրը աշխատում է: Եթե փորձարկումը ձախողվի, Kubernetes-ը վերագործարկում է պոդը: Օգտագործվում է կախված գործընթացների հայտնաբերման համար:
- HTTP Get փորձարկումներ՝ ուղարկում են HTTP GET հարցումներ նշված ճանապարհով և պորտով:
- TCP socket փորձարկումներ՝ ստուգում են, արդյոք հնարավոր է կապ հաստատել նշված պորտին:
- Exec փորձարկումներ՝ կատարում է հրամանի ներսում և ստուգում է վերադարձի կոդը:
-
Պատրաստության փորձարկում (Readiness): Կանխորոշում է, արդյոք պոդը պատրաստ է ընդունել տրաֆիկ: Եթե փորձարկումը ձախողվի, ծառայությունը չի ուղղորդում տրաֆիկը այդ պոդին: Օգտագործվում է ծրագրի պատրաստվածությունը որոշելու համար՝ գործարկումից հետո կամ թարմացման ժամանակ:
- Օգտագործում է նույն մեխանիզմները, ինչ և Կյանքի փորձարկումները (HTTP Get, TCP socket, Exec):
-
Սկիզբի փորձարկում (Startup): Կանխորոշում է, արդյոք ծրագրի ինիցիալիզացիան ավարտվել է: Եթե փորձարկումը կազմաձևված է, Kubernetes-ը չի կատարի Կյանքի և Պատրաստության փորձարկումները մինչև Startup փորձարկումը հաջողությամբ չանցնի: Օգտակար է դանդաղ սկսվող ծրագրերի համար՝ կանխելու նախաժամկետ վերագործարկումները:
- Օգտագործում է նույն մեխանիզմները, ինչ և մյուս փորձարկումները:
Օրինակ Kubernetes կոնֆիգուրացիայում:
livenessProbe: # Կյանքի ստուգում
httpGet: # HTTP-ով
path: /healthz # Ճանապարհ
port: 8080 # Պորտ
initialDelaySeconds: 15 # Հետաձգում առաջին ստուգումից առաջ
timeoutSeconds: 1 # Պատասխան սպասման ժամանակը
readinessProbe: # Պատրաստության ստուգում
tcpSocket: # TCP-ով
port: 8080 # Պորտ
initialDelaySeconds: 5 # Հետաձգում առաջին ստուգումից առաջ
periodSeconds: 10 # Միջակայքը ստուգումների միջև