Kubernetesを利用したコンテナプラットフォーム(CP)、初心者向けOKDの構築

★★★ Live配信告知 ★★★ぜひお申込みください!
◆◇世界一わかりみの深いクラウドネイティブ on Azure◆◇
7/7(木) 19:00~ 第15回:クラウド上でのライブ配信環境〜OBS on Azureで高速・堅牢なライブ配信環境を作る〜 今回は、クラウドなライブ配信環境の構築方法をお届けします。
◆◇PS Live◆◇
7/15(金) 17:00~ 第18回:アウトプットはイイぞ 〜サイオステクノロジーLT大会〜 エンジニア初級者向けから、個人ネタまで、エンジニア脳を体感できるプログラムです。

こんにちは、サイオステクノロジーの前田です。コンテナの利用が増えてきております。docker等を利用している方も増えています。自分一人の作業や、小さい検証やローカルで作業する時は悩まみませんが、実際運用するときを考えるとどうしたらいいかという悩みは多くあります。Dockerを利用する場合はデータの保存や、コンテナが停止したときの考慮について悩みます。Kubernetsを使用する場合は、冗長構成とサーバの台数、監視ツールやGUIの設定と、カスタマイズの自由度の高さと考慮点の多さで悩んでしまいます。

そんな時に初心者の操作に易しく、費用にも優しいOKDがあります。OKDはkuberentesをコンテナプラットフォーム(CP)として利用するために欲しい機能を提供してくれます。本日はOKDの説明とAWS上に簡易構築する方法についてお話ししていきます。

OKDとは

Red Hat OpenShift Kubernetes プラットフォームのコミュニティ・ディストリビューションとなります。インストーラを利用してKubernetesクラスタを構築することができます。クラウドやベアメタルVM等いろいろな環境に構築できます。特にクラウドプラットフォームへのクイックインストールならば、簡単にインストールができます。

Kubernetesの運用機能(冗長性、モニタリング、OS)

Kubernetesで冗長とセキュリティを考慮する場合は多くのことを考える必要性があります。OKDは冗長性を考えたクラスター構築、OSはKubernetsを考慮したFedoraCoreOSです。さらに開発者と管理者の分離やモニタリング機能や管理コンソールも存在しており運用しやすい形式になっております。

OKDとOpenShiftの関連性

OKDとOpenShift Container Platform(OCP)はアップストリーム・ダウンストリームという関係ではありません。現在のOpenShift4環境では兄弟関係に近い類似品となっています。OpenShiftを利用する際はサブスクリプションを購入して利用する必要がありますが、OKDのライセンスは「Apache License 2.0」のため、商用利用で費用が発生しません。しかしRedHatの商用サポートは受けられないため自己管理で利用する必要があります。Kubernetesを1から利用してカスタマイズするよりも、OKDは気軽に安心して利用できます。

構成情報

OKDはカスタマイズでいろいろな設計ができます。今回はAWS上のOKDのクイックインストールの構成を記載します。

下記はAWS での Red Hat OpenShiftの記事に存在するOCPの構成図です。OKDはOCPと同様の構成になります。

OKDはAWSのいろいろな種類のリソースを利用しています。OKDクイックインストールで確認しておく箇所は下記になります。リソースが追加で必要な場合は、構築後の設定変更で対応可能です。

本記事の構成情報

  • クラスター情報
    • OKD 主機能範囲
      • Master Node 3台: EC2+EBS インスタンスtype m6g.xlarge
      • worker Node 3台: EC2+EBS インスタンスtype m6g.large
    • OKD 補助機能範囲
      • Load Balancer: ELB
      • DNS: Route 53
      • ネットワーク: VPS
      • 動的コンテナストレージ: EBS
  • 構築クライアントOS
    • CentOS Stream
  • 構成バージョン
    • OKD 4.10 

構築概要

OKDの構築概要を記載します。

  • 事前準備
    • DNSのゾーン設定
    • IAMユーザ作成
    • クライアントツールの設定
  • 構築作業
    • 設定ファイル作成
    • 自動構築実行
  • 正常性確認
    • OKD確認
    • AWS確認

OKDのドキュメントの情報で不明点がわからない場合は、OCPのドキュメント等を参考にします。

詳細構築作業

■事前準備:DNSのゾーン設定 Route53の確認

OKDクラスターを構築する環境でDNSのドメインを管理している必要があります。AWSのRoute53の設定を確認します。

パブリックホストゾーンの作成の参考ぺージ

 

管理しているzoneをdig等で確認して、外部から参照できることを確認します。

■事前準備:IAMユーザの作成

OKDの構築ではIAMユーザを利用してデプロイしていきます。IAMユーザには『AdministratorAccess 』のポリシーを設定します。

IAMユーザの設定の参考ページ

※OKDのIAMユーザのAWSリソース毎のポリシー設定は推奨されていません。

クライアント端末からAWS CLIでアクセスができるように設定します。

 

ゾーン情報が表示されるのを確認します。

■事前準備:クライアントツールの設定

クライアントの『oc』と『kubectl』とokd用のインストーラ『openshift-install』をダウンロードし設定していきます。

OKDのインストーラーをGithubからダウンロードします。

  • ダウンロード例
    • インストーラーとしてopenshift-install-linux-4.10.0-0.okd-2022-05-07-021833.tar.gzをダウンロード
    • クライアントとしてopenshift-client-linux-4.10.0-0.okd-2022-05-07-021833.tar.gzをダウンロード

ファイルを解凍します。

クライアントツールの設定をします。

クライアントツールの動作確認をします。

■構築作業:設定ファイル作成

OKDの設定ファイルの作成します。この設定ではクラスターの基盤環境先、基本ドメイン、クラスター名、リージョンの設定を行います。

下記コマンドを入力して対話型で設定します。

設定1 SSHファイルの設定(AWSのOCPにはローカル環境からSSHできないため設定はなくてもよい)します。

設定2 デプロイ先のプラットフォーム設定 (awsを選択)します。

設定3 デプロイ先のリージョン選択(デプロイしたいリージョンを選択)します。

設定4 クラスターの基本ドメインを選択します。

設定5 クラスターの名称を入力します。

設定6 プルシークレットを入力します。

今回はプライベートレジストリを使用しないため下記を入力します。

{"auths":{"fake":{"auth":"aWQ6cGFzcwo="}}}

上記でOKDのコンフィグファイルであるconfig/instal-config.yamlの作成完了です。

install-config.yamlはクラスター構築するとなくなります。再利用することも考えてバックアップを取得することをお勧めします。

■構築作業:クラスター構築

インストーラーを使用して構築します。AWS環境に自動的に構築されます。構築には1時間程度かかりますので、お待ちください。ネットワーク環境に不安がある方はscreenコマンド等を活用ください。

クラスター構築実行します。

自動構築が終わるまでしばらく待ちます。(本構築では自動構築に50分かかっております)

注意事項:構築の途中にはOKDのAPIのポート6443番ポートでアクセスします。途中で進まなくなる場合はポート等を確認ください。

●簡易接続確認

に記載のexportコマンドを実行して環境設定を行います。

結果を確認してserverのバージョン情報が表示されることを確認します。

 

■正常性確認:OKD正常性

OKDの正常性確認を行いきます。

●ノードの確認

全てのノードのステータスがReadyであることを確認します。

●machineの確認

すべてのmachineのPHASEがRunningになっており、希望するAWSのREGIONにデプロイされていることを確認します。

●クラスターオペレータの確認

全てのクラスターオペレータのAVAILABLEの項目がTrueであることを確認します。

●管理者コンソールの確認

構築完了時に表示されたURL情報からブラウザでアクセスします。

構築完了時に表示された認証情報でログインします。

ステータスにエラーが表示されていないことを確認します。

■正常性確認:AWS確認

EC2の確認をします。ノードで利用しているEC2が起動していることを確認します。

 

 

リソースマネージャーのタグからAWSリソースが複数作成されていることを確認します。

 

■削除方法: クラスターの削除

削除方法は下記コマンドで削除します。

最後に

生Kubernetesより構築が簡単にはなっていますが、いろいろな設定を行う必要があります。初心者向けに簡易には記載していますが、大変です。こちらでOKDが構築できれば、いろいろなことがWEBインターフェイスから対応できます。OKD4.10ではいろいろなガイドがWEBインターフェイスに追加されました。まずはそちらの内容から試してみてコンテナの可能性を実感していただけたならば幸いです。





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*