Ubuntu14.04のsalt-minionにOpenShift Orign v3をスタンドアロンでインストールします。build-go.shのビルドスクリプトを実行すると、Kubernetesもインストールされます。KubernetesとDockerをgeardとgearの代わりに採用した形でしょうか。RedHatも思い切ってKubernetesとの統合を考えているようです。
Salt チュートリアル - Part3: OpenShift Origin v3の準備
KubernetesをベースにしたOpenShift Origin v3のリポジトリを読んでいると、OpenShift Origin V4とは別のGoで書かれたプログラムです。KubernetesがインストールできるLinuxならRHEL7やFedora20でなくても動きそうです。OpenShift Origin 3をインストールするUbuntu14.04サーバーを構築します。Prerequisitesによると、GoとDockerが事前に必要なため、Saltでminionの構成管理を行います。
OpenShift Origin v3 on Kubernetes - Part1: Requirements
CloudFoundryに押され気味だったのですが、DockerやKubernetesへの対応が速いOpenShiftが最近おもしろそうです。Red Hatが持つ知識と経験のおかげで、Kubernetesは企業向けとして実用可能になったとか。Kubernetesとの統合を試すためにOpenShiftのドキュメントを読み始めたのですが、バージョンの違いがよくわかりません。OpenShift Orignは現在3と4があります。
Salt チュートリアル - Part2: Reactor System
Saltは構成管理ツールの側面もありますが、本来は分散環境で安全にPub-Subを行いリモートのコマンドを実行するためのツールです。そのためReactorやEventを使ったイベント駆動システムの側面もあります。Message Busが必要なシステムのインフラとしてSaltを使うのおもしろいです。
Salt チュートリアル - Part1: リファレンス
CoreOSクラスタにcloud-configを使いKubernetesをインストールしましたが、通常GCEやAzureに構築する場合はSalt使いbootstrapします。SaltStack’s Big Role in Google Kubernetes and Why Immutable Infrastructure Makes The Cloud a Giant Computerという記事に、CoreOSのアプローチが既存の構成管理ツールに与える影響について書いてあります。cloud-configを書いてCoreOSクラスタを構築していると、既存のCMツールの問題も見えてきます。まだCoreOSは主流でないのでSaltの役割は大きいです。Saltを習得するための教材をいくつか集めました。Saltはオンラインドキュメントの文量はかなりあるのですが全体を把握するのが困難です。
DockerにWordPress4.0日本語版を2-Container-Appインストール
Salt+DockerでWordPressをインストールしたのですが、WordPress4.0日本語版にしてもう少し実践的にコンテナをつくります。TutumのHow To Build A 2-Container App with Docker and Tutumを参考にして、WordPressとMySQLの2つのコンテナを作成してLinkさせます。
Salt with Docker - Part2: WordPressインストール
SLSで構築したminionのDockerに、Docker Statesモジュールを使いWordPressコンテナを作成してみます。Saltには組み込みのStateモジュールたくさんあるので多くのことができますが、DockerでCMツールをどこまで使うべきなのか、見極めが問題です。
Salt with Docker - Part1: Dockerインストール
IDCFクラウドのCLIでSaltをプロビジョニングするでsalt-masterとsalt-minionをインストールした環境をしばらく放置していました。Kubernetesの構築ではSaltが重要な位置を占めているのでSaltの復習をしたいと思います。ちょうど開発用のWordPressのコンテナを用意する必要があったので、Docker Statesを作成してminionにインストールします。
Kubernetes in CoreOS with Rudder on IDCFクラウド - Part4: GuestBook example
CoreOSクラスタにインストールしたKubernetesに、GuestBook exampleとデプロイして、KubernetesとCoreOSとDockerの動きを確認していきます。Docker管理システムの中でもアーキテクチャがわかりやすく、動作も安定しています。
Kubernetes in CoreOS with Rudder on IDCFクラウド - Part3: RudderでSDN風なこと
Kubernetesをスタンドアロンでマニュアルインストールはできたのですが、GCEやAzureのようにインストールスクリプトが用意されていないIDCFクラウドではどうすればいいか考えていました。kubernetes-coreosに、CoreOSクラスタをインストールするcloud-configはありますが、fleet(systemd)とネットワーク設定がよく理解できません。cbr0のネットワークデバイスの作成とiptablesはムズカシイ。Introducing Rudder)という記事をみつけ、Rudderを使うとネットワークとサブネットを自由に作れないIDCFクラウドでもSDNっぽいことができそうです。Docker & Kubernetes は SDN のカタリストになれるかも知れないという記事でDockerとKubernetesが広げる、ネットワークとストレージのコンテナへの融合は、これからのクラウドが目指す方向だと感じます。KubernetesのNetworkingを読むと、PodとNATレスなネットワークの重要性について書いてあり、Googleデータセンターの片鱗が見えます。本当に`tip of the iceberg`なのですが。SDNはまだ数年先で、ネットワークエンジニアが扱うもの思っていました。KubernetesとRudderを使うと簡単にSDNっぽく作れます。OVS等使っていないのですが、etcdのおかげプログラマでもとてもカジュアルに使えます。