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