Sobes.tech
Middle

Kāda ir jūsu pieredze ar OpenShift?

sobes.tech AI

Atbilde no AI

Man ir pieredze ar OpenShift Container Platform, tostarp:

  • Klastru izvietošana un pārvaldība: Klastru instalēšana vietēji un mākonī (AWS, Azure). Tīkla infrastruktūras, glabātuves un drošības konfigurēšana.
  • Programmu izstrāde un izvietošana: Dockerfile izveide, attēlu būvēšana, OpenShift šablonu un Kubernetes manifestu rakstīšana. CI/CD pipeline (Jenkins, GitLab CI) izmantošana automatizācijai.
  • Administrēšana un uzraudzība: Lietotāju, projektu, kvotu pārvaldība. Prometheus un Grafana izmantošana klustra un programmu stāvokļa uzraudzībai. Brīdinājumu iestatīšana.
  • Kļūdu novēršana: Podu, pakalpojumu, maršrutu problēmu diagnostika. Žurnālu un notikumu analīze.
  • Ekosistēmas komponentu darbība: OpenShift Registry, OpenShift Routes, OpenShift Service Mesh (Istio), OpenShift Pipelines (Tekton).

Piemēri uzdevumiem:

  • Monolītiskas programmas migrācija uz konteineriem un tās izvietošana OpenShift.
  • CI/CD pipeline izveide automātiskai testēšanai, būvēšanai un mikropakalpojumu izvietošanai OpenShift.
  • Noturīga OpenShift klustra konfigurēšana ar datu replikāciju un automātisku pārslēgšanos avārijas gadījumā.
  • Centralizētas žurnālo un uzraudzības ieviešana visām programmām klasterī.

Es izmantoju gan komandrindu (oc), gan OpenShift tīmekļa konsoli. Labprāt saprotu Kubernetes koncepcijas, uz kurām balstās OpenShift (podu, repliku kopu, izvietojumu, pakalpojumu).

# Vienkāršs OpenShift šablona piemērs programmas izvietošanai
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: Programmas nosaukums
    description: Programmas nosaukums
    value: my-simple-app
    required: true
  - name: IMAGE_NAME
    displayName: Attēla nosaukums
    description: Attēla nosaukums
    value: my-image
    required: true
  - name: IMAGE_NAMESPACE
    displayName: Attēla namespace
    description: Attēla plūsmas namespace
    value: my-project
    required: true
  - name: IMAGE_TAG
    displayName: Attēla zīme
    description: Attēla zīme
    value: latest
    required: true