Kubernetes Deployment YAML Generator & Manifest Builder

Kubernetes Deployment YAML Generator & Manifest Builder

レプリカ数、リソース制限(requests/limits)、ヘルスチェック(Liveness/Readinessプローブ)、ローリングアップデート戦略を備えた本番仕様の Kubernetes Deployment YAML マニフェストを即座に生成します。

プリセット:
入力
希望レプリカ数を超えて作成可能な最大Pod数
0に設定するとダウンタイムなしの安全なロールアウトが可能
:
:
:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-api-gateway
  namespace: production
  labels:
    app: "web-api-gateway"
    tier: "backend"
    env: "production"
  annotations:
    prometheus.io/scrape: "true"
    prometheus.io/port: "8080"
    prometheus.io/path: "/metrics"
spec:
  replicas: 3
  selector:
    matchLabels:
      app: "web-api-gateway"
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 0
  minReadySeconds: 5
  template:
    metadata:
      labels:
        app: "web-api-gateway"
        tier: "backend"
        env: "production"
      annotations:
        prometheus.io/scrape: "true"
        prometheus.io/port: "8080"
        prometheus.io/path: "/metrics"
    spec:
      serviceAccountName: web-api-sa
      securityContext:
        runAsNonRoot: true
        runAsUser: 10001
        runAsGroup: 10001
      containers:
      - name: api-server
        image: ghcr.io/acme-corp/api-gateway:v2.4.1
        imagePullPolicy: IfNotPresent
        ports:
        - name: http
          containerPort: 8080
          protocol: TCP
        - name: metrics
          containerPort: 9090
          protocol: TCP
        securityContext:
          readOnlyRootFilesystem: true
          allowPrivilegeEscalation: false
          capabilities:
            drop:
            - ALL
        resources:
          requests:
            cpu: "250m"
            memory: "256Mi"
            ephemeral-storage: "50Mi"
          limits:
            cpu: "1000m"
            memory: "512Mi"
            ephemeral-storage: "200Mi"
        livenessProbe:
          httpGet:
            path: /healthz
            port: 8080
          initialDelaySeconds: 15
          periodSeconds: 10
          timeoutSeconds: 3
          successThreshold: 1
          failureThreshold: 3
        readinessProbe:
          httpGet:
            path: /ready
            port: 8080
          initialDelaySeconds: 5
          periodSeconds: 5
          timeoutSeconds: 2
          successThreshold: 1
          failureThreshold: 2
        env:
        - name: NODE_ENV
          value: "production"
        - name: PORT
          value: "8080"
        - name: DB_PASSWORD
          valueFrom:
            secretKeyRef:
              name: db-credentials
              key: password
        - name: CONFIG_JSON
          valueFrom:
            configMapKeyRef:
              name: app-config
              key: settings.json
        volumeMounts:
        - name: tmp-cache
          mountPath: /tmp
      volumes:
      - name: tmp-cache
        emptyDir: {}
      nodeSelector:
        kubernetes.io/os: "linux"
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - "web-api-gateway"
              topologyKey: "kubernetes.io/hostname"
レプリカ数&ロールアウト戦略RollingUpdate
3 Podレプリカ

サージ: 25% | 利用不可の最大数: 0

リソース制限&クォータ設定Guaranteed
CPU: 250m / 1000m

メモリ: 256Mi / 512Mi

セキュリティ設定評価 A+
100 / 100 準備スコア

プローブ: 2 /3 有効

ゼロナレッジ・完全ローカル実行

すべてのデータ処理、解析、コード生成はお使いのブラウザ内部メモリで完結します。外部サーバーへの送信はゼロです。

超高速・即時リアクティブ演算

最適化されたクライアント側解析パイプラインにより、キーストロークと同時に遅延なくリアルタイムで結果を生成します。

公式仕様準拠・高信頼アーキテクチャ

IETF RFCや公式業界仕様に厳格に準拠し、エッジケースの安全な処理とメモリリークのない堅牢な実行を保証します。

技術リファレンス&アーキテクチャガイド

Kubernetes Deployment YAML 生成&マニフェストビルダー — リファレンスガイド

レプリカ数、リソース制限(requests/limits)、ヘルスチェック(Liveness/Readinessプローブ)、ローリングアップデート戦略を備えた本番仕様の Kubernetes Deployment YAML マニフェストを即座に生成します。

主要パラメータ&設定項目

spec.replicasinteger

ワーカーノード間で並行稼働させる希望Podインスタンスのレプリカ数。

初期値: 1
spec.template.spec.containers[*].imagestring

DockerまたはOCIコンテナイメージのリポジトリとタグ(例: 'nginx:1.25-alpine')。

初期値: 必須
spec.template.spec.containers[*].resourcesobject

PodのCPU・メモリの要求量(requests: 割り当て保証値)と制限値(limits: 上限キャップ)。

初期値: 任意 (推奨)
spec.strategyobject

デプロイ更新戦略。ゼロダウンタイムを実現する 'RollingUpdate' または全入替の 'Recreate'。

初期値: RollingUpdate
spec.template.spec.containers[*].livenessProbeobject

コンテナのデッドロックやクラッシュ時に自動再起動をトリガーする活性度プローブ。

初期値: 任意

プロの活用テクニック&推奨設定

リソースの requests を定義してスケ

リソースの requests を定義してスケジューリングを確実に保証し、limits を設けてノード全体のメモリ枯渇を防ぎます。メモリの requests と limits を同値に揃えると Guaranteed QoS クラスとなり、Eviction リスクを最小化できます。

高可用性Webサービスでは maxUnava

高可用性Webサービスでは maxUnavailable: 0、maxSurge: '25%'(または 1)に設定することで、ローリングアップデート中の処理能力低下と接続切断を完全に防止できます。

Liveness プローブと Readiness プローブを明確に分離する

Readiness プローブはDB接続や初期ウォームアップ完了を監視してトラフィック振り分けを制御し、Liveness プローブは致命的なデッドロック復旧のみに限定します。不用意なLiveness失敗は連鎖再起動を引き起こします。

:latest タグの使用を禁止しイミュータブルなダイジェストを使用する

コンテナイメージは :latest を避け、セマンティックバージョニングタグや SHA-256 イミュータブルダイジェストで固定してください。予期せぬ更新混入を防ぎ、迅速かつ確実なロールバックが可能になります。

よくあるトラブルと解決策

CrashLoopBackOff または OOMKilled(終了コード 137)

コンテナが起動時にクラッシュしているか、設定されたメモリ上限(limits.memory)を超過してLinuxカーネルのOOM Killerに強制終了されています。kubectl describe pod <name> と logs --previous で原因を特定し、limits.memory を増量してください。

ローリングアップデートが Pending 状態で停止する

新しいバージョンのPodが要求するリソース(requests)がクラスタノードの空き容量を超過しています。kubectl describe nodes でノードの空き状況を確認し、requests を緩和するかオートスケーラーを有効化してください。

マニフェスト適用時のセレクター不変性エラー (Selector Immutability)

Kubernetesは既存 Deployment の spec.selector の変更を禁止しています。kubectl delete deploy <name> --cascade=orphan でPodを残したままDeploymentのみを削除して再適用するか、セレクターラベルを変更前の値に戻してください。

よくある質問 (FAQ)

Deployment と StatefulSet、DaemonSet の違いは何ですか?▼

Deployment は状態を持たないステートレスなワークロードを管理し、任意のノードでPodを代替可能です。StatefulSet は永続ストレージや一意のネットワーク識別子が必要なステートフルアプリ向けです。DaemonSet はクラスタ内の全適格ノードにPodを1つずつ常駐させます。

なぜ Recreate ではなく RollingUpdate を使うべきですか?▼

RollingUpdate は新しいPodが正常稼働したことを確認しながら古いPodを段階的に停止するため、ダウンタイムゼロで安全に更新できます。一方 Recreate は全Podを一度に停止してから新規Podを起動するため、更新中に必ずサービス停止が発生します。

Kubernetes はどのようにして Pod と Deployment を紐付けていますか?▼

ラベルセレクター(spec.selector.matchLabels)を用いて紐付けます。Deploymentコントローラーは、Podテンプレート(spec.template.metadata.labels)に定義されたラベルと合致するPod群を常時監視・調整し、希望するレプリカ数を維持します。

Pod Disruption Budget (PDB) は Deployment とどのように連携しますか?▼

Deployment のレプリカ数が平常時に維持すべき数を定義するのに対し、PDB(Pod Disruption Budget)はノードのメンテナンス(Drain)やクラスタ更新などの自発的な中断時に最低限維持すべき稼働数を制約し、サービスダウンを防ぎます。

関連するおすすめ開発ツール

すべてのツール →
Kubernetes Ingress YAML ジェネレーター (Nginx, Traefik & ALB ルール)開発ツール

Kubernetes Ingressリソース生成ガイド。Nginx、Traefik、HAProxy向けTLS終端、パスルーティングおよびアノテーション設定。

ツールを開く→
Traefik v3 動的構成ファイルジェネレーター開発ツール

Traefik v2およびv3の動的ルーティング、ミドルウェアチェーン、TLS構成を生成するための実務仕様リファレンスガイド。

ツールを開く→
Caddyfile Generator開発ツール

本番環境向けCaddy Webサーバー設定を迅速に生成・検証するための開発者向け技術リファレンス。

ツールを開く→
Brotli & Gzip 圧縮ベンチマーク&帯域節約シミュレーター開発ツール

ブラウザネイティブのCompressionStreamを活用し、テキスト、CSS、JavaScriptバンドルのBrotliおよびGzip圧縮率を測定。モバイル3G/4G環境での読み込み時間短縮と帯域節約効果を即座に試算します。

ツールを開く→
Protobuf .proto から TypeScript インターフェース&列挙型変換ガイド開発ツール

Protocol Buffers(proto2 および proto3)のメッセージ定義、列挙型(enum)、ネストされたフィールドを解析し、クリーンな TypeScript インターフェースに変換します。

ツールを開く→
OpenAPI・Swagger Markdown API仕様書生成ツール開発ツール

OpenAPI 3.0/3.1およびSwagger 2.0のJSON/YAML仕様書を、GitHub Flavored Markdown(GFM)準拠の美しいAPIリファレンスへ高速変換。

ツールを開く→