3.6.5. YAML ファイルからのサービスの作成

サービスまたはカスタムリソース (CR) の YAML 定義に無効なデータまたはプレースホルダーのデータがある場合、--dry-run フラグを使用して YAML 定義を取得し、正しい値を指定し、修正された YAML 定義を使用してサービスを起動することができます。サービスを起動するために使用される YAML を出力および変更するために、odo はサービスの起動前に Operator によって提供されるサービスまたは CR の YAML 定義を出力する機能を提供します。

  1. サービスの YAML を表示するには、以下を実行します。

    $ odo service create <operator-name> --dry-run

    たとえば、etcdoperator.v0.9.4 Operator によって提供される EtcdCluster の YAML 定義を出力するには、以下を実行します。

    $ odo service create etcdoperator.v0.9.4 --dry-run

    YAML は etcd.yaml ファイルとして保存されます。

  2. etcd.yaml ファイルを変更します。

    apiVersion: etcd.database.coreos.com/v1beta2
    kind: EtcdCluster
    metadata:
      name: my-etcd-cluster 1
    spec:
      size: 1 2
      version: 3.2.13
    1
    名前を example から my-etcd-cluster に変更します。
    2
    サイズを 3 から 1 に縮小します。
  3. YAML ファイルからサービスを起動します。

    $ odo service create --from-file etcd.yaml
  4. EtcdCluster サービスが事前に設定された 3 つの Pod ではなく 1 つの Pod で起動されていることを確認します。

    $ oc get pods | grep my-etcd-cluster