切っ掛け
ふとした切っ掛けで、久しぶりにAlfrescoに触れました。2CPU、メモリ4GBのLinuxサーバーで動かしていたのですが、それでも月々数千円かかりますので評価環境と割り切って、お金がかからない方法でAlfrescoを再実装した備忘録です。SharePointを業務データのポータルとして運用している人であれば、Alfrescoも似た感じで使用できます。
Kubernetes環境を用意
クレジットカード登録なしで気軽に取得できるIBM Cloud ライトアカウントを取得し、Kubernetesを使用するためにデビットカードを登録します。VISAデビットを用意しました。本来であれば、IBM Cloud ライトアカウントでKubernetesを使用可能なはずですが、2018年2月現在、Kubernetesクラスターを作成することができなくなっています。
bluemix.netからログインし、ダッシュボードの画面左上の「三」→コンテナの順にクリックします。
地域で好みのデータセンターを選び、画面右上の「クラスターの作成」をクリックします。本記事では地域(Region)は「英国」を使用し、Cluster typeは無料を使用しています。
しばらく待ち、「デプロイ中」が「準備完了」になるまで待ちます。
名前に表示されている「クラスター名」→「ワーカー・ノード」の順にクリックし、割り当てられた「パブリックIP」を確認します。
Kubernetesダッシュボードでアプリケーション作成後に使用します。
Kubernetesへアクセス
ここからは、Linux環境を用意します。Windowsに操作が似ているものとして、Zorin OS LiteやChalet OSが使い易いでしょう。ここではVirtual Box上でZorin OS Liteを使用しています。Linux環境を起動し、ターミナルエミュレータを起動します。
下記の各コマンドを実行してきます。
IBM Cloud CLIとKubernetes CLI のインストール
$ cd /usr/local/src/
$ sudo wget https://public.dhe.ibm.com/cloud/bluemix/cli/bluemix-cli/0.6.5/IBM_Cloud_CLI_0.6.5_amd64.tar.gz
$ sudo tar -xzf IBM_Cloud_CLI_0.6.5_amd64.tar.gz
$ cd Bluemix_CLI/
$ sudo ./install_bluemix_cli
$ cd /usr/local/src/
$ sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
$ sudo chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl
IBM Cloud CLIとKubernetes CLIをインストールしましたら、いよいよKubernetes環境にアクセスします。
$ bx plugin install container-service -r Bluemix
$ bx login -a https://api.eu-gb.bluemix.net
今回は、IBM Cloudの英国リージョン(地域)を使っていますので、https://api.eu-gb.bluemix.net を使用しています。次は、IBM Cloud にターミナルエミュレータからログインします。
IBM Cloudでお使いのメールアドレスとパスワードを求められます。またアカウントについても選択します。
$ bx cs region-set uk-south
$ bx cs cluster-config mycluster
export KUBECONFIG=xxxx と表示されます。最後までコピーし、実行します。
$ export KUBECONFIG=xxxx
$ kubectl get nodes
$ kubectl proxy &
$ Starting to serve on 127.0.0.1:8001
と表示されます。Linux上のWebブラウザを開き、http://127.0.0.1:8001/ui にアクセスします。Kubernetesダッシュボード画面です。
「Token」を選びます。早速、認証トークン(英数字の文字列)を発行するために、ターミナルエミュレータに戻ります。
$ kubectl -n kube-system get secret
Name欄から、default-tokenで始まる文字列を探します。
例 default-token-xxxxx
$ kubectl -n kube-system describe secret default-token-xxxxx
token :以降が認証トークンです。最後までコピーします。
コピーしたものを先ほどの画面に貼り付け、「SIGN IN」をクリックします。
アプリケーション作成
Kubernetesダッシュボード画面、画面右上の「作成」をクリックします。
「アプリケーションの詳細を設定」を選択します。
各項目は、次のように入力し、画面下の「配備」をクリックします。
- アプリケーション名:alfresco-trial
- コンテナイメージ:gui81/alfresco
- ポッド数:1
- サービス:外部
- ポート:8080
- 外から接続するポート。無料プランなので自動で変更される。
- ターゲットポート:8080
- コンテナ(pod)内の規定のポート。
- プロトコル:TCP
「配備」をクリック後、しばらく待ちます。5~10分くらいです。
Kubernetesダッシュボード画面左側の「Overview」をクリックし、上図のような状態になれば、アプリケーションが稼働状態にあります。
内部エンドポイントの、アプリケーション名(ここでは、alfresco-trial:8080 TCP)の下に表示されているポートと、クラスター作成時に確認したパブリックIPアドレスで外部からKubernetes上で稼働するAlfrescoにアクセスすることができます。
Alfrescoは、ユーザー名とパスワードは、ともに、adminで管理者としてログインすることができます。他にユーザーを作成しファイル共有などを試してみましょう。
まとめ
さくっとシングルサーバー構成なので、Kubernetesダッシュボードの操作にWeb UIを使用しました。評価環境とはいえ、ストレージの永続化も行っていませんので、次は永続化に取り組んでみようと思います。
履歴
- 2018年2月21日 公開
- 2018年2月21日 修正