Middle
OpenShift ilə iş təcrübəniz nədir?
sobes.tech Süni İntellekt
AI-dan cavab
OpenShift Container Platform ilə işləmək təcrübəm var, bunlar daxildir:
- Klüsterlərin yerləşdirilməsi və idarə olunması: On-premise və buludda (AWS, Azure) klüsterlərin quraşdırılması. Şəbəkə infrastrukturu, saxlama və təhlükəsizliyin konfiqurasiyası.
- Tətbiqlərin inkişafı və yerləşdirilməsi: Dockerfile yaradılması, şəkillərin qurulması, OpenShift şablonları və Kubernetes manifestlərinin yazılması. CI/CD boru xətləri (Jenkins, GitLab CI) istifadə edərək avtomatlaşdırma.
- İdarəetmə və monitorinq: İstifadəçilər, layihələr, kvotaların idarə olunması. Klüster və tətbiqlərin vəziyyətini izləmək üçün Prometheus və Grafana istifadə. Xəbərdarlıqların konfiqurasiyası.
- Problemlərin həlli: Podlar, xidmətlər, marşrutlar ilə bağlı problemlərin diaqnostikası. Loglar və hadisələrin analizi.
- Ekosistem komponentləri ilə işləmək: OpenShift Registry, OpenShift Routes, OpenShift Service Mesh (Istio), OpenShift Pipelines (Tekton).
Vəzifə nümunələri:
- Monolit tətbiqin konteynerlərə köçürülməsi və OpenShift-də yerləşdirilməsi.
- Avtomatik test, quruluş və mikroxidmətlərin yerləşdirilməsi üçün CI/CD boru xətti qurulması.
- Data replikasiyası və avtomatik keçid ilə dayanıqlı OpenShift klüsterinin konfiqurasiyası.
- Klüsterdəki bütün tətbiqlər üçün mərkəzləşdirilmiş loglama və monitorinqin tətbiqi.
Həm komanda xətti (oc), həm də OpenShift veb konsolu istifadə etmişəm. OpenShift-ə əsaslanan Kubernetes anlayışlarını yaxşı bilirəm (pods, replicaset, deploymentlar, xidmətlər).
# Tətbiqin yerləşdirilməsi üçün sadə OpenShift şablonu nümunəsi
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: Tətbiq adı
description: Tətbiqin adı.
value: my-simple-app
required: true
- name: IMAGE_NAME
displayName: Şəkil adı
description: Şəkilin adı.
value: my-image
required: true
- name: IMAGE_NAMESPACE
displayName: Şəkil Namespace
description: Şəkil axını namespace.
value: my-project
required: true
- name: IMAGE_TAG
displayName: Şəkil etiketi
description: Şəkil etiketi.
value: latest
required: true