Vállalati GCP Telepítési Útmutató - Energent.ai

Az Energent.ai AI-alapú virtuális asztali ügynököket kínál, amelyek automatizálják a komplex több-alkalmazásos munkafolyamatokat vállalati felhasználók számára. Ez az útmutató átfogó Google Cloud Platform telepítési specifikációkat nyújt modern felhőalapú architektúrával, GKE-vel, több-bérlős tervezéssel és vállalati szintű biztonsági ellenőrzésekkel.

  • Dokumentum Osztályozása: Nyilvános
  • Verzió: 3.0
  • Utolsó Frissítés: 2025-05-28
  • Architektúra: GCP GKE + Szerver nélküli Hibrid
  • Megfelelőség: SOC 2, Google Cloud Biztonsági Legjobb Gyakorlatok

Tartalomjegyzék

  1. Architektúra Áttekintés
  2. GCP Infrastruktúra Követelmények
  3. GKE Klaszter Specifikációk
  4. Adatréteg Architektúra
  5. Szerver nélküli Komponensek
  6. Biztonság és Megfelelőség
  7. Hálózati Architektúra
  8. CI/CD Csővezeték
  9. Monitoring és Megfigyelhetőség
  10. Telepítési Folyamat
  11. Műveletek és Karbantartás
  12. Támogatás és Eszkaláció

1. Architektúra Áttekintés

1.1 Felhőalapú Több-Bérlős Architektúra

Az Energent.ai a Google Cloud Platformon települ egy modern, skálázható architektúrával, amely egyesíti a Kubernetes orkestrációt szerver nélküli komponensekkel az optimális teljesítmény és költséghatékonyság érdekében.

┌──────────────────────────────────────────────────────────────────┐
│                        GCP FELHŐ KÖRNYEZET                      │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐   │
│  │   GKE KLASZTER  │  │   SZERVER NÉLKÜLI │  │   ADATRÉTEG    │   │
│  │                 │  │                 │  │                 │   │
│  │ • Több-bérlős   │  │ • Funkciók Auth │  │ • Firestore     │   │
│  │ • n2-standard-4 │  │ • Funkciók Száml │  │ • Cloud Storage │   │
│  │ • Auto-scaling  │  │ • API Gateway   │  │ • Filestore     │   │
│  │ • Flux GitOps   │  │ • Pub/Sub       │  │ • Secret Mgr    │   │
│  └─────────────────┘  └─────────────────┘  └─────────────────┘   │
│           │                     │                    │           │
│           └─────────────────────┼────────────────────┘           │
│                                 │                                │
│  ┌─────────────────────────────────────────────────────────────┐ │
│  │                    VPC BIZTONSÁGI HATÁR                     │ │
│  │  • Privát Alhálózatok • Cloud NAT    • Tűzfal Szabályok     │ │
│  │  • IAP Alagutak     • VPC Végpontok • Terheléselosztó       │ │
│  └─────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘

1.2 Telepítési Modellek

ModellLeírásHasználati EsetSLA
Több-Bérlős GKEMegosztott klaszter névtér izolációvalAlapértelmezett vállalati telepítés99.9%
Dedikált GKEEgy-bérlős klaszterMagas biztonság, szabályozási megfelelőség99.95%
Hibrid TelepítésGKE + ügyfél helyszíni integrációRégi rendszer integráció99.9%

2. GCP Infrastruktúra Követelmények

2.1 Minimális Infrastruktúra Specifikációk

KomponensSpecifikációCél
GKE Klaszter Verzió1.30+Kubernetes orkestráció
Node Pool Példány Típusn2-standard-4 (4 vCPU, 16 GB RAM)Compute-optimalizált munkaterhelések
Minimális Node Konfiguráció1 vCPU, 2 GB RAM bérlőnkéntErőforrás allokáció
Tartós Lemezek100 GB SSD, titkosítottPod tartós tároló
FilestoreAlap, titkosítottMegosztott fájlrendszer
Cloud StorageStandard, verziózás engedélyezveObjektumtároló
FirestoreNatív mód, nyugalmi titkosításMetaadatok és konfiguráció

2.2 GCP Szolgáltatás Függőségek

SzolgáltatásCélKonfiguráció
Google GKEKubernetes orkestrációPrivát klaszter, naplózás engedélyezve
Compute EngineDinamikus node skálázásAuto-scaling, preemptible példányok
Cloud Load BalancingForgalom elosztásSSL terminálás, Cloud Armor
Cloud FunctionsSzerver nélküli funkciókFutási környezet: Python 3.11, VPC csatlakozó
API GatewayAPI kezelésSebességkorlátozás, hitelesítés
Cloud MonitoringMonitoring és naplózásGKE monitoring, egyedi metrikák
Secret ManagerTitkok kezeléseAutomatikus rotáció, titkosítás
Cloud KMSKulcskezelésÜgyfél által kezelt kulcsok, automatikus rotáció

3. GKE Klaszter Specifikációk

3.1 Klaszter Konfiguráció

# GKE Klaszter Terraform Konfiguráció
resource "google_container_cluster" "energent_cluster" {
name     = "energent-production"
location = var.gcp_region

remove_default_node_pool = true
initial_node_count       = 1

network    = google_compute_network.vpc.name
subnetwork = google_compute_subnetwork.subnet.name

networking_mode = "VPC_NATIVE"
ip_allocation_policy {
cluster_secondary_range_name  = "k8s-pod-range"
services_secondary_range_name = "k8s-service-range"
}

private_cluster_config {
enable_private_nodes    = true
enable_private_endpoint = false
master_ipv4_cidr_block  = "172.16.0.0/28"
}

master_auth {
client_certificate_config {
issue_client_certificate = false
}
}

workload_identity_config {
workload_pool = "${var.project_id}.svc.id.goog"
}

addons_config {
gcp_filestore_csi_driver_config {
enabled = true
}

network_policy_config {
disabled = false
}
}

cluster_telemetry {
type = "ENABLED"
}

logging_config {
enable_components = [
"SYSTEM_COMPONENTS",
"WORKLOADS",
"API_SERVER"
]
}

monitoring_config {
enable_components = [
"SYSTEM_COMPONENTS",
"WORKLOADS"
]
}
}

3.2 Node Pool Konfiguráció

# Elsődleges Node Pool
resource "google_container_node_pool" "energent_nodes" {
name       = "energent-node-pool"
location   = var.gcp_region
cluster    = google_container_cluster.energent_cluster.name
node_count = 3

autoscaling {
min_node_count = 2
max_node_count = 20
}

node_config {
preemptible  = false
machine_type = "n2-standard-4"
disk_size_gb = 100
disk_type    = "pd-ssd"

service_account = google_service_account.gke_service_account.email
oauth_scopes = [
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring",
"https://www.googleapis.com/auth/cloud-platform"
]

workload_metadata_config {
mode = "GKE_METADATA"
}

labels = {
env = "production"
app = "energent-ai"
}

taint {
key    = "workload"
value  = "energent-ai"
effect = "NO_SCHEDULE"
}
}

management {
auto_repair  = true
auto_upgrade = true
}
}

3.3 Több-Bérlős Erőforrás Allokáció

Bérlő SzintCPU LimitMemória LimitTárolóEgyidejű Munkafolyamatok
Alap1 vCPU2 GB10 GB1
Standard2 vCPU4 GB25 GB2
Prémium4 vCPU8 GB50 GB4
Vállalati8 vCPU16 GB100 GB8

4. Adatréteg Architektúra

4.1 Tároló Architektúra

4.1.1 Cloud Storage Konfiguráció


# Felhőtárhely vödör objektumtároláshoz
resource "google_storage_bucket" "energent_storage" {
  name     = "energent-${var.environment}-storage-${random_id.bucket_suffix.hex}"
  location = var.gcp_region

  uniform_bucket_level_access = true

  versioning {
    enabled = true
  }

  encryption {
    default_kms_key_name = google_kms_crypto_key.storage_key.id
  }

  lifecycle_rule {
    condition {
      age = 90
    }
    action {
      type          = "SetStorageClass"
      storage_class = "NEARLINE"
    }
  }

  retention_policy {
    retention_period = 2592000  # 30 nap
  }

  labels = {
    environment = var.environment
    purpose     = "energent-object-storage"
  }
}

resource "google_storage_bucket_iam_member" "storage_admin" {
  bucket = google_storage_bucket.energent_storage.name
  role   = "roles/storage.admin"
  member = "serviceAccount:${google_service_account.gke_service_account.email}"
}

4.1.2 Firestore konfiguráció

# Firestore adatbázis metaadatokhoz és konfigurációhoz
resource "google_firestore_database" "energent_metadata" {
  project     = var.project_id
  name        = "energent-metadata-${var.environment}"
  location_id = var.gcp_region
  type        = "FIRESTORE_NATIVE"

  concurrency_mode = "OPTIMISTIC"
  app_engine_integration_mode = "DISABLED"

  point_in_time_recovery_enablement = "POINT_IN_TIME_RECOVERY_ENABLED"
  delete_protection_state = "DELETE_PROTECTION_ENABLED"
}

# Firestore biztonsági szabályok
resource "google_firestore_database" "security_rules" {
  depends_on = [google_firestore_database.energent_metadata]

  # Biztonsági szabályok tartalma itt kerül meghatározásra
  # Bérlői elkülönítés és hozzáférés-vezérlés megvalósítása
}

4.1.3 Filestore megosztott tárhely

# Filestore megosztott fájlrendszerhez
resource "google_filestore_instance" "energent_shared" {
name     = "energent-shared-${var.environment}"
location = var.gcp_zone
tier     = "BASIC_HDD"

file_shares {
capacity_gb = 1024
name        = "energent-share"
}

networks {
network = google_compute_network.vpc.name
modes   = ["MODE_IPV4"]
}

labels = {
environment = var.environment
purpose     = "shared-storage"
}
}

5. Serverless komponensek

5.1 Cloud Functions

5.1.1 Hitelesítési szolgáltatás

# Cloud Function hitelesítéshez
resource "google_cloudfunctions2_function" "auth_service" {
name     = "energent-auth-${var.environment}"
location = var.gcp_region

build_config {
runtime     = "python311"
entry_point = "auth_handler"
source {
storage_source {
bucket = google_storage_bucket.functions_source.name
object = google_storage_bucket_object.auth_source.name
}
}
}

service_config {
max_instance_count = 100
min_instance_count = 1
available_memory   = "512Mi"
timeout_seconds    = 60

environment_variables = {
FIRESTORE_PROJECT = var.project_id
SECRET_MANAGER_PROJECT = var.project_id
ENVIRONMENT = var.environment
}

vpc_connector = google_vpc_access_connector.connector.id
vpc_connector_egress_settings = "ALL_TRAFFIC"

service_account_email = google_service_account.functions_service_account.email
}

event_trigger {
trigger_region = var.gcp_region
event_type     = "google.cloud.pubsub.topic.v1.messagePublished"
pubsub_topic   = google_pubsub_topic.auth_events.id
}

labels = {
environment = var.environment
service     = "authentication"
}
}

5.1.2 Számlázási szolgáltatás

# Cloud Function számlázáshoz
resource "google_cloudfunctions2_function" "billing_service" {
name     = "energent-billing-${var.environment}"
location = var.gcp_region

build_config {
runtime     = "python311"
entry_point = "billing_handler"
source {
storage_source {
bucket = google_storage_bucket.functions_source.name
object = google_storage_bucket_object.billing_source.name
}
}
}

service_config {
max_instance_count = 50
min_instance_count = 0
available_memory   = "1Gi"
timeout_seconds    = 300

environment_variables = {
FIRESTORE_PROJECT = var.project_id
STORAGE_BUCKET = google_storage_bucket.energent_storage.name
}

service_account_email = google_service_account.functions_service_account.email
}
}

5.2 API Gateway konfiguráció

# API Gateway serverless funkciókhoz
resource "google_api_gateway_api" "energent_api" {
provider = google-beta
api_id   = "energent-api-${var.environment}"
project  = var.project_id

labels = {
environment = var.environment
service     = "api-gateway"
}
}

resource "google_api_gateway_api_config" "energent_api_config" {
provider      = google-beta
api           = google_api_gateway_api.energent_api.api_id
api_config_id = "energent-config-${var.environment}"
project       = var.project_id

openapi_documents {
document {
path     = "spec.yaml"
contents = base64encode(templatefile("${path.module}/api-spec.yaml", {
project_id = var.project_id
region     = var.gcp_region
}))
}
}

lifecycle {
create_before_destroy = true
}
}

resource "google_api_gateway_gateway" "energent_gateway" {
provider   = google-beta
gateway_id = "energent-gateway-${var.environment}"
api_config = google_api_gateway_api_config.energent_api_config.id
location   = var.gcp_region
project    = var.project_id

labels = {
environment = var.environment
service     = "api-gateway"
}
}

6. Biztonság és megfelelőség

6.1 Hálózati biztonság

6.1.1 VPC konfiguráció

# VPC hálózat és tűzfal szabályok
resource "google_compute_network" "vpc" {
name                    = "energent-vpc-${var.environment}"
auto_create_subnetworks = false
mtu                     = 1460
}

resource "google_compute_subnetwork" "subnet" {
name          = "energent-subnet-${var.environment}"
ip_cidr_range = "10.0.0.0/16"
region        = var.gcp_region
network       = google_compute_network.vpc.id

secondary_ip_range {
range_name    = "k8s-pod-range"
ip_cidr_range = "10.1.0.0/16"
}

secondary_ip_range {
range_name    = "k8s-service-range"
ip_cidr_range = "10.2.0.0/16"
}

private_ip_google_access = true
}

resource "google_compute_firewall" "allow_internal" {
name    = "energent-allow-internal"
network = google_compute_network.vpc.name

allow {
protocol = "tcp"
ports    = ["0-65535"]
}

allow {
protocol = "udp"
ports    = ["0-65535"]
}

allow {
protocol = "icmp"
}

source_ranges = ["10.0.0.0/8"]
}

resource "google_compute_firewall" "allow_https" {
name    = "energent-allow-https"
network = google_compute_network.vpc.name

allow {
protocol = "tcp"
ports    = ["443"]
}

source_ranges = ["0.0.0.0/0"]
target_tags   = ["https-server"]
}

6.1.2 Tűzfal szabályok

IrányProtokollPort tartományForrás/CélCél
BejövőHTTPS4430.0.0.0/0API hozzáférés
BejövőTCP1024-6553510.0.0.0/8Belső forgalom
KimenőHTTPS4430.0.0.0/0Külső API hívások
KimenőTCP530.0.0.0/0DNS feloldás

6.2 Titkosítási szabványok

AdatállapotTitkosítási módszerKulcskezelésMegfelelőség
NyugalmiAES-256-GCMCloud KMS automatikus forgatásSOC 2, FIPS 140-2 3. szint
ÁtviteliTLS 1.3Google által kezelt tanúsítványokSOC 2, PCI DSS
MemóriábanAlkalmazás szintűHardverbiztonsági modulSOC 2
Biztonsági mentésAES-256Régiók közötti Cloud KMSSOC 2, GDPR

6.3 IAM és szolgáltatási fiókok

6.3.1 GKE szolgáltatási fiókok

# GKE szolgáltatási fiók
resource "google_service_account" "gke_service_account" {
  account_id   = "energent-gke-${var.environment}"
  display_name = "Energent GKE szolgáltatási fiók"
  project      = var.project_id
}

resource "google_project_iam_member" "gke_permissions" {
  for_each = toset([
    "roles/logging.logWriter",
    "roles/monitoring.metricWriter",
    "roles/monitoring.viewer",
    "roles/storage.objectViewer"
  ])

  project = var.project_id
  role    = each.value
  member  = "serviceAccount:${google_service_account.gke_service_account.email}"
}

# Munkaterhelési identitás kötés
resource "google_service_account_iam_member" "workload_identity" {
  service_account_id = google_service_account.gke_service_account.name
  role               = "roles/iam.workloadIdentityUser"
  member             = "serviceAccount:${var.project_id}.svc.id.goog[energent-ai/energent-platform]"
}

7. Hálózati architektúra

7.1 VPC Tervezés

┌─────────────────────────────────────────────────────────────────┐
│                         VPC (10.0.0.0/16)                       │
│                                                                 │
│  ┌─────────────────┐    ┌─────────────────┐    ┌─────────────┐  │
│  │  Nyilvános alháló│    │  Nyilvános alháló│    │ Nyilvános al│  │
│  │   (10.0.1.0/24) │    │   (10.0.2.0/24) │    │(10.0.3.0/24)│  │
│  │                 │    │                 │    │             │  │
│  │   Cloud NAT     │    │   Cloud NAT     │    │ Cloud NAT   │  │
│  │   Terheléselosztó│    │   Terheléselosztó│    │Terheléselos│  │
│  └─────────────────┘    └─────────────────┘    └─────────────┘  │
│           │                       │                     │       │
│  ┌─────────────────┐    ┌─────────────────┐    ┌─────────────┐  │
│  │ Privát alháló   │    │ Privát alháló   │    │Privát alháló │  │
│  │  (10.1.0.0/16)  │    │  (10.1.0.0/16)  │    │(10.1.0.0/16) │  │
│  │                 │    │                 │    │             │  │
│  │  GKE csomópontok│    │  GKE csomópontok│    │ GKE csomópont│  │
│  │  Funkciók VPC   │    │  Funkciók VPC   │    │ Funkciók     │  │
│  └─────────────────┘    └─────────────────┘    └─────────────┘  │
│           │                       │                     │       │
│  ┌─────────────────┐    ┌─────────────────┐    ┌─────────────┐  │
│  │ Szolgáltatási al│    │ Szolgáltatási al│    │Szolgáltatási │  │
│  │  (10.2.0.0/16)  │    │  (10.2.0.0/16)  │    │(10.2.0.0/16) │  │
│  │                 │    │                 │    │             │  │
│  │   Firestore     │    │   Firestore     │    │ Firestore   │  │
│  │   Cloud Storage │    │   Cloud Storage │    │Cloud Storage│  │
│  └─────────────────┘    └─────────────────┘    └─────────────┘  │
└─────────────────────────────────────────────────────────────────┘

7.2 Privát szolgáltatási kapcsolatok

SzolgáltatásTípusCél
Cloud StoragePrivát végpontObjektumtároló elérés
FirestorePrivát végpontMetaadatok elérése
GKEPrivát klaszterKlaszter API elérés
Container RegistryPrivát végpontKonténer regisztráció
Cloud MonitoringPrivát végpontMonitorozás és naplózás
Secret ManagerPrivát végpontTitkok elérése

8. CI/CD Pipeline

8.1 Infrastruktúra mint kód (Terraform)

8.1.1 Terraform struktúra

terraform/
├── environments/
│   ├── dev/
│   ├── staging/
│   └── production/
├── modules/
│   ├── gke/
│   ├── networking/
│   ├── security/
│   └── storage/
├── shared/
│   └── backend.tf
└── global/
    └── iam.tf

8.1.2 Terraform Pipeline (Cloud Build)

# cloudbuild.yaml
steps:
  # Terraform Init
  - name: 'hashicorp/terraform:1.6.0'
    entrypoint: 'sh'
    args:
      - '-c'
      - |
        cd terraform/environments/${_ENVIRONMENT}
        terraform init -backend-config="bucket=${_TF_STATE_BUCKET}"

  # Terraform Plan
  - name: 'hashicorp/terraform:1.6.0'
    entrypoint: 'sh'
    args:
      - '-c'
      - |
        cd terraform/environments/${_ENVIRONMENT}
        terraform plan -var-file="${_ENVIRONMENT}.tfvars" -out=tfplan

  # Terraform Apply (csak a main ágon)
  - name: 'hashicorp/terraform:1.6.0'
    entrypoint: 'sh'
    args:
      - '-c'
      - |
        if [ "${BRANCH_NAME}" = "main" ]; then
          cd terraform/environments/${_ENVIRONMENT}
          terraform apply -auto-approve tfplan
        else
          echo "Skipping apply for non-main branch"
        fi

substitutions:
  _ENVIRONMENT: 'production'
  _TF_STATE_BUCKET: 'energent-terraform-state'

options:
  logging: CLOUD_LOGGING_ONLY
  machineType: 'E2_HIGHCPU_8'

timeout: 1200s

8.2 Kubernetes GitOps (Flux)

8.2.1 Flux konfiguráció

# flux-system/gotk-sync.yaml
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: GitRepository
metadata:
  name: energent-k8s
  namespace: flux-system
spec:
  interval: 1m
  ref:
    branch: main
  url: https://github.com/energent-ai/k8s-manifests
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
  name: energent-apps
  namespace: flux-system
spec:
  interval: 10m
  path: './apps'
  prune: true
  sourceRef:
    kind: GitRepository
    name: energent-k8s
  validation: client

8.3 Szerver nélküli telepítés (Cloud Build)

8.3.1 Funkció telepítési konfiguráció

# cloudbuild-functions.yaml
steps:
  # Auth funkció telepítése
  - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk:latest'
    entrypoint: 'bash'
    args:
      - '-c'
      - |
        cd functions/auth
        gcloud functions deploy energent-auth-${_ENVIRONMENT} \
          --runtime python311 \
          --trigger-http \
          --entry-point auth_handler \
          --memory 512MB \
          --timeout 60s \
          --region ${_REGION} \
          --vpc-connector ${_VPC_CONNECTOR} \
          --set-env-vars ENVIRONMENT=${_ENVIRONMENT}

  # Billing funkció telepítése
  - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk:latest'
    entrypoint: 'bash'
    args:
      - '-c'
      - |
        cd functions/billing
        gcloud functions deploy energent-billing-${_ENVIRONMENT} \
          --runtime python311 \
          --trigger-topic billing-events \
          --entry-point billing_handler \
          --memory 1024MB \
          --timeout 300s \
          --region ${_REGION}

substitutions:
  _ENVIRONMENT: 'production'
  _REGION: 'us-central1'
  _VPC_CONNECTOR: 'energent-vpc-connector'

options:
  logging: CLOUD_LOGGING_ONLY

9. Monitorozás és megfigyelhetőség

9.1 Cloud Monitoring konfiguráció

9.1.1 GKE monitorozás

# Cloud Monitoring for GKE
resource "google_monitoring_dashboard" "gke_dashboard" {
  dashboard_json = jsonencode({
    displayName = "Energent GKE Dashboard"
    mosaicLayout = {
      tiles = [
        {
          width = 6
          height = 4
          widget = {
            title = "GKE Cluster CPU Utilization"
            xyChart = {
              dataSets = [{
                timeSeriesQuery = {
                  timeSeriesFilter = {
                    filter = "resource.type=\"k8s_cluster\" AND metric.type=\"kubernetes.io/container/cpu/core_usage_time\""
                  }
                }
              }]
            }
          }
        }
      ]
    }
  })
}

# Napló alapú metrikák
resource "google_logging_metric" "error_rate" {
  name   = "energent_error_rate"
  filter = "resource.type=\"k8s_container\" AND resource.labels.namespace_name=\"energent-ai\" AND severity=\"ERROR\""

  metric_descriptor {
    metric_kind = "GAUGE"
    value_type  = "INT64"
    display_name = "Energent Error Rate"
  }
}

9.2 Alkalmazás metrikák

Metrika kategóriaMetrikákCélRiasztási küszöb
ElérhetőségÜzemidő, egészség ellenőrzések99.9%< 99.5%
TeljesítményVálaszidő, átbocsátás< 2s, > 1000 RPS> 5s, < 500 RPS
Erőforrás használatCPU, memória, tárhely< 80%> 90%
Hibaarányok4xx, 5xx hibák< 1%> 5%

9.3 Audit naplózás

# Cloud Audit Logs konfiguráció
resource "google_project_iam_audit_config" "project_audit" {
  project = var.project_id
  service = "allServices"

  audit_log_config {
    log_type = "ADMIN_READ"
  }

  audit_log_config {
    log_type = "DATA_READ"
  }

  audit_log_config {
    log_type = "DATA_WRITE"
  }
}

# Napló szűrő biztonsági eseményekhez
resource "google_logging_project_sink" "security_sink" {
  name        = "energent-security-sink"
  destination = "storage.googleapis.com/${google_storage_bucket.audit_logs.name}"

  filter = "protoPayload.serviceName=\"container.googleapis.com\" OR protoPayload.serviceName=\"iam.googleapis.com\""

  unique_writer_identity = true
}

10. Telepítési folyamat

10.1 Telepítési ütemterv

FázisIdőtartamTevékenységekÉrintettek
Előkészítés2-3 napInfrastruktúra tervezés, biztonsági ellenőrzésÜgyfél IT, Biztonság, Energent Solutions
Infrastruktúra1-2 napTerraform telepítés, VPC beállításÜgyfél DevOps, Energent Platform
GKE klaszter0.5 napKlaszter előkészítés, csomópontokÜgyfél DevOps, Energent Platform
Alkalmazás0.5 napFlux telepítés, alkalmazás bevezetésEnergent Platform Team
Integráció1-2 napIAM, monitorozás, tesztelésÜgyfél IT, Energent Support
Élesítés0.5 napÉles környezetre váltás, validációMinden érintett

10.2 Telepítési parancsok

10.2.1 Infrastruktúra telepítés

# Infrastruktúra telepítés Terraformmal
cd terraform/environments/production
terraform init -backend-config="bucket=energent-terraform-state"
terraform plan -var-file="production.tfvars"
terraform apply -auto-approve

# GKE klaszter ellenőrzése
gcloud container clusters get-credentials energent-production --region us-central1
kubectl get nodes

10.2.2 Alkalmazás telepítés

# Flux GitOps telepítése
flux bootstrap github \
  --owner=energent-ai \
  --repository=k8s-manifests \
  --branch=main \
  --path=./clusters/production

# Szerver nélküli komponensek telepítése
gcloud builds submit --config cloudbuild-functions.yaml \
  --substitutions _ENVIRONMENT=production,_REGION=us-central1

# Telepítés ellenőrzése
kubectl get pods -n energent-ai
kubectl get ingress -n energent-ai

10.3 Telepítés validálása

# Egészségügyi ellenőrzési végpontok
curl -k https://api.energent.example.com/health
curl -k https://api.energent.example.com/metrics

# Kubernetes validálás
kubectl top nodes
kubectl get hpa -n energent-ai
kubectl logs -n energent-ai -l app=energent-platform

11. Műveletek és karbantartás

11.1 Biztonsági mentés és katasztrófa utáni helyreállítás

11.1.1 Biztonsági mentési stratégia

KomponensGyakoriságMegőrzésRTORPO
GKE klaszter állapotNapi30 nap< 4 óra< 24 óra
Alkalmazás adataiValós idejű90 nap< 1 óra< 15 perc
KonfigurációVáltozáskor1 év< 30 perc0
Audit naplókValós idejű7 év< 24 óra0

11.1.2 Katasztrófa utáni helyreállítási eljárások

# GKE klaszter biztonsági mentés Velero-val
velero backup create energent-cluster-backup \
  --include-namespaces energent-ai \
  --storage-location gcp

# Firestore időpont szerinti helyreállítás
gcloud firestore databases restore \
  --source-database=energent-metadata-production \
  --destination-database=energent-metadata-restored \
  --backup-time=2025-05-28T10:00:00Z

11.2 Méretezés és teljesítmény

11.2.1 Automatikus méretezési konfiguráció

# Horizontális Pod Automatikus Méretező
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: energent-platform-hpa
  namespace: energent-ai
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: energent-platform
  minReplicas: 3
  maxReplicas: 50
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70
    - type: Resource
      resource:
        name: memory
        target:
          type: Utilization
          averageUtilization: 80

11.3 Frissítés és karbantartás

11.3.1 Folyamatos frissítések

# GKE klaszter frissítés
gcloud container clusters upgrade energent-production \
  --master \
  --cluster-version 1.30 \
  --region us-central1

# Alkalmazás folyamatos frissítése Flux segítségével
git commit -am "Update energent-platform to v2.1.0"
git push origin main
# Flux automatikusan észleli és alkalmazza a változásokat

12. Támogatás és eszkaláció

12.1 Támogatási szintek

SzintVálaszidőCsatornákHatókör
L1 - Alap< 4 óraEmail, PortálÁltalános kérdések, dokumentáció
L2 - Standard< 2 óraTelefon, Email, MeetTechnikai problémák, integrációs támogatás
L3 - Prémium< 1 óraTelefon, Meet, VideóKomplex technikai problémák, architektúra
L4 - Kritikus< 30 percTelefon, SMS, EszkalációÜzemeltetési kiesések, biztonsági incidensek

12.2 24/7 Támogatási lefedettség

Vállalati támogatás:

Vészhelyzeti eszkaláció:

12.3 Szolgáltatási szint megállapodások

SzolgáltatásSLABüntetés
Platform elérhetőség99.9% üzemidő10% havi jóváírás 0.1% hiány esetén
Válaszidő (P95)< 2 másodperc5% havi jóváírás, ha > 5 másodperc
Támogatási válaszidőFenti szintek szerintEszkaláció a következő szintre
Adat-helyreállításRTO < 4 óra25% havi jóváírás, ha túllépik

Függelékek

Függelék A: GCP szolgáltatási költségek

SzolgáltatásBecsült havi költségMéretezési tényező
GKE klaszter$75Fix klaszterenként
Compute Engine (3x n2-standard-4)$850Lineáris node-onként
Tartós lemezek (300GB)$60Lineáris GB-onként
Cloud Storage (1TB)$20Lineáris GB-onként
Firestore$120Használat alapú
Cloud Functions$35Kérés alapú
Összes alap költség~$1,160/hó100 bérlő esetén

Függelék B: Biztonsági megfelelőségi ellenőrzőlista

  • VPC privát alhálózatokkal telepítve
  • Tűzfal szabályok minimális jogosultságokkal
  • Cloud KMS titkosítás minden nyugalmi adat esetén
  • TLS 1.3 minden adat átviteléhez
  • IAM minimális jogosultságokkal
  • Cloud Audit Logs engedélyezve
  • Security Command Center engedélyezve
  • Szervezeti szabályzati korlátozások engedélyezve
  • Secret Manager minden hitelesítő adat számára
  • Rendszeres biztonsági vizsgálatok és értékelések

Függelék C: Hibaelhárítási útmutató

Gyakori problémák:

  1. GKE node-ok nem csatlakoznak a klaszterhez

    • Ellenőrizze a szolgáltatási fiók jogosultságait
    • Ellenőrizze az alhálózati útválasztást és a Cloud NAT-ot
  2. Alkalmazás podok CrashLooping állapotban

    • Ellenőrizze az erőforrás korlátokat és kéréseket
    • Ellenőrizze a tartós kötet igényeket
  3. Hálózati kapcsolódási problémák

    • Ellenőrizze a VPC csatlakozó konfigurációját
    • Ellenőrizze a tűzfal szabályokat

  • Dokumentum besorolása: Nyilvános
  • Verzió: 3.0
  • Utolsó frissítés: 2025-05-28
  • Következő felülvizsgálat: 2025-08-28
  • Kapcsolat: support@energent.ai