Sobes.tech
Middle

Milyen tapasztalata van az OpenShift-tel?

sobes.tech MI

Válasz az MI-től

Tapasztalatom van az OpenShift Container Platform használatában, beleértve:

  • Klaszterek telepítése és kezelése: Klaszterek telepítése helyszínen és felhőben (AWS, Azure). Hálózati infrastruktúra, tárolók és biztonság konfigurálása.
  • Alkalmazások fejlesztése és telepítése: Dockerfile készítése, képek összeállítása, OpenShift sablonok és Kubernetes manifestek írása. CI/CD pipeline-ok (Jenkins, GitLab CI) használata az automatizált telepítéshez.
  • Adminisztráció és monitorozás: Felhasználók, projektek, kvóták kezelése. Prometheus és Grafana használata a klaszter és alkalmazások állapotának figyelésére. Riasztások beállítása.
  • Hibakeresés: Podok, szolgáltatások, útvonalak problémáinak diagnosztizálása. Naplók és események elemzése.
  • Az ökoszisztéma komponenseivel való munka: OpenShift Registry, OpenShift Routes, OpenShift Service Mesh (Istio), OpenShift Pipelines (Tekton).

Példák feladatokra:

  • Monolitikus alkalmazás konténerekbe való migrálása és telepítése OpenShift-en.
  • CI/CD pipeline kialakítása az automatikus teszteléshez, buildhez és mikroszolgáltatások deployolásához OpenShift-en.
  • Ellenálló OpenShift klaszter beállítása adat-replikációval és automatikus átállással hibák esetén.
  • Központosított naplózás és monitorozás bevezetése az összes alkalmazás számára a klaszterben.

Mind a parancssori (oc), mind a webes OpenShift konzolt használtam. Jól értem a Kubernetes fogalmait, amelyek az OpenShift alapját képezik (podok, ReplicaSets, deploymentek, szolgáltatások).

# Egyszerű OpenShift sablon példa alkalmazás deployolásához
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: Alkalmazás neve
    description: Az alkalmazás neve.
    value: my-simple-app
    required: true
  - name: IMAGE_NAME
    displayName: Kép neve
    description: A kép neve.
    value: my-image
    required: true
  - name: IMAGE_NAMESPACE
    displayName: Kép namespace
    description: A kép stream namespace.
    value: my-project
    required: true
  - name: IMAGE_TAG
    displayName: Kép címke
    description: A kép címkéje.
    value: latest
    required: true