LoginSignup
0
1

More than 3 years have passed since last update.

Eclipse Che 7 を minishift で動かしてみる

Last updated at Posted at 2019-11-24

はじめに

Eclipse Che のバージョンが7になって、色々と変わったというので、一年ぶりに minishift(OpenShift 3.x の minikube版)を立ち上げて、Eclipse Che を動かしてみました。Eclipse Che の Quick Start のままでは動かなかったので、備忘録として残しておきます。

ちなみに、minishift だとメモリも必要だし、ベースとなっている kubernetes がちょっと古いので、目的にもよりますが、個人的には minikube で十分かなと思っています。

準備

検証環境は macOS Mojave 10.14.6 (18G2016) です。以下の準備をしておきます。

  • VirtualBox (もしくは、Docker Desktop for Mac と docker-machine-driver-hyperkit)
  • minishift(1.34.1)
  • chectl

chectl 以外のインストールは Homebrew でも、オリジナルなパッケージを使っても、お好みの手段で。なお、minishift は Docker Desktop に同梱の hyperkit を使うだけなので、minishift を動かすために Docker Desktop を起動しておく必要はありません。chectl については以下の通りです。

$ bash <(curl -sL https://www.eclipse.org/che/chectl/)

minishift の準備と起動

$ minishift config set memory 8192
$ minishift config set vm-driver virtualbox # もしくは、hyperkit
$ minishift start
$ minishift addons install --defaults
$ minishift addons enable admin-user

Che: インストールと起動(方法1)

$ oc login -u system:admin
$ chectl server:start -p minishift -a operator

このあと、http://che-che.xxx.xxx.xxx.xxx.xxx.nip.io をブラウザでアクセスすれば、Eclipse Che が使えます(xxx.xxx.xxx.xxx はインストールのメッセージの最後の部分に表示されています)。しかし、この方法ですと、OpenShift のDashboard からは見えないので、minishift で動かす意味が薄いと感じます。

Che: インストールと起動(方法2)

$ oc login -u system:admin
$ chectl server:start -p minishift -a minishift-addon

成功したら、minishift console とするとデフォルトブラウザで OpenShift のコンソールが立ち上がりますので、Username: developer, Password:(適当に何か打ち込む)でログインし、http://che-che.xxx.xxx.xxx.xxx.nip.io を開くと、Che が立ち上がります。

なお、環境によっては

    ✖ Apply Che addon
      → error: E_TIMEOUT

というエラーの後、たくさんのエラーメッセージが出て起動に失敗することがあります。これは、chectl のタイムアウトが短く、タイムアウト値がハードコーディングされていて、外から変更できないためです。~/.local/share/chectl/client/7.3.2/lib/tasks/installers にある minishift-addon.js に以下のパッチをあてることでうまくようになります。

--- minishift-addon.js-bak  2019-11-24 11:14:19.000000000 +0900
+++ minishift-addon.js  2019-11-24 11:15:15.000000000 +0900
@@ -139,7 +139,7 @@
             yield this.installAddon(addonDir);
         });
     }
-    applyAddon(flags, execTimeout = 120000) {
+    applyAddon(flags, execTimeout = 600000) {
         return tslib_1.__awaiter(this, void 0, void 0, function* () {
             let args = ['addon', 'apply'];
             const imageRepo = this.getImageRepository(flags.cheimage);

では、試しに、C/C++ の workspace を作って、デモプログラムをビルドしてみましょう。

ScreenShot.png

なるほど、ブラウザで Visual Studio Code が動くんですね。でも、これだったら、ネイティブの Visual Studio Code でプログラムして、OpenShift にデプロイする方がいいかなっていう気もしたりします。

Che: 停止と削除

$ chectl server:stop # ← access-token が必要と怒られることがある!
$ chectl server:delete
$ minishift stop

access-token が必要と怒られた時の対処法は、よくわかりません。

おわりに

minishift は OpenShift 3.11 までにしか対応していないのが寂しいです。Redhat Developer に登録すれば、Red Hat CodeReady Container として OpenShift 4.x を利用することができます。無償とはいえ、要登録(ライセンスへのアグリーメントが必要)なところが、ちょっとハードルがありますね。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1