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