share facebook facebook twitter menu hatena pocket slack

2018.01.17 WED

AzureにKubernetesを展開する5つの方法

工藤 淳

WRITTEN BY 工藤 淳

はじめに

くどうです。

今回は、AzureにKubernetesを展開する方法についていくつか紹介したいと思います。
それぞれドキュメントがしっかりしているのでサクッとできます。

Azure Container Service (ACS)

(ドキュメントしか残ってません)
https://docs.microsoft.com/ja-jp/azure/container-service/
従来のサービスではAzure Container Service (ACS)があります。
オーケストレーションとしてSwarm、DC/OS、Kubernetesを選択できるようになっています。

ACSのドキュメントを参照すると下記のように古いバージョンですと表示されます。
警告
現在ご覧になっているのは、古いバージョンの Azure Container Service のドキュメントです。 Azure Container Service (AKS) は、新しいデプロイ オプション、強化された管理機能、およびコスト面でのメリットを Azure での Kubernetes に追加するために更新されています。 これらのプレビュー機能の使用を開始するには、AKS のドキュメントを参照してください。

Azure Container Service (AKS)

https://azure.microsoft.com/ja-jp/services/container-service/
ん?ちょっと待った。A「K」S? そう「K」とはKubernetesの「K」です。Containerどこいったw
こちらはKubernetesのマネージドサービスです。まだ、プレビューです。
結局、ACSには古いバージョンと表示され、AKSはプレビュー・・・どっち使えば良いんですかね?

上記二つ、ACS、AKSはマネージドサービスですが、SLAはVirtul MachinesのSLAになります。
https://azure.microsoft.com/en-us/support/legal/sla/container-service/v1_0/
正直、出来ることはportalやコマンドで、AgentNodeを増やしたり減らしたりすることぐらいです。
多分ここを見ていらっしゃる方々、いやいやもっとカスタマイズしたいんだって方もいると思います。

その場合はACS Engineを利用します。

ACS Engine

https://github.com/Azure/acs-engine
ACS Engineはその名の通りACSの大元です。オープンソースで公開されており自由にみれます。
特徴として任意のVNETに展開が行えたり、大規模な1200Nodeのクラスターが構築できたり様々な展開方法が行えます。
オーケストレーションもSwarm、DC/OD、Kubernetesが選択できます。ディスクの展開方法もVMASからVMSSに変更できたりします。
(Kubernetesは仕様上VMSSでの展開がまだ難しいようで対応されていません)

ACS Engineを利用してAzure上にkubernetesをdeploy!
Node Auto-Scaling + Kubernetes with ACS-Engine on Azure.

CoreOS Tectonic

https://github.com/coreos/tectonic-installer
CoreOS Tectonicという選択肢もあります。
CoreOSがDocker用にLinuxディストリビューションじゃなかった?と思う方も多いかと思いますが、
悟ったのかKubernetesをデプロイするツールを作っています。
利用するにはCoreOS account とTerraform 、DNSが必須です。
ドキュメントはまとまっているので苦ではありませんが少々手間がかかりますね。

Kubernetes on Ubuntu

https://kubernetes.io/docs/getting-started-guides/ubuntu/
手動で全部構築!?ではありません。
conjure-up + juju による展開です。
Ubuntu 限定の方法ですが展開フレームワークです。
特に、必須なものは無くKubernetesを展開するまでに30分もかかりません。

conjure-up
https://conjure-up.io/
juju
https://jujucharms.com/

まとめ

今回はAzureにKubernetes展開する5つの方法を紹介しました。
自分で管理運用するの嫌だって方はACS、AKSを利用すると良いでしょう。
いや、もっとカスタマイズしたいという方はACS Engineを利用すると良いと思います。
MS?そうじゃないOSSを使いたいという方はTectonicやjujuを利用してみてはいかがでしょうか。
上記5つ以外の方法で展開するんだという方もご自由に・・・

下記は独断と偏見です。

特段、良い悪いはないかと思います。
自分にあった展開する方法を検討してみてください!

元記事はこちら

AzureにKubernetesを展開する5つの方法

工藤 淳

工藤 淳

cloudpack事業部の本屋ではございません。エンジニアとしてAWSでシステム構築を主に行っています。 個人的に「クラウドっておもしれー」をコンセプトに様々なクラウドを取り扱っています。 また、クラウド、セキュリティ、オープンソース系の勉強会では登壇、スタッフ業に勤しんでいます。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。