3.5. リモートでワークスペースにアクセス
本セクションでは、ブラウザー外の CodeReady Workspaces ワークスペースにリモートでアクセスする方法を説明します。
CodeReady Workspaces ワークスペースはコンテナーとして存在し、デフォルトではブラウザーウィンドウで変更されています。これに加えて、CodeReady Workspaces ワークスペースと対話する以下の方法があります。
-
OpenShift コマンドラインツール
kubectlを使用してワークスペースコンテナーでコマンドラインを開く -
kubectlツールを使用したファイルのアップロードおよびダウンロード
3.5.1. OpenShift コマンドラインツールを使用したワークスペースのリモートアクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift コマンドラインツール(kubectl)を使用して CodeReady Workspaces ワークスペースにリモートでアクセスするには、本セクションの手順に従います。
このセクションでは、kubectl ツールを使用してシェルを開き、CodeReady Workspaces ワークスペースでファイルを管理します。oc OpenShift コマンドラインツールを使用できます。
前提条件
-
kubectlツールが利用可能である。OpenShift の Web サイトを参照して ください。 oc versionコマンドを使用してkubectlのインストールを確認します。oc version Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:32:14Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}$ oc version Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:32:14Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow バージョン 1.5.0 以降については、本セクションの手順に進みます。
手順
-
execコマンドを使用してリモートシェルを開きます。 OpenShift プロジェクトの名前と、CodeReady Workspaces ワークスペースを実行する Pod を検索するには、以下を実行します。
oc get pod -l che.workspace_id --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE che workspace7b2wemdf3hx7s3ln.maven-74885cf4d5-kf2q4 4/4 Running 0 6m4s
$ oc get pod -l che.workspace_id --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE che workspace7b2wemdf3hx7s3ln.maven-74885cf4d5-kf2q4 4/4 Running 0 6m4sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
上記の例では、Pod 名は workspace7b2wemdf3hx7s3ln.maven-74885cf4d5-kf2q4 で、プロジェクトは codeready です。
コンテナーの名前を確認するには、以下のコマンドを実行します。
NAMESPACE=che POD=workspace7b2wemdf3hx7s3ln.maven-74885cf4d5-kf2q4 oc get pod ${POD} -o custom-columns=CONTAINERS:.spec.containers[*].name CONTAINERS maven,che-machine-execpau,theia-ide6dj,vscode-javaw92$ NAMESPACE=che $ POD=workspace7b2wemdf3hx7s3ln.maven-74885cf4d5-kf2q4 $ oc get pod ${POD} -o custom-columns=CONTAINERS:.spec.containers[*].name CONTAINERS maven,che-machine-execpau,theia-ide6dj,vscode-javaw92Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクト、Pod 名、およびコンテナーの名前がある場合、
kubectlコマンドを使用してリモートシェルを開きます。NAMESPACE=che POD=workspace7b2wemdf3hx7s3ln.maven-74885cf4d5-kf2q4 CONTAINER=maven oc exec -ti -n ${NAMESPACE} ${POD} -c ${CONTAINER} bash user@workspace7b2wemdf3hx7s3ln $$ NAMESPACE=che $ POD=workspace7b2wemdf3hx7s3ln.maven-74885cf4d5-kf2q4 $ CONTAINER=maven $ oc exec -ti -n ${NAMESPACE} ${POD} -c ${CONTAINER} bash user@workspace7b2wemdf3hx7s3ln $Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーから、CodeReady Workspaces ワークスペースターミナルから、(CodeReady Workspaces ワークスペースターミナルから)
buildおよびrunコマンドを実行します。user@workspace7b2wemdf3hx7s3ln $ mvn clean install [INFO] Scanning for projects... (...)
user@workspace7b2wemdf3hx7s3ln $ mvn clean install [INFO] Scanning for projects... (...)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
その他のリソース
-
kubectlの詳細は、OpenShift ドキュメントを参照してください。