LoginSignup
4
2

More than 5 years have passed since last update.

Rancherを利用したIBM Cloud Kubernetes Serviceの活用

Last updated at Posted at 2018-11-10

IBM Cloud Kubernetes Service上に作成したKubernetesクラスタを、RancherにImportして、Helm CatalogからWordPressをDeployするところまでの手順を紹介します。

注:この資料はIBM NEXT札幌2018で講演した内容を再構成したものです。

その前に、前提となる技術要素のご紹介を…

コンテナ型仮想化とは

image.png
image.png
従来のハイパーバイザー型仮想化が、個別のVirtual Machine内にOperating Systemを含むのに対し、コンテナ型仮想化では、共通のコンテナエンジン(この場合はDocker)で各アプリが動作するので、アプリ動作のためのオーバーヘッドやメモリ等のリソースは少なくてすみます。

コンテナ間連携とオーケストレーション

  • Docker Compose
    docker-compose.ymlというYAML形式のファイルに
サービス等を定義して、コンテナ間連携を実現する。
  • Docker Swarm
    
Swarmモード(Swarmkit)を使用したクラスタ管理や
スケジューリングを実現する。
  • Kubernetes
    
API ServerとController Managerを持つMasterを使用して、クラスタ管理やスケジューリングを実現する。

この中で現在では、Kubernetesが事実上の業界標準となりつつあります。

Kubernetesのアーキテクチャ

image.png
Kubernetes Master(以下Master)のAPI Serverを経由して、Developer/Operatorからの入力をMasterのController Manager/Scheduler/etcdが処理し、Kubernetes Node(以下Node)上に実際のアプリやサービスのコンテナベースの動作環境となるPodを作成・動作させます。Node内にあるKube-Proxyを通して、アプリやサービスのUserがアクセスできる環境を提供します。

Kubernetes導入時のハードル

  • 関係する構成要素(リソース)が多い。
    • 理解するのに時間がかかる。
    • 問題が生じた時に追跡しにくい。
  • コマンドラインによる作業がメインとなる。
    • 覚えるのに時間がかかる。
    • 直感的な操作が行いにくい。

Rancherを利用したKubernetesクラスタの管理

What’s Rancher?

  • コンテナオーケストレーション機能を中心とした
コンテナプラットフォームマネジメントシステム
  • オープンソースプロダクトとして開発されている。
  • ユーザー管理・アクセスコントロール・ストレージ管理・ネットワーク管理・セキュリティなどの機能もGUIを使用して設定可能。

image.png

RancherのMain Developerであり、Enterprise Supportを提供しているRancher Labs
は、米調査会社フォレスター・リサーチ社により、2018/10に企業向けコンテナプラットフォーム提供会社として、「Leaders」に位置づけられているような会社です。

https://rancher.com/blog/2018/2018-10-22-forrester-rancher-leader-enterprise-container-management/
同じ内容を解説してくださっていた日本語の記事もありました。
http://blogs.itmedia.co.jp/business20/2018/10/enterprise_container_platformdockerred_hatrancher_labsforrester.html

Rancherの目指すもの

  • クラウドフリー、ベンダーフリーであること
  • WebブラウザやCLIツールによってわかりやすい
インターフェースを提供すること
  • 開発者と運用者に権限を分割して運用できるようにすること
  • 開発者と運用者に対して分かりやすいシステムにすること
  • コンテナ環境に対して、ネットワーク/負荷分散/サービス検知/サービス監視/マルチテナント機能を包括的に提供すること

IBM CloudでのKubernetes
クラスタの作成

image.png
Rancher上からもIBM Cloud上にKubernetesクラスタを構築可能ですが、今回はIBM Cloud上でKubernetesクラスタを作成し、RancherにImportして使用します。

image.png
Importを指定して、Rancher上でのクラスタ管理用の名前(Cluster Name)を入力すると、インポート用のコマンドが表示されますので、それをIBM CloudのKubernetesクラスタに対して実行
します。
今回は以下のようなコマンドでした(環境によって異なります)
curl --insecure -sfL https://35.190.229.202/v3/import/7xh5rt2mbxg6cpmdvzllxrh4kf8rs2mpxkvqwqlmtxwdq5gmsxgvcn.yaml | kubectl apply -f -

image.png
KubernetesクラスタがImportされると、リソースの使用状況等がGUIから監視・変更できるようになります。kubectl用のコンソールが用意されており、設定ファイルのYAMLファイルの取得等も可能です。

Rancher Catalog(Helm)からKubernetesクラスタへのDeploy

Screen Shot 2018-11-10 at 9.07.29.png
今回はHelmのカタログを使用しますので、事前にGlobalのCatalogsを選択して、CatalogのHelm Stableを有効化しておきます。
image.png
ImportしたKubernetesクラスタを選択し、上段のツールバーでCatalog Appsを選択します。
Launchボタンを押すと、App Catalog画面へ移行します。
image.png
今回はWordPressをHelm CatalogからDeployしてみます。
image.png
必要なパラメータの設定画面が出ますので、ここでタイトルやパスワード等を入力・生成してLaunchボタンを押すと、WordPressがKubernetesクラスタ上に展開されます。

このようにGUIを使って非常に簡単にKubernetes環境を利用できます。Rancher自体は無料でフル機能が使用できますので、ぜひ使ってみてください!

4
2
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
4
2