nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

CROSS 2017 コンテナ管理プラットフォームのススメ 登壇してきました

先週の金曜日のイベントCROSS 2017そのコンテナ、どうやって運用する? コンテナ管理プラットフォームのススメというセッションで登壇してきました。

  • Docker
    • 便利
    • 全開発者にインストールとかイメージ作成とかDockerfileの書き方とか学習させるコストは少しつらい
    • Dockerfileびみょう
  • なぜコンテナ管理プラットフォーム
    • マイクロサービス化などシステムやアプリケーションは分割傾向にあり、デプロイするコンテナが増えてきて大変
    • VMベースだと速度感が落ちる
    • DevOpsを実現するツールのひとつ
    • 永続化ストレージのハンドリング
    • ログ集約とか監視とかセキュリティアップデートとか
  • OpenShiftってなに
    • 機能強化版Kubernetes、運用だけではなくソースコードのビルドなどの開発もカバー、いわゆるPaaS
    • より多くの人に、より簡単に扱えるように
    • Kubernetesの機能はOpenShiftで先行して実装されて提供されていたものが結構ある。たとえばDeploymentsはOpenShiftがリリース当初から備えていたDeploymentConfigが元ネタで、OpenShiftが備えるイメージバージョン管理などもありDeploymentConfigのほうが強力。Kubernetes 1.8実装予定のdebug containersなどもOpenShiftにはかなり前からある
  • CloudFoundryとOpenShiftなどのPaaS寄りの全部入り
    • 開発者が直接扱える
    • レールに乗れば楽チン
    • CloudFoundryとOpenShiftどこが違うの
      • 利用者視点ではあまり大きな違いはない。どちらを採用したら良いかという意味ではバックアップしている会社、サポートの強さ、エコシステムの健康度などで判断
      • OpenShiftはDocker, Kubernetesを中心としたコンテナのメインストリームとなっているエコシステムに位置しているのがCloudFoundryと大きく異なる点
      • Red Hatはコンテナ技術の基盤となるLinuxカーネル、Docker、Kubernetes全てに大きくコントリビュートしておりエンジニアリングとサポートが強い。現時点のKubernetesのコミット数一位はRed HatのOpenShiftのアーキテクト
  • コンテナ管理プラットフォームの学習コスト
    • コンテナ管理プラットフォーム自体は複雑なソフトウェア、運用管理はそれなりに大変
    • 素のKubernetesはつらい
    • オンプレだとRancherいいよ
    • マネージドだとGKEいいよ
    • OpenShiftいいよ、Kubernetesの自前でやるとツライ部分を補完してくれるよ
      • Ansibleによるインストールとアップグレード
      • ネットワーキング
      • HA構成
      • 統合された内部レジストリ
      • フロントエンドリクエスルーター
      • イメージビルド
      • イメージバージョン管理
      • より柔軟なデプロイ
      • ログ集約とモニタリング
      • ocコマンドとWebコンソールでできることが多い、yaml直接編集を極力排除
  • どのタイミングで導入すべきか、規模感
    • 1アプリからでも。サイジングとかログ運用とか監視とかミドルウェアバージョン選定とかビルドとかCIとか、セットアップするの面倒なので、全部用意されてるOpenShift使いはじめたほうがラク
    • OpenShiftの大きめ事例としてはANAJALでも採用されている航空券チケットシステムのアマデウス。他に150ノードクラスタで4000アプリケーション(20,000コンテナ)程度のクラスタを4クラスタ運用している会社がある(さらに開発クラスタは別にある)
  • コミュニティ

OpenShiftを触ってみる方法として以下の3つがあります。

関連リンク