Alibaba Cloudでコンテナを動かしてみる (1)

Alibaba Cloudでコンテナを動かしたい

普及が進んでいるコンテナ技術ですが、Alibaba Cloudでも使用することができます。
DockerコンテナをKubernetesでオーケストレーションするという、一般的な構成をクラウド上で動作させることが可能です。
Alibaba CloudのContainer Serviceについて説明します。

ContainerService icon

コンテナとは

この記事をご覧になる方々にとっては既知のことかもしれませんが、簡単に言えば仮想化されたアプリケーションの実行環境です。
1つのアプリケーションをクリーンかつ他に干渉されない環境で動作させることが目的の技術です。
仮想マシンのようにOSをわざわざ起動させることなく、コンテナ上で他のプロセスと完全に独立した環境で動作させることが実現されています。
詳細な情報をお望みの方は「コンテナ入門」等で検索してみてください。
Dockerが前提の話となりますが、コンテナ技術=Dockerというわけではないので、これまた興味のある方は調べてみてください。

Alibaba Cloudでのコンテナサービス

本記事は2019年3月時点ものであることにご注意ください。

Alibaba Cloud上でPaaS的なWebサービス等を行おうとした場合、これを使用することが選択肢に入ってくるかと思います。

ポータルを見ると、名前そのままの Container Service が存在します。
その中で Container Service Kubernetes と Container Service Swarm が選択できます。
ContainerService Portal
要はオーケストレーションをKubernetesとSwarmのどちらで行うかという選択です。デフォルトではKubernetesの方が選択されています。
現在ではKubernetesがデファクトスタンダードとなっていますので、本記事でもKubernetes側での解説を行います。

Container Service Kubernetesの環境作成

まずはポータル上でクラスターを作成します。
ContainerService Portal
必要な情報を設定していきます。

  • クラスター名
    識別用のクラスター名を設定します。英数字及び-(ハイフン)と 漢字 が使えます。ひらがな・カタカナ・全角英字等はNGです。
  • リージョン
    作成するリージョンを選択します。日本国内で試すのでアジア東北1(東京)を選択しました。
  • ゾーン
    ゾーンとはリージョン内の物理的な場所を指すので、こだわりが無ければ適当に選択します。
  • VPC
    新規に自動作成するか作成済みのVPCを利用するかの選択です。今回は自動作成を選択します。
  • ノードタイプ
    この場合は選択の余地なく従量課金です。

MASTER構成

  • インスタンスタイプ
    KubernetesのMasterのインスタンスタイプを選択します。必要なECSのインスタンスタイプを選択してください。
    今回はテスト用である為、この中で一番費用の安い一般共有タイプ(n4)の ecs.n4.large を選択しました。
  • 数量
    Masterの数量は3台固定です。
  • システムディスク
    通常のUltraクラウドディスクか、性能の良いSSDクラウドディスクかを選択します。
    また、容量も指定します。
  • ワーカーインスタンス
    VPCを自動作成する場合は必ず作成となります。

WORKER構成

  • インスタンスタイプ・数量・システムディスク
    Master側と同じです。必要に合わせて設定してください。
    テストの為、ecs.n4.large 1台としました。
  • データディスクの接続
    別途データ用のディスクをマウントすることができます。
    今回は不要なのでチェックを外したままとします。
  • Docker バージョン, Kubernetes バージョン
    それぞれのバージョンが表示されます。
  • ログイン
    ログインモードを指定します。SSHにキーペアを使用するか、パスワードを使用するかを選択します。
    テスト用なのでパスワードを選択してログインパスワードを設定します。
  • SNAT設定
    SNATの設定の有無を選択します。
    VPCの自動作成を選択した場合は自動でオンになります。
  • パブリックSLB
    これをチェックしない場合、パブリックネットワークからクラスターのAPIにアクセスできなくなります。
  • SSHログイン
    パブリックSLBを有効にすると、SSHログインを有効にするかどうかの選択が可能です。
  • 監視プラグイン
    これをオンにするとCloudMonitorで監視が可能になります。
  • Log Service
    これをオンにするとLog Serviceに接続します。クラスター監査機能が利用可能になります。
  • ネットワークプラグイン
    FlannelとTerwayのネットワークプラグインが選択できます。

クラスターの作成

これで必要項目を設定して作成ボタンを押せば作成されるのですが、新規にアカウントを作ったばかりだと権限不足で作成されません。
Container Service KubernetesはAlibaba Cloud他のサービスも利用しているため、それらのサービスが有効になっていないと作ることができません。
以下のサービスを有効にしてください。

  • Auto-Scaling
  • Resource Orchestration Service
  • Resource Access Management

ポータルのプロダクトとサービスから各サービスを選択すると、機能を有効にする画面が表示されますので、使用許諾を読んで有効にしてください。

設定と権限にすべて問題ない場合は以下のように表示されます。
途中省略していますが、作成されるプロダクトと料金等が表示されます。

ステータスがすべて成功になり、OKを押すとクラスターが作成されます。
クラスターの作成中の画面が表示され、しばらくするとクラスターが作成されます。

次回は作成されたクラスター上でコンテナを動作させてみます。