ニフクラ ブログ

ニフクラ/FJ Cloud-Vやクラウドの技術について、エンジニアが語るブログです。

【レポート】Kubernetesの始め方

こんにちは。 ニフクラエンジニアミートアップ事務局の鮫島です。

2022年1月26日(水)に第44回ニフクラエンジニアミートアップを開催しました。

今回のテーマは、「Kubernetesの始め方」

fujitsufjct.connpass.com

でした。

ここ数年、Webサービスの開発やCI/CDDevOps実現のためにコンテナの利用が注目されていますが、コンテナオーケストレーションツールのスタンダードであるKubernetes(K8s)の環境構築がテーマということで、たくさんの方がお越しくださいました。

ありがとうございました!

「Kubernetes Service Hatoba」で始めるKubernetes環境構築

まずは、富士通クラウドテクノロジーズ株式会社のニフクラ「Kubernetes Service Hatoba」開発リーダー、世良迪夫のセッションからスタートです。

公式チュートリアルは便利

全くKubernetesを触ったことがない人は公式のチュートリアルを利用することで、特別な環境を用意することなくいきなりKubernetesがどんなものか体験することができるとのこと。

※Webブラウザ上の仮想ターミナルでMinikubeを実行する方式です。ちなみにMinikubeは、どこでも実行できるKubernetesの小規模なローカル環境です。

ローカル環境にKubernetesを一から環境構築するのはかなり大変…という話は、何度も聞かされていましたが、そもそも何もしなくていいのは最強です。。

なんといっても公式ですし。

公式チュートリアルは使ってみたけど、やはり自身で環境構築をやってみたい!というチャレンジャーもいらっしゃると思いますが、よほどの覚悟がない限り(苦労をいとわない物好きか…)オンプレミスでの構築は大変おすすめしないとのこと。

そこで、実運用も見据えておすすめなのがクラウドベンダーがマネージドで提供しているKubernetesサービスです。

ニフクラ/FJcloud-Vだと、Kubernetes Service Hatobaとか?

Kubernetes Service Hatoba

Kubernetes Service Hatobは、ニフクラ/FJclou-VのKubernetes as a Service(KaaS)です。

Hatobaのアイコンは波止場にある足を乗せやすいアレです

ニフクラIaaSの特徴といえる、冗長化・高可用性はそのまま引き継がれますし、ニフクラのネットワーク上にクラスターを構築でき、他サービスとの連携も可能であり、マイクロセグメンテーションが可能なファイアウォールによるアクセス制御も利用できます。

操作に関しては、ニフクラのコントロールパネル(管理画面)から、ポチポチ操作するだけでKubernetesクラスターが作成できてしまいます。

初回はこの手順を試してみるのは良いのですが、実運用では、毎回毎回ポチポチと手動で構築するのはおすすめしないとのこと。

なぜか?

それは面倒だから!

※繰り返しになる手動の作業は極力減らしたいですよね?

TerraFormでクラスター構築

そこで、おすすめしたいのがTerraFormを活用した構築の自動化。

TerraFormの構成ファイルは、GitHub上で公開されていますよ!

たとえば、こういうTerraFormの構成ファイル(これはK8sクラスターにプライベートLANを設定するもの)が公開されています。

TerraFormで環境構築するメリットとは?

TerraFormの最大のメリットは、Infrastructure as Code(以降IaC)を実現できる点です。 IaCとはネットワークの構成やサーバーの設定など、インフラを構成する要素をコード化し、その構築や管理を専用のソフトウェアによって自動化する手法です。 TerraFormでコード化・自動化することによってこういうメリットがあります。

・一度作ったら何度でも同じ環境を構築できる(冪等性の担保)
・誰が作っても同じものができる(属人化の解消)
・再利用性の向上(変数やモジュールの活用がしやすい)

こういった点を踏まえて現代の開発環境の構築には欠かせないといっても過言ではありません。

さらに、TerraFormの応用編としてHelmfileを利用してKubernetes上のアプリケーションの構築を行ったり、さらにGitLab CIを追加してレビューの効率化を図る応用編についても紹介されました。

まとめと質問

最後に、まとめとQAセッションの前哨戦となる質疑応答が行われました。

環境構築を効率化する方法を学べばスキルアップするってことだ!

質疑応答では、マネージドの概念、TerraFormとAnsibleの比較、なぜKubernetesがデファクトスタンダード化しているのか、Hatobaで「type: LoadBalancer」を作成した場合の外部サービスとの連携、といった幅広い質問が寄せられました。

詳細が気になる人は、ぜひYouTube動画をご覧ください。

youtu.be

「Kubernetes Service Hatoba」を触ってみた!

続いて、日本仮想化技術の水野源氏が実際に「Kubernetes Service Hatoba」を触ってみた感想を中心としたセッションが行われました。

水野氏は、「Amazon Elastic Kubernetes Service (Amazon EKS)」のユーザーであり、「Kubernetes Service Hatoba」の開発リーダーを前にしてどのような評価をするのか?参加者一同、固唾をのんで見守りました。

EKSユーザーが見たHatoba

先ほどの世良のセッションで自ら「面倒そう・・・」と言ってしまった手動の構築手順を、水野氏がきっちり実行したところ、こういう感想を持ったようです。

操作はEKSより簡単だが、細かい制御はあまりできない

キタキタ!

この点に関しては、次のQAセッションで世良自ら設計思想について語ることになります。 盛り上がりますね。

続いて、水野氏がEKSユーザー的な目線で疑問に思った挙動や操作について、開発者の世良と直接質疑応答をするというなかなか見られない貴重な場面を見ることができました。

このあたりは動画をご覧いただく方が楽しめると思います。

youtu.be

QAセッション

続いて、登壇者+宮原氏が回答者となって、QAセッションが行われました。

前述の、世良が語る「Kubernetes Service Hatoba」の設計思想の部分は

・05:35 Hatobaでは行えない細かい設定とは?

この付近のチャプター(YouTubeの説明欄を参照)でご覧いただけます。

要約するとこんな感じでしょうか?

後発のKubernetesサービスであり、(機能的に追い付いていない部分はあるのは理解した上で)EKSと同じものを作っても仕方がないので、「初心者が迷わない・使いやすい」というニフクラ同様の操作性重視の設計思想になっている。

EKSと異なる部分についての見解は興味深いので、ぜひご覧いただきたい部分です。

開発担当者本人が製品の質問に明快に答えてくれるので、すんなり腹落ちするQAになってしまい、珍しく時間内に収まったのが印象的でした。

「Kubernetes Service Hatoba」を試してみたいという人は、ニフクラのOEMサービスであるFJcloud-Vで2か月無償枠をご利用ください。

詳しくはこちらのブログ記事をご覧ください。 blog.pfs.nifcloud.com

QAセッションの模様は下記の動画をご覧ください。 youtu.be

次回2月22日のニフクラエンジニアミートアップは、DevOpsの始め方がテーマです。

fujitsufjct.connpass.com

絶賛参加者募集中です。
次回もお楽しみに!