Sobes.tech
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