はじめに
インストールコマンドはプロジェクトのインストールドキュメント由来で、
v6.4.xラインに対して検証済み。コマンドは、デプロイ可能なクラスタを指すkubectlcontext が動いていることを想定する。
前提
- Kubernetes クラスタと、あるネームスペースにワークロードを作成・変更する権限を持つ
kubectlcontext。ローカルクラスタ (KIND・minikube・Docker Desktop) でよい。 - インストール済みでそのクラスタを指す
kubectl。DevSpace は同じ kube-context を読む。 - DevSpace にイメージをビルドさせたい場合はコンテナイメージビルダ (ローカルの Docker か BuildKit、またはクラスタ内 kaniko)。
DevSpace はクラスタに何も入れない。単一のクライアント側バイナリである (インストールドキュメント)。
インストール
いずれか 1 つを選ぶ。macOS または Linux の Homebrew:
brew install devspaceLinux でのバイナリ直接ダウンロード (AMD64):
curl -L -o devspace "https://github.com/loft-sh/devspace/releases/latest/download/devspace-linux-amd64" && sudo install -c -m 0755 devspace /usr/local/binWindows では scoop install devspace、またはインストールドキュメントの PowerShell ダウンロード。バイナリが PATH に載っていることを確認する:
devspace version最初の動く構成
中核の仕事は、ライブ同期でクラスタに対してアプリを開発することだ。最短の実経路は、既存プロジェクト用に devspace.yaml を初期化し、dev セッションを開始することである。
プロジェクトディレクトリから
devspace.yamlを生成する。対話的なinitがプロジェクトを調べて config を書き、イメージのビルド方法とデプロイ方法を配線する。bashdevspace init作業するネームスペースを選ぶ (DevSpace は現在の kube-context を使う):
bashdevspace use namespace my-dev-namespacedev セッションを開始する。これは
devパイプラインを走らせる。イメージをビルドし、デプロイし、対象 Pod を dev pod に置換し、ヘルパーを注入し、双方向ファイル同期を開く。bashdevspace dev
devspace dev は動かしたままにする。パイプラインの進行をストリームし、その後ファイル同期を有効にしたままセッションを開いて保持する。ローカルでファイルを編集すると、変更は再ビルドなしに動作中コンテナへ同期される。
動作確認
devspace dev の実行中に、dev pod がネームスペースで起動していることを確認する:
kubectl get pods -n my-dev-namespace置換された開発用 Pod が Running で見えるはずだ。同期経路を端から端まで確認するには、コンテナ内でターミナルを開き、たった今ローカルで編集したファイルを探す:
devspace enter正常なセッションでは、ファイルを編集するたびに sync ログがアップロード・ダウンロードされた変更を報告し、注入された devspacehelper バイナリがコンテナ内の /tmp/devspacehelper に存在する。セッションを止めると、DevSpace は Pod 置換を元に戻し、元のワークロードを復元する。
次に読むもの
devspace.yaml の完全なリファレンス (pipelines・imports・dev config・ビルド/デプロイのバックエンド)、本番と CI での利用、SSH やポートフォワーディングの設定は、公式ドキュメント https://www.devspace.sh/docs/ を参照する。Pipelines リファレンス (https://www.devspace.sh/docs/configuration/pipelines/) が、アーキテクチャ のページで説明した default ワークフローの上書きを扱う。