先日、【2018年12月】Cloud Native時代のコンテナ基盤構築ハンズオン18.12 ~ Kubernetes・Rancher on さくらのクラウド~に行ってきました。

概要

さくらインターネットさん主催の、Kubernatesを動かして覚えるハンズオン。
以前、さくらインターネットのVPSを使ったことがあるのでアカウントは持っているし馴染みもあるのですが、今回はさくらのクラウドを使ったハンズオンでした。
アカウントを貸し出してもらえるので自分のアカウントを使うことはありませんでした。

前半:座学

前半はイベントのタイトルにもなっているクラウドネイティブについての座学。

クラウドネイティブとは

https://www.cncf.io/

「CNCF」(Cloud Native Computing Foundation)が提唱している概念。 従来のオンプレからクラウドへ移行していたシステムに対して、最初からクラウド前提でデザインされたシステムのことをそう呼ぶそうです。

Cloud Native Trail Map

https://www.cncf.io/blog/2018/03/08/introducing-the-cloud-native-landscape-2-0-interactive-edition/

CNCFが推奨するプロセスとして下記10ステップをあげています。 ほとんどのステップをCNCFでカバーしている。

  1. コンテナ化
    最初の段階として、スケールしやするためコンテナ化が必要。 まずサーバーとホスト名(IPアドレス)が一意に対応づくという概念を捨てるところから始まる。

  2. CI/CD
    コードの変更をテスト、デプロイ、コンテナへ反映を自動化するCI/CDをセットアップする

  3. オーケストレーション
    Kubernetes、HELM

  4. 監視と分析
    Prometheum、fluentd、Open Tracing、JAEGER

  5. サービスプロキシ、ディスカバリ、サービスメッシュ
    envoy、CoreDNS、LINKERD

  6. ネットワーク
    CNI

  7. 分散データベースとストレージ
    Vitess、ROOK

  8. ストリーミングとメッセージング
    GRPC、NATS

  9. コンテナレジストリ
    HARBOR、ContainerD、rkt

  10. ソフトウェア配布
    Notary、TUF

ここに列挙されていますが、ものすごい数です。 Kubernates上で動くFWとして、IstioとSpinnakerがよく使われているとのこと。

後半:ハンズオン

後半は、いよいよハンズオン。Qiitaの記事を見ながら説明してもらいました。

Kubernetes・Rancherハンズオン on さくらのクラウドv18.12

Kubernetes環境構築編

CLIでKubernetes環境を構築していきます
手順に従ってCoreOSのサーバを3台立ててブリッジに接続、VPCルータ経由でアクセスします。

ハマりどころはないはずですが、VPCルータの設定を変える時に変更→反映と2回ボタンを押す必要があるのに反映ボタンを押し忘れたぐらいです。3台セットアップするのは、まあ面倒くさいです。

Rancher編

今度はRacherを使ったハンズオン。

CentOS7.5のサーバーを一台立てて、それ上でRancherを動かします
Rancherの設定は、あらかじめ用意されたスタートアップスクリプトでやってくれるので特にやることはありません。

スタートアップスクリプトの説明に使い方が書いてあります。

スタートアップスクリプトの中を覗いて見るとdockerでrancherを動かしているようです。

# Rancherサーバ起動
docker run -d --restart=unless-stopped \
              -p 80:80 \
              -p 443:443 \
              -v /host/rancher:/var/lib/rancher \
              --name rancher-server \
              rancher/rancher

セットアップが終わると、http://サーバーのアドレス/で管理画面が開けます。

ノード名のプレフィックス、ノード数、テンプレート(sakura-default-template固定)などを指定してクラスタを追加します (テンプレート本体はui-driver-sakuracloudなようです)

これだけでノード3台構成のクラスタを構築できました。

今度はアプリを追加していきます。Rancher公式のライブラリとデフォルトでは無効ですがHelmも使えるようです。

ハンズオンではWordpressを追加しました。カタログアプリからWordpressを探してセットアップしました。

これだけでKubernetes上にWordpressを構築できました。

おわりに

Rancher便利そうだけど、もうちょっとk8s自体を理解しないと。 クーポンを貰ったのもう少し動かしてみよう。

【2019年1月】Cloud Native時代のコンテナ基盤構築ハンズオン19.1 ~ Kubernetes・Rancher on さくらのクラウド~

来月も開催されるようです。