Middle
Ի՞նչ փորձ ունեք OpenShift-ի հետ:
sobes.tech AI
Պատասխան AI-ից
Իմ փորձառությունն է OpenShift Container Platform-ով, ներառյալ՝
- Կլաստերների տեղադրում և կառավարում: Կլաստերների տեղադրում տեղում և ամպում (AWS, Azure): Ներգրոհածանցային ենթակառուցվածքի, պահեստների և անվտանգության կարգավորումը:
- Դիմումների մշակում և տեղադրում: Dockerfile ստեղծում, պատկերների հավաքում, OpenShift շաբլոնների և Kubernetes մանիպեստների գրվածք: CI/CD պայլայնների (Jenkins, GitLab CI) օգտագործում ավտոմատացման համար:
- Ադմինիստրատորություն և մոնիտորինգ: Օգտագործողների, նախագծերի, քվոտաների կառավարում: Prometheus և Grafana օգտագործում վիճակի մոնիտորինգի համար: Հուշումներ կարգավորել:
- Անհետաձգելիության լուծում: Պոդների, ծառայությունների, երթուղիների խնդիրների ախտորոշում: Լոգների և իրադարձությունների վերլուծություն:
- Էկոհամակարգի բաղադրիչների հետ աշխատանք: OpenShift Registry, OpenShift Routes, OpenShift Service Mesh (Istio), OpenShift Pipelines (Tekton):
Օրինակային առաջադրանքներ:
- Մոնոլիտ հավելվածի միգրացիա կոնտեյներների և տեղադրում OpenShift-ում:
- CI/CD պայլայնի ստեղծում ավտոմատ թեստավորման, հավաքման և միկրոսերվիսների տեղադրման համար OpenShift-ում:
- դիմադրողական OpenShift կլաստերի կարգավորում տվյալների կրկնօրինակումով և ավտոմատ փոխ switch-ով սխալների դեպքում:
- Կենտրոնականացված լոգավորում և մոնիտորինգ ներդնել բոլոր հավելվածների համար կլաստերում:
Երկարաժամկետ օգտագործել եմ ինչպես հրամանային տողը (oc), այնպես էլ OpenShift վեբ կոնսոլը: Լավ հասկանում եմ Kubernetes-ի հասկացությունները, որոնց վրա կառուցված է OpenShift (պոդեր, ռեպլիկասեթներ, տեղադրումներ, ծառայություններ):
# Պարզ OpenShift շաբլոնի օրինակ հավելվածի տեղադրման համար
apiVersion: template.openshift.io/v1
kind: Template
metadata:
name: simple-app
objects:
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
name: ${APP_NAME}
spec:
replicas: 1
selector:
app: ${APP_NAME}
strategy:
type: Recreate
template:
metadata:
labels:
app: ${APP_NAME}
spec:
containers:
- name: ${APP_NAME}
image: ${IMAGE_NAME}
ports:
- containerPort: 8080
protocol: TCP
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- ${APP_NAME}
from:
kind: ImageStreamTag
namespace: ${IMAGE_NAMESPACE}
name: ${IMAGE_NAME}:${IMAGE_TAG}
type: ImageChange
parameters:
- name: APP_NAME
displayName: Ապլիկացիայի անուն
description: Ապլիկացիայի անունը:
value: my-simple-app
required: true
- name: IMAGE_NAME
displayName: Բանալի անուն
description: Բանալի անուն:
value: my-image
required: true
- name: IMAGE_NAMESPACE
displayName: Բանալի անուն տարածք
description: Բանալի անուն տարածքի:
value: my-project
required: true
- name: IMAGE_TAG
displayName: Բանալի նշան
description: Բանալի նշանի:
value: latest
required: true