OpenShiftチョットサワレル

OpenStackやOpenShiftなどのCloud製品を担当しているソリューションアーキテクトの輿水です。

本日は「OpenShiftをちょっと触ってみたいけど、どこでできるでしょう?」という話をしたいと思います。


パブクッククラウドのサービスを使う

  • オススメ度:☆
  • コスト感:☆
  • タイミング:☆☆☆

AWSやAzure、IBM cloudで、OpenShift環境をサクッと作れるマネージド・サービスがあります。過去に、この赤帽ブログでも取り上げられていますが、ROSA、ARO、ROKSなどです。1日使うとどれくらいなのか?という紹介をした赤帽ブログもあります。クラウドサービスのダッシュボードを利用すれば割と簡単にOpenShiftの環境を作成できます。難点は、コストが高いことです。どのマネージド・サービスでも、それなりのサイズのインスタンスを複数起動するので、1日稼働させると1万近くなってしまいます。会社に経費請求できる方以外にはコスト面での敷居が高いです。また、特に何かしらの演習ガイドがある訳でないので、その環境を使って何を学習したいのか?を自分で明確にしておく必要があります。


Containers & Cloud Native Roadshow (略称CCNR)

  • オススメ度:☆☆☆
  • コスト感:☆☆☆
  • タイミング:☆

3ヶ月に1回行われる無償のオンライン・ワークショップです。業界標準のオープンソーステクノロジーを使用して、コンテナ化されたクラウドネイティブアプリケーションを構築、展開、管理するための実践的なワークショップで、開発者向けおよび運用者向けのコースがあります。基本的にガイドに従って自習形式で進めるコンテンツですが、インストラクターに質問することも可能です。インストラクターが付くのは約4時間ですが、ワークショップ用に準備したOpenShift環境は8時間くらいは使用できるので、インストラクター無しで自己学習もできます。

つい先日、6月に開催されました。運用者向けのコースの内容については、これも過去にブログで取り上げてますので、興味がある方は参照していただければと思います。ブログを書いた頃より、OpenShiftのバージョンが上がり現時点で4.9ベースですが、学習する内容は大きくは変わっていません。ちなみに「Windowsコンテナ」演習が新しく追加されました。

なお、環境はAWS上に作成されており、初期状態でMasterノード3台、Workerノード3台、その後の演習で、インフラノード3台、ストレージノード3台を追加するというリッチ構成です。特にストレージ(OpenShift Data Foundation)に関しては、あまりこのようなワークショップは無償では開催されていないと思います。

モジュール 内容
演習環境の概要 |演習環境におけるターミナルとGUIの使い方
OpenShiftクラスタのインストールの検証 CLIを使ったOpenShiftクラスタの確認方法
アプリケーション管理の基礎 サンプルアプリケーションのデプロイと基本的なリソース (Pod, Service等) の説明
アプリケーションストレージの基礎 アプリケーションで永続ストレージを使用する方法
MachineSets, Machines, and Nodes MachineSetとMachineを使ってWorkerノードを追加する方法
インフラストラクチャノード と Operator インフラノードの追加とOperatorを使ったインフラコンポーネントの移動方法
OpenShift ログ集約 OpenShift Loggingによるインフラとアプリケーションのログ集約
外部認証プロバイダ(LDAP)の設定 LDAPサーバと連携したユーザとグループの外部認証
OpenShift Monitoring OpenShift Monitoringによるクラスタコンポーネントの監視
プロジェクト・リクエスト・テンプレートとクォータ/制限 Project作成時のテンプレートとProjectへのリソースクォータ
OpenShift の Network Policy ベースのSDN Network PolicyによるProjectをまたいだ通信の制御
Projectのセルフプロビジョニングの無効化 ユーザによるProject作成の制限方法
クラスタリソースのクォータ ユーザまたはアプリケーションに対するリソースクォータ
Taint と Toleration 特定のノードでアプリケーションを稼働しないようにする方法
Windows コンテナ Windowsノードの追加とWindowsコンテナの稼働
OpenShift Data Foundationのデプロイと管理 永続ストレージであるOpenShift Data Foundationの使用

内容は超オススメなのですが、開催頻度が3ヶ月に1回なので、タイミングが合う合わないがあり、また、環境がリッチするぎる故に、参加者数に上限があるのもちょっと難点です。


Red Hat Developer

今回のオススメです。

  • オススメ度:☆☆
  • コスト感:☆☆☆
  • タイミング:☆☆☆

オススメ度が☆2なのは、英語だからということと、内容が頻繁に変わって、該当のハンズオンがいきなり消えている事があるためです。また各コースで環境を使用できる制限時間が設けられており、10分〜1時間が殆どで少し短く感じる点と、英語で書かれているのでOpenShiftを理解する前に英語を理解せねばならぬ、という日本人ならではの苦業があります。プラス面は、OpenShiftのバージョンを積極的に新しくしたり、演習内容をより適切なものにしている点です。

developers.redhat.com

こんなサイトは初耳です、という方のが多いかもしれません。英語のサイトなので、検索で辿り着くことも少ないかもしれません。Topページを見た瞬間、そっと閉じたくなる感じもありますが、比較的技術寄りの製品に関する記事やDeveloper Sandbox、interactive lessonがまとまってます。

このページにはOpenShiftに限らず様々な製品について、interactive lessonつまり自己学習できるHands-On Labが置いてあるのです(英語ですけど)。O’Reillyが提供していたkatacoda.comという、ハンズオンを作って提供できるサイトがあったのですが、それと同様のものを提供しています。先程、久しぶりにkatacoda.comのトップページを見たら、katacoda.comが閉鎖されるというアナウンスが載ってました、残念です。Katacodaを利用するためにはアカウントを作成する必要があったのですが、こちらは特にはアカウント作成は必要ありません。

心の中で若干ハードルを感じつつ「learn」の部分をクリックすると学習コンテンツが表示されます。「View all OpenShift Learning」に進めば下の方に「All OpenShift interactive lessons」とOpenShiftに関連するHands-On Labが複数表示されます。

正直に言うと「Start」のところをクリックした瞬間 Not Found だの 404だの表示されてしまうページがあります。絶賛改修中なので、生温かい気持ちで見てください。その中でいくつか初級編の、現時点で有効なOpenShiftのコースをご紹介します。


Logging into an OpenShift cluster

Logging into an OpenShift cluster | Red Hat Developer

文字通り、OpenShiftのクラスタにログインしてみよう!というコースです。初歩の初歩ですが、0penShift-consoleのPodがあることを確認して、そこへのrouteを調べてWebコンソールにアクセスしてみるという、後から振り返ればOpenShiftのObjectの様々な要素が含まれています。また、OpenShiftを利用してアプリ開発などを行う際に、複数ユーザでの開発を考慮する必要が生じますが、ユーザーに権限を付与する仕組みも説明しています。

  • OpenShiftクラスタのWebコンソールURLを調べアクセス
  • OpenShift Command Line Toolの利用
  • OpenShiftの新規ユーザー作成と権限付与
  • ユーザーの切替

Build and deploy applications with OpenShift

Build and deploy applications with OpenShift | Red Hat Developer

getting-startedと言いながら、アプリケーションPodのスケールアウト、スケールインを実施。OpenShiftのセルフヒーリング機能についても学びます。

  • ocコマンドでOpenShiftクラスタにアクセス
  • WebコンソールでOpenShiftクラスタにアクセスしてアプリケーションをビルド
  • アプリケーションのスケーリング
  • Routeを利用して外部に公開されたURLにアクセス
Deploying Applications From Source

Deploying applications from source | Red Hat Developer

CCNRで実施してる「アプリケーション管理の基礎」に近い内容です。pythonアプリをビルド&デプロイし、削除や再作成するとどのうように変化するかを確認します。

  • ocコマンドを利用してプロジェクトを作成、とWebコンソールで確認
  • Webコンソールを利用してイメージからpythonアプリをビルド&デプロイ
  • Webコンソールでアプリのログを確認
  • 外部に公開されたURLにアクセスしアプリの確認
  • アプリの削除
  • ocコマンドでアプリを再度デプロイ
  • ビルドトリガーの設定
Using OpenShift Pipelines

Deploying applications from source | Red Hat Developer

  • CI/CD パイプラインフレームワークであるOpenShift Pipelines / Tektonを触ってみるコースです。

Getting Started with ArgoCD and OpenShift GitOps Operator

Deploying applications from source | Red Hat Developer

  • OpenShift GitOps OperatorをインストールしてArgo CDを触ってみるコース。

この赤帽ブログでもArgo CDに関する記事がありますが、それに近い内容を実際に触って確認することができます。(ハンズオンで使用されているアプリの仕様が変更されていて、ドキュメントに載っている絵と実際のアプリの見え方はちょっと違いますが実施してる内容は相違ないです。)

他にも様々なコースがありまして、ページの下の方にある「All interactive lessons」でフィターをOpenShiftにして指定すると関連するものが表示されます。コースにはBeginnerとIntermediateがあり、難易度も選択できますので、ご自身のペースで実施してください。ただし、たまにNot Foundがあるのはご容赦ください。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。