Translate

2013年7月5日金曜日

Puppetを使ったOpenShift Origin のインストールについてのドキュメントをを翻訳してみる

OpenShift Originを企業内で使用するには
結局ブローカとノードを分離したインストールを実施しておかないといけなくなる。
なのでその作業に必要そうなドキュメントを翻訳してみた。
原本は、以下のリンクである。

(OpenShift Origin GitHub)Installing OpenShift Origin using Puppet



翻訳文章を参考にされる方は、
at your own riskでお願いします。


----

Puppetを使ったOpenShift Origin のインストール

このガイドは、基本のパペットスクリプトを設定してRPMからOpenShiftをインストールするためのウォークスルーを提供する。


OpenShift Origin RPMは以下のリポジトリ上で利用可能である:

・自分でソースからビルドしたOpenShift Origin RPMの入ったローカルリポジトリ
・Openshift Origin nightly ミラーリポジトリ - Fedora 19 リポジトリ
 - RHEL 6.4 リポジトリ
注意:OpenShift Origin ブローカ/ノードを適切に設定するために、DNS登録されたホスト名および静的IPアドレスが設定されたホストが必要となる。

Puppetのインストール


注意:RHELシステムへpuppetをインストールするためにEPELリポジトリをインクルードする必要がある。

ここにある最新のepel-releaseパッケージをインストールする。

 yum install -y --nogpgcheck ${url_of_the_latest_epel-release_rpm}

以下のコマンドを実行してpuppetとfacterをインストールする。

 yum install -y puppet facter tar

openshift puppetモジュールをインストールする:

 puppet module install openshift/openshift_origin



BIND TSIG キーの生成


BINDパッケージをインストールする。


 yum install -y bind

TSIG キーを生成する。

 #クラウドドメインとして example.com を使う場合
 /usr/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -n USER -r /dev/urandom -K /var/named example.com
 cat /var/named/Kexample.com.*.key  | awk '{print $8}'

TSIGキーは、CNk+wjszKi9da9nL/1gkMY7H+GuUng== といった様な文字列である。次のステップで使用する。


/etc/hosts へのエントリの追加(オプション)


もしあなたのマシンのホスト名からパブリックIPアドレスを(DNSで)引くことができないのであれば、以下の作業を行うこと:

1. /etc/hosts へ、ホスト名からパブリックIPアドレスへのマッピングエントリを追加する。例:

 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
 10.211.55.3 thishost.thisdomain.com

2. /etc/hostnameを更新する。例:

 echo "thishost.thisdomain.com" > /etc/hostname
 hostname thishost.thisdomain.com


オールインワンホストの設定

この設定では、ホスト上で、ブローカ、ノード、アクティブMQ、mongodb、バインドサービスが動作する。

以下の内容を含むファイルconfigure_origin.ppを作成する:

 class { 'openshift_origin' :
  #The DNS resolvable hostname of this host
  node_fqdn                  => "thishost.thisdomain.com",
 
  #The domain under which application should be created. Eg: -.example.com
  cloud_domain               => 'example.com',
 
  #Upstream DNS server.
  dns_servers                => ['8.8.8.8'],
 
  enable_network_services    => true,
  configure_firewall         => true,
  configure_ntp              => true,
 
  #Configure the required services
  configure_activemq         => true,
  configure_mongodb          => true,
  configure_named            => true,
  configure_avahi            => false,
  configure_broker           => true,
  configure_node             => true,
 
  #Enable development mode for more verbose logs
  development_mode           => true,
 
  #Update the nameserver on this host to point at Bind server
  update_network_dns_servers => true,
 
  #Use the nsupdate broker plugin to register application
  broker_dns_plugin          => 'nsupdate',
 
  #If installing from a local build, specify the path for Origin RPMs
  #install_repo               => 'file:///root/origin-rpms',
 
  #If using BIND, let the broker know what TSIG key to use
  named_tsig_priv_key         => ''
 }

puppetスクリプトを実行する:

 puppet apply --verbose configure_origin.pp


ブローカ/ノードを分離したホストで動かす設定

ブローカホスト


この設定では、ホスト上で、ブローカ、アクティブMQ、mongodb、バインドサービスが動作する。

以下の内容を含むファイルconfigure_origin.ppを作成する:

 class { 'openshift_origin' :
  #The DNS resolvable hostname of this host
  node_fqdn                  => "thishost.thisdomain.com",
 
  #The domain under which application should be created. Eg: -.example.com
  cloud_domain               => 'example.com',
 
  #Set to `'nightlies'` to pull from latest nightly build
  #Or pass path of your locally built source `'file:///root/origin-rpms'`
  install_repo               => 'nightlies',
 
  #Upstream DNS server.
  dns_servers                => ['8.8.8.8'],
 
  enable_network_services    => true,
  configure_firewall         => true,
  configure_ntp              => true,
 
  #Configure the required services
  configure_activemq         => true,
  configure_mongodb          => true,
  configure_named            => true,
  configure_avahi            => false,
  configure_broker           => true,
 
  #Don't configure the node
  configure_node             => false,
 
  #Enable development mode for more verbose logs
  development_mode           => true,
 
  #Update the nameserver on this host to point at Bind server
  update_network_dns_servers => true,
 
  #Use the nsupdate broker plugin to register application
  broker_dns_plugin          => 'nsupdate',
 
  #If installing from a local build, specify the path for Origin RPMs
  #install_repo               => 'file:///root/origin-rpms',
 
  #If using BIND, let the broker know what TSIG key to use
  named_tsig_priv_key         => ''
 }

puppetスクリプトを実行する:

 puppet apply --verbose configure_origin.pp

ノードホスト

この設定では、ホスト上でノードのみが動作する。

以下の内容を含むファイルconfigure_origin.ppを作成する:

 class { 'openshift_origin' :
  #The DNS resolvable hostname of this host
  node_fqdn                  => "thishost.thisdomain.com",
 
  #The domain under which application should be created. Eg: -.example.com
  cloud_domain               => 'example.com',
 
  #Set to `'nightlies'` to pull from latest nightly build
  #Or pass path of your locally built source `'file:///root/origin-rpms'`
  install_repo               => 'nightlies',
 
  #Upstream DNS server.
  dns_servers                => ['8.8.8.8'],
 
  enable_network_services    => true,
  configure_firewall         => true,
  configure_ntp              => true,
 
  #Don't configure the broker services
  configure_activemq         => false,
  configure_mongodb          => false,
  configure_named            => false,
  configure_avahi            => false,
  configure_broker           => false,
 
  #Configure the node
  configure_node             => true,
  named_ipaddress            => ,
  mongodb_fqdn               => ,
  mq_fqdn                    => ,
  broker_fqdn                => ,
 
  #Enable development mode for more verbose logs
  development_mode           => true,
 
  #Update the nameserver on this host to point at Bind server
  update_network_dns_servers => true,
 
  #Use the nsupdate broker plugin to register application
  broker_dns_plugin          => 'nsupdate',
 
  #If installing from a local build, specify the path for Origin RPMs
  #install_repo               => 'file:///root/origin-rpms',
 }

puppetスクリプトを実行する:

 puppet apply --verbose configure_origin.pp

ソースコードからOpenShift Origin RPMSをビルドする方法を翻訳してみる

OpenShift Origin(オープンソース版OpenShift)のRPMを
ローカル上に構築する方法を翻訳してみた。

翻訳内容について保障はできませんので、
at your own riskで参照して下さい。

原本は、以下のリンクです。
(OpenShift GitHub) Building OpenShift Origin RPMS from source

----

ソースコードからOpenShift Origin RPMSをビルドする方法


このガイドは、GitHubからOpenShift Origin ソースコードを入手し、Origin RPMSのローカルコピーをビルドするウォークスルーを提供する。

OpenShift Origin は、パッケージをビルドするためには、Fedora19もしくは RHEL 6.4 コンパチブルシステムが必要となる。ビルドを処理するために最小インストレーションで開始することを推奨する。


OpenShift Origin リポジトリ

OpenShift Origin ソースコードは、5つのリポジトリで構成されている:

  • origin-dev-tools:このリポジトリは、ローカルもしくはEC2へOpenShft Originインストーレーションのビルドやテストに必要なすべてのビルドツールが含まれている。
  • origin-server:ブローカ、ノードおよびDNSのためのプラグイン群、通信及び認証機能のソースコードを含むメインリポジトリ。OpenShiftインストレーションで使用するいくつかのコアカートリッジも含んでいる。
  • origin-community-cartridges:このリポジトリは、Fedora 19インストレーション中に使用する追加カートリッジ群を含んでいる。
  • rhc:このリポジトリはOpenShiftベースのPaaSへアクセスするためのコマンドラインツールを含んでいる。
  • puppet-openshift_origin:このリポジトリは、OpenShift Originを設定するためのpuppetスクリプトを含んでいる。




ビルドの必要条件


1. 基本の依存パッケージ群をインストールする(root)

 yum install -y rubygem-thor git tito yum-plugin-priorities wget vim-enhanced \
  ruby-devel rubygems-devel rubygem-aws-sdk rubygem-parseconfig rubygem-yard rubygem-redcarpet \
  createrepo

2. openshift-dev-toolsリポジトリのクローンを作成する

 git clone git://github.com/openshift/origin-dev-tools.git

3. OpenShift Originソースコードのクローンを作成する

 # origin-dev-tools の checkout から
 export SKIP_SETUP=1
 ./build/devenv clone_addtl_repos master

4. 必須パッケージをインストールする(root)

 # origin-dev-tools の checkout から
 # このステップはたくさんのRPMをインストールするため時間がかかる
 ./build/devenv install_required_packages

5. RPMをビルドする(root)

 # origin-dev-tools の checkout から
 ./build/devenv local-build --skip-install

RPMがorigin-rpmsディレクトリ上で利用可能となる

6. RPMメタデータを作成すると、ディレクトリはYUMリポジトリとしてアクセス可能となる

 # origin-rpms ディレクトリから
 createrepo .

2013年7月2日火曜日

パブリックPaaS版Cloud Foundryにログインしてみる


[InfoQ]: Cloud Foundryが新バージョンを発表し、旧を廃止。


上記記事を読むと、2013年6月30日で古いV1が廃止され、
かわってV2サービスにかわるらしい。
旧版V1で使っていた人は期限内に移行しないと
アプリが消されるらしい。
しかも移行ツールとかの提供もないらしい..

しかも"無料"ベータが終了するらしい...


そういえばMicro Cloud Foundryは試したことがあるが
パブリックPaaS版は試したことなかったので
とりあえずアカウントを取ってログインしてみた。

まずApp Spaceタブの画面(初期画面)。






ここでアプリケーションを追加して
開発者を割り当てるらしい。


Org xxxx-org has 60 days left in its free trial, which includes 2GB of app memory and 10 of the free Marketplace services. Paid plans coming soon.
組織 xxxx-org は60日間フリートライアル期間を保有しています。トライアルには、2GB アプリケーションメモリ、10のフリーマーケットプレイスサービスを含んでいます。支払いプランについてはもうすぐ完成予定です。

というのがてっぺんにでていて、
使う気を削いでくれる..


次にUsersタブ。



ロールは、
デベロップメントロール、
プロダクションロール、
ステージングロールの3種類で
組織(org)単位、App Space単位に割り当てられそうだ。

ユーザはメールアドレスを持っていることが必須。




Org Settings タブは
組織設定変更やドメインの割り当てなどを行うようだ。




で Marketplace。
もう「金、とりまっせ~」って感じの名前が嫌!




アプリケーションに加えることの出来るサービス。
今のところDB、NoSQLとMQ、JMeterくらい。

一体いくらぐらいなのか..
どきどきしながら1つづつPlan Optionを開いてみたが
今のところ無料版の範囲だけしかのっていなかった。

rediscloud

Powered by Grantia Data
開発者向けエンタープライズクラスredis(インメモリデータベース)
  • 20MB無料版
  • 1データベース
  • 10接続まで無料

mongolab

完全に管理されたMongoDB as a Service
  • SANDBOXバージョン無料
  •  ストレージ496MB
  •  MongoLabのS3バケットかユーザ指定領域へのバックアップ(即時、計画)
  •  24/365モニタリング
  •  電子メールサポート(support@mongolab.com)
  •  MongoDB/データベース エキスパートアドバイス
  •  標準ドライバ及びREST APIサポート
  •  Webベースの管理ツール

cleardb

SUCCESSBRICKS, INC DBA CLEARDB
アプリ用高アベイラビリティMySQL
  • SPARK
  •  価格:無料!
  •  DBサイズ:20MBまで
  •  接続4
  •  I/Oパフォーマンス:Low
  •  日次バックアップ
  •  完全POC/初期開発向け

blazemeter

JMeter負荷テストクラウド
  • FREE-TRIAL版
  •  ずっと無料
  •  50接続ユーザまで
  •  10テスト/月まで

treasuredata

Hadoopベースのクラウドデータウェアハウス
  • NANO版(無料)
  •  100MBの圧縮データストレージ
  •  60クエリ/月
  •  保障コア0、最大コア1

cloudamqp

84CODES AB
管理されたクラウドHA RabbitMQサービス
  • LEMUR(無料)版

elephantsql

84CODES AB
PostgreSQL as a Service
  • TURTLE(無料)版


App Engineを使っているうちに染み付いてしまった
なんとかして無料でやりくりしてやろうという
姑息な根性が成長してしまい
どうしても有料という単語→あきらめ
という性根がこれ以上のアプリ作成にブレーキをかける。
とりあえずまだ60日無料で使えるんだけど..


き、今日はここまでにしといてやろう..

ClaudeをOpenAI O1のように思考させるDifyサンプルを試す

 Difyの「探索」タブにはさまざまなサンプルが載っており、その1つに「Thinking Claude (OpenAI O1 Alternative)」というものがある。   このサンプルがどういうものか、未だに自分でも解けない以下の問題をためしに聞いてみることにした。 『人類の...