oo

LCP.jsonによるコンフィギュレーション

Liferay Cloud 環境の各サービスには LCP.json ファイルがあり、これを使用してサービスを設定することができます。 サービスID、メモリ、CPU数、環境変数、ボリュームなどのプロパティを設定できます。

この表は、 LCP.jsonで追加できるプロパティの一覧と説明です。

項目 種類 デフォルト値 説明
id 文字列 ランダム サービスID
image 文字列 "" Docker Hubからサービスイメージ
env オブジェクト 未分類 環境変数
loadBalancer オブジェクト {} 公開ポートおよびドメインの宣言
cpu 数字 1 CPU数
scale 数字 1 インスタンスの起動数
memory 数字 512 メモリ量(MB)
volumes オブジェクト 未分類 データを永続化するためのパス
readinessProbe オブジェクト { "timeoutSeconds": 5 } サービスレディネスチェック
livenessProbe オブジェクト { "timeoutSeconds": 5 } サービス稼働率チェック
dependencies 配列 [] 依存関係の展開順序
kind 文字列 Deployment デプロイメントタイプ(例:Deployment、StatefulSet)。
strategy オブジェクト { "type": "RollingUpdate" } デプロイ戦略(RollingUpdateやRecreateなど)
ports 配列 [] ポートおよびプロトコルの宣言
environments オブジェクト {} 環境に応じた設定
deploy ブール値 true 指定された環境に対してサービスが展開されるかどうか。 このプロパティは、 environments プロパティの内部でのみ使用し、ルートレベルでは使用しないでください。 サンプル LCP.json ファイルをご覧ください。
autoscale オブジェクト { "cpu": 80, "memory": 80 } オートスケーリングでのCPUおよびメモリの目標平均使用率。 これがオートスケーリングでどのように機能するかについての詳細は、 オートスケーリングを参照してください。

使用量

以下は、すべてのプロパティを使用した LCP.json ファイルの例です。

{
  "id": "myservice",
  "image": "liferaycloud/example",
  "env": {
    "DB_USER": "root",
    "DB_PASSWORD": "pass123"
  },
  "loadBalancer": {
    "cdn": true,
    "targetPort": 3000,
    "customDomains": ["example.com"],
    "ssl": {
      "key": "...",
      "crt": "..."
    }
  },
  "cpu": 2,
  "scale": 2,
  "memory": 2048,
  "volumes": {
    "storage": "/opt/storage"
  },
  "livenessProbe": {
    "timeoutSeconds": 5,
    "httpGet": {
      "path": "/status",
      "port": 3000
    },
    "initialDelaySeconds": 40,
    "periodSeconds": 5,
    "successThreshold": 5
  },
  "readinessProbe": {
    "timeoutSeconds": 5,
    "exec": {
      "command": ["cat", "/tmp/healthy"]
    },
    "initialDelaySeconds": 40,
    "periodSeconds": 5
  },
  "dependencies": ["service1", "service2"],
  "kind": "StatefulSet",
  "strategy": {
    "type": "RollingUpdate"
  },
  "ports": [
    {
      "port": 3400,
      "targetPort": 7000,
      "protocol": "TCP"
    },
    {
      "port": 9000,
      "targetPort": 8000,
      "protocol": "TCP",
      "external": true
    }
  ],
  "environments": {
    "prd": {
      "memory": 4096,
      "cpu": 6
    },
    "dev": {
      "deploy": false
    }
  },
  "autoscale": {
    "cpu": 90,
    "memory": 90
  }
}
Capability:
Deployment Approach: