Deployment、Service、ConfigMap、Ingressルール、およびHPA用のKubernetes YAMLマニフェストを生成します。
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
namespace: default
labels:
app: my-app
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: myapp:latest
ports:
- containerPort: 3000
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
env:
- name: NODE_ENV
value: "production"
livenessProbe:
httpGet:
path: /healthz
port: 3000
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
httpGet:
path: /ready
port: 3000
initialDelaySeconds: 5
periodSeconds: 10KubernetesのリソースはYAMLマニフェストとして定義され、`<code>kubectl apply -f</code>` コマンドで適用されます。Deploymentは、複製されたPodのセットを管理します。Serviceは、安定したIPアドレスまたはDNS名を通じて、それらのPodを外部に公開します。 ConfigMapは、シークレットではない設定データを格納します。Ingressは、外部からのHTTPトラフィックを内部のServiceにルーティングします。HPAは、CPUやメモリの使用状況に基づいて、Deploymentのレプリカを自動的にスケーリングします。
上部のタブからリソースの種類を選択してください。そのリソースの各フィールドに入力し、生成されたYAMLをコピーしてください。「All Resources」タブを使用すると、5つのマニフェストすべてを、---で区切られた単一のマルチドキュメントYAMLファイルとして一括で生成できます。
リソース要求は、スケジューリングのためにコンテナが必要とする最小のCPUおよびメモリ量を定義します。制限は、コンテナが消費できる最大量を上限として設定します。制限なしで要求を設定することは、本番環境における最も一般的なパターンです。これにより、スケジューリングの余裕を確保しつつ、バースト処理も可能になります。 HPA を使用するには、クラスタにメトリクスサーバーがインストールされている必要があります。Ingress ルールを使用するには、nginx-ingress や Traefik などの Ingress コントローラーが必要です。