クラウド・仮想化

2019.10.31

Author:

Kubernetes を簡単に使う方法!

Kubernetes、なんか聞いたことあるな~、調べたけど難しそうで大変そうだ・・・、便利そうだな~、など Kubernetes に対するイメージはいろいろだと思います。
また実際に Kubernetes 環境を構築してみて、もっと簡単に出来ないのかな、と感じた方も多いのではないでしょうか。
私も以前、Kubernetes と ACI 連携の匠コラム「SDN を利用したマルチハイパーバイザー(Kubernetes, vSphere)環境のネットワーク管理」を執筆したときに初めて Kubernetes 環境を構築しました。
やはりそのときに、もっと簡単に Kunbernetes 環境って構築できないのかな、と思ったものでした。


また、構築したあとに実際に使ってみて、パブリッククラウドのように簡単にロードバランサーや Persistent Volume が使いたいと考えた方も多いと思います。

そんな方のために、今回のブログでは Cisco の Cisco Container Platform (CCP) というソフトウェアを使って、パブリッククラウドのような Kubernetes 環境を比較的簡単に作れることをご紹介します。

CCP では図のような5つのステップだけで Kubernetes Cluster が作成されます。
今回は図の赤枠にあるように CNI は Calico で設定をしていますが、とくに Calico のことを知らなくても Container 用のネットワークは自動で作成されます。

5つのステップが終わればダッシュボードも作成されますので、あとはダッシュボードを使ってコンテナのデプロイや削除をすることが可能です。

kubernetes cluster の作成だけであれば、CCP のようなソフトウェアを使わなくても Kubernetes 環境を構築できる方もいると思います。
(私はネットワークエンジニア出身のため最初は苦労しましたが、その苦労で Kubernetes を深く理解することもできました)

ただ、次のステップとして、パブリッククラウドのようなロードバランサーが欲しくなったときに、苦労される方も多いのではないでしょうか。
CCP では、L4 のロードバランサーだけではなく、L7 のロードバランサーも簡単に作成できます。
必要なのは CCP の画面で、ロードバランサーの数だけ VIP の数を入力するだけです。
図のように VIP の数を5に設定すると、4つは L4 ロードバランサーの MetalLB で使われ、1つは L7 ロードバランサーの Ingress Controller で使われます。

あとは type を NodePort から LoadBalancer に変更するだけで EXTERNAL-IP が付与されます。
また、L7 のロードバランサーを使いたいときも、CCP で Cluster を作成したときに Ingress Controller が同時に作成されていますので、yaml で Ingress Controller を使うように記述するだけで、URL ベースのロードバランスを行うことができます。
図の IP address は同じですが、URL の最後の /red と /blue で違うサーバにアクセスしています。

まとめ
今回は Kubernetes Cluster と L4-L7 ロードバランサが簡単に作れることを紹介しました。
少し触れましたが、ネットワークの Calico も自動で作成されているため、ネットワークの構築はあまり意識する必要がありません。
このようなソフトを使うことで、Kubernetes がもっと身近なものになっていくと思われます。
CCP は、今回紹介したものだけではなく、Persistent Volume や Grafana による可視化なども簡単に作成することができます。
Grafana に関しては、Kubernetes Cluster を作成したときに自動で作成されています。

執筆者プロフィール

細谷 典弘
ネットワンシステムズ株式会社 ビジネス開発本部
第3応用技術部 第4チーム 所属

マルチクラウド基盤に用いられるハードウェアとソフトウェアの最先端テクノロジーに関する調査・検証と、案件の技術支援をする業務に従事。
特に Kubernetes に注目している。
また最近では、放送業界の IP 化に向けた技術調査・検証も行っている。
・CCIE Routing and Switching (#16002)
・CCIE Data Center (#16002)
・Red Hat Certified System Administrator in Red Hat OpenStack(RHCSA) (EX210)
・電気通信主任技術者(伝送交換)

※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。

MORE「クラウド・仮想化」記事