初めまして、こんにちは。 事業推進本部SE部の掛田(@skakeda)と申します! 普段はセールスエンジニアとして、自社サービスの説明や導入支援に携わっております。
今回は、Docker環境を利用したコンテナの構築経験はありますが、Kubernetes環境の構築はほぼ未経験の状態である私が、「IDCFクラウド コンテナ」を利用してみた感想について書かせていただきます。
www.idcf.jp
【IDCFクラウド コンテナとは?】
IDCFクラウド コンテナは、オープンソースのコンテナ管理プラットフォーム「Kubernetes」を統合管理することができるマネージドKubernetesサービスです。
サービス概要についてはこちらの記事でまとめておりますのでご覧ください。
blog.idcf.jp
マルチクラウドについて
昨今、クラウド環境の選定にあたり、「マルチクラウド」というワードがトレンドとなっています。
複数ベンダーのクラウドサービスを組み合わせて利用することを意味しており、インフラ基盤をマルチクラウド化することで、システムの柔軟性・可用性を向上させることができます。
マルチクラウド化の課題
既存のマネージドKubernetesサービスの中には、マルチクラウド対応を謳いつつ実際は移設先に縛りがあるなど、ベンダーロックインされてしまうケースが見受けられます。
そういった問題を解決するために、IDCFクラウド コンテナでは「Anyインフラ」を掲げ、オンプレミスからIDCFクラウド環境、GKEなどの他社パブリッククラウド環境にいたるまでクラスタを構築・管理することができます。
そのため、コンテナの利点であるポータビリティを最大限に生かすことのできるサービスとなっています。
「Anyインフラ」のコンセプトについてはこちらの記事をご覧ください!
【IDCFクラウド コンテナを触ってみた】
前置きが長くなりましたが。。。 それでは、実際にIDCFクラウド コンテナを触ってみた感想についてお話します。
何をしたの?
今回はIDCFクラウド(弊社パブリッククラウド)上にKubernetesクラスタを構築し、Webサーバーのコンテナ(nginx)をデプロイしてみました。作成手順についてはこちらのIDCFクラウド コンテナ めちゃ楽ガイドに沿って進めております。(初めての人に優しいですね)
Kubernetesクラスタを作成してみた
経験談になりますが、自力でKubernetesクラスタを作成しようとすると、コントロールプレーン・ワーカーの環境に、コンテナランタイムをインストールしてから、kubeadmインストールして、、、といった環境を準備する作業に第一のハードルがあると感じます。(私はこの時点でつまずきました。。)
IDCFクラウド コンテナではボタンでポチポチ設定するだけでクラスタの作成をすることができました。ボタン操作のみでクラスタを作成できるのはWEB UIの強みですね。
こちらがクラスタの作成画面になります。 ノードプールのノード数・Role設定を行い、テンプレートを選択し、クラスタ作成をクリックすると作成が始まりました。クラスタを動かすために必要なリソースについても視覚的にわかりやすいのはありがたいです。
クラスタの作成には通常で5分~10分ほどかかります。少し長いと感じますが、ノードの作成・各ツールのインストールからセットアップまでよしなにやってくれるのは助かります。 今回は7分ほどでクラスタの作成ができました。
シークレットの設定
クラスタの作成が完了したので、コンテナをデプロイできる!、、訳ではありません、、 「シークレット」の設定が必要になります。 具体的に、IDCFクラウドのAPIキーをシークレットに登録することで、初めてコンテナをデプロイすることができます。
シークレットとはPodとして実行されるアプリケーションと、その実行時に必要となる秘匿情報(今回はAPIキー)を独立に管理できるリソースことを意味します。
無事、シークレットの設定も完了したところで、早速クラスタにコンテナをデプロイします。
クラスターにコンテナをデプロイしてみた
IDCFクラウド コンテナでは複数のnamespaceを「プロジェクト」という独自の単位で管理します。初期の状態では「Default」と「System」の2つが作成されており、「System」は、Kubernetes環境の設定に必要なプロジェクトになるため、「Default」のプロジェクトを利用するか、新規で作成したプロジェクトを利用します。
今回は、「Default」プロジェクト内にコンテナをデプロイします。 ワークロード画面からデプロイをクリックし、コンテナ名、Dokerイメージ、namespace、ポートマッピングをWEB UIでポチポチ設定します。
コンテナのデプロイもクラスター作成と同様、WEB UIの操作で完結しました!!
私がDockerを利用してWebサーバーのコンテナ(nginx)を立てた際は、仮想ルータでのポートフォワード設定と、nginx側のポート設定をそれぞれ別に行なう必要があったため、WEB UI上でネットワーク設定を一度にできる点が便利だと感じました。
まとめ
以上、IDCFクラウド コンテナ を利用してみた感想についてお話させていただきました。 ある程度の知識は必要であると思いますが、直感的にKubernetes環境を管理できることが本サービスの一番の魅力であると考えております。
また、こちらの記事では紹介できなかった機能(モニタリング設定、Ingressなどなど、)についても、別の記事で紹介させていただきます。
今後ともIDCFクラウド コンテナのさらなる進化にご期待ください!