Deployment guide1-minute readEN · DE · IT

Развертывание AnythingMCP на Google Kubernetes Engine (GKE)

Развертывание AnythingMCP на GKE с помощью манифестов Kubernetes, Ingress для HTTPS и Cloud SQL для PostgreSQL. Масштабируемое развертывание корпоративного уровня.

HCBy HelpCode teamUpdated 1 min read Open source on GitHub

No credit card · 7-day trial · Self-host alternative available

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Summary

Развертывание AnythingMCP на GKE с помощью манифестов Kubernetes, Ingress для HTTPS и Cloud SQL для PostgreSQL. Масштабируемое развертывание корпоративного уровня.

Обзор

Это самый продвинутый вариант развертывания, предназначенный для команд, которым нужна масштабируемость корпоративного уровня и управляемая инфраструктура. Ты создашь манифесты Kubernetes и используешь Cloud SQL или PostgreSQL в кластере.

Предварительные требования

  • Учетная запись GCP с включенной оплатой
  • Установленные gcloud и kubectl
  • Установленный Docker локально
  • Доменное имя
gcloud services enable container.googleapis.com \
  artifactregistry.googleapis.com \
  sqladmin.googleapis.com

Создание кластера GKE

gcloud container clusters create anythingmcp-cluster \
  --region us-central1 \
  --num-nodes 2 \
  --machine-type e2-standard-2 \
  --enable-autoscaling --min-nodes 1 --max-nodes 5

gcloud container clusters get-credentials anythingmcp-cluster \
  --region us-central1

Сборка и загрузка образа

gcloud artifacts repositories create anythingmcp \
  --repository-format docker \
  --location us-central1

gcloud auth configure-docker us-central1-docker.pkg.dev

git clone https://github.com/HelpCode-ai/anythingmcp.git
cd anythingmcp

docker build -t us-central1-docker.pkg.dev/YOUR_PROJECT_ID/anythingmcp/app:latest .
docker push us-central1-docker.pkg.dev/YOUR_PROJECT_ID/anythingmcp/app:latest

Создание секретов Kubernetes

kubectl create secret generic anythingmcp-secrets \
  --from-literal=JWT_SECRET=$(openssl rand -hex 32) \
  --from-literal=ENCRYPTION_KEY=$(openssl rand -hex 16) \
  --from-literal=NEXTAUTH_SECRET=$(openssl rand -hex 32) \
  --from-literal=POSTGRES_PASSWORD=$(openssl rand -hex 16)

Развертывание PostgreSQL

Простой StatefulSet в кластере (для продакшена рассмотри использование Cloud SQL):

# postgres.yaml
apiVersion: v1
kind: Service
metadata:
  name: postgres
spec:
  clusterIP: None
  selector:
    app: postgres
  ports:
    - port: 5432
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: postgres
spec:
  serviceName: postgres
  replicas: 1
  selector:
    matchLabels:
      app: postgres
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
        - name: postgres
          image: postgres:17-alpine
          ports:
            - containerPort: 5432
          env:
            - name: POSTGRES_DB
              value: anythingmcp
            - name: POSTGRES_USER
              value: amcp
            - name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: anythingmcp-secrets
                  key: POSTGRES_PASSWORD
          volumeMounts:
            - name: data
              mountPath: /var/lib/postgresql/data
  volumeClaimTemplates:
    - metadata:
        name: data
      spec:
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 10Gi
kubectl apply -f postgres.yaml

Развертывание AnythingMCP

# anythingmcp.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: anythingmcp
spec:
  replicas: 2
  selector:
    matchLabels:
      app: anythingmcp
  template:
    metadata:
      labels:
        app: anythingmcp
    spec:
      containers:
        - name: anythingmcp
          image: us-central1-docker.pkg.dev/YOUR_PROJECT_ID/anythingmcp/app:latest
          ports:
            - containerPort: 3000
            - containerPort: 4000
          env:
            - name: NODE_ENV
              value: production
            - name: PORT
              value: "4000"
            - name: MCP_AUTH_MODE
              value: oauth2
            - name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: anythingmcp-secrets
                  key: POSTGRES_PASSWORD
            - name: DATABASE_URL
              value: postgresql://amcp:$(POSTGRES_PASSWORD)@postgres:5432/anythingmcp
            - name: JWT_SECRET
              valueFrom:
                secretKeyRef:
                  name: anythingmcp-secrets
                  key: JWT_SECRET
            - name: ENCRYPTION_KEY
              valueFrom:
                secretKeyRef:
                  name: anythingmcp-secrets
                  key: ENCRYPTION_KEY
            - name: NEXTAUTH_SECRET
              valueFrom:
                secretKeyRef:
                  name: anythingmcp-secrets
                  key: NEXTAUTH_SECRET
          readinessProbe:
            httpGet:
              path: /health
              port: 4000
            initialDelaySeconds: 10
            periodSeconds: 5
          livenessProbe:
            httpGet:
              path: /health
              port: 4000
            initialDelaySeconds: 30
            periodSeconds: 10
          resources:
            requests:
              cpu: 250m
              memory: 256Mi
            limits:
              cpu: "1"
              memory: 512Mi
---
apiVersion: v1
kind: Service
metadata:
  name: anythingmcp
spec:
  selector:
    app: anythingmcp
  ports:
    - name: frontend
      port: 3000
      targetPort: 3000
    - name: backend
      port: 4000
      targetPort: 4000
  type: ClusterIP
kubectl apply -f anythingmcp.yaml

Экспонирование с помощью Ingress (HTTPS)

# ingress.yaml
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  name: anythingmcp-cert
spec:
  domains:
    - mcp.example.com
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: anythingmcp-ingress
  annotations:
    networking.gke.io/managed-certificates: anythingmcp-cert
    kubernetes.io/ingress.class: gce
spec:
  rules:
    - host: mcp.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: anythingmcp
                port:
                  number: 3000
kubectl apply -f ingress.yaml

# Получить внешний IP (может занять несколько минут)
kubectl get ingress anythingmcp-ingress

Укажи A-запись твоего домена на внешний IP. Управляемый сертификат будет автоматически выдан после распространения DNS.

Проверка и следующие шаги

kubectl get pods
curl https://mcp.example.com/health

Первый зарегистрировавшийся пользователь становится администратором.

Рекомендации для продакшена:

  • Используй Cloud SQL вместо StatefulSet в кластере для резервного копирования и высокой доступности
  • Включи Horizontal Pod Autoscaler: kubectl autoscale deployment anythingmcp --min=2 --max=10 --cpu-percent=70
  • Используй Workload Identity для доступа к Cloud SQL

Это руководство помогло?

Ready to ship

Ship MCP to your stack in 60 seconds.

Spin up AnythingMCP on managed Cloud or self-host it on your infrastructure. Free for 7 days, no credit card.

Похожие руководства

D
deployment

Развертывание AnythingMCP на Heroku

Развертывание AnythingMCP на Heroku с использованием контейнерного развертывания с Heroku Postgres. Быстрое облачное развертывание для твоего MCP шлюза.

D
deployment

Развертывание AnythingMCP на Google Cloud Run

Развертывание AnythingMCP как безсерверного контейнера на Google Cloud Run с Cloud SQL для PostgreSQL. Масштабируемый, платный по мере использования шлюз MCP.

D
deployment

Развертывание AnythingMCP на Microsoft Azure

Развертывание AnythingMCP на виртуальной машине Azure с Docker Compose и автоматическим HTTPS. Готовый к корпоративному использованию шлюз MCP на Azure.

D
deployment

Развертывание AnythingMCP на AWS (EC2)

Развертывание AnythingMCP на экземпляре AWS EC2 с помощью Docker Compose и автоматическим SSL через Caddy. Готовая к производству настройка для твоего MCP шлюза.

D
deployment

Развертывание AnythingMCP на DigitalOcean

Развертывание AnythingMCP на Droplet DigitalOcean с помощью Docker Compose и автоматического HTTPS. Быстрая настройка для твоего MCP шлюза.

D
deployment

Развертывание AnythingMCP на Hetzner Cloud

Запусти AnythingMCP на VPS Hetzner Cloud с Docker Compose и автоматическим SSL. Доступный европейский хостинг для твоего MCP шлюза.