AKEの6つの特徴(2)
第3の特徴はハイパフォーマンスL4/L7 LoadBalancerである。AKEではKubernetesノードにきたトラフィックが、各Podに転送される仕組みになっている。だが、ノードスケール時や障害時にはロードバランサーを手動で操作しなければならなかった。
そこでtype LoadBalancerを採用。これにより手動でのロードバランサー制御が不要となった。「具体的に言うとtype LoadBalancerはCloud Provider Integrationで実装している」と青山氏。OpenStackではOctaviaが利用可能になっているが、「アドテクノロジー領域では性能が今一つ」なのだという。だから、ベアメタルLBと連携するなど、Cloud Provider Integrationを独自実装しているのだそうだ。
ロードバランサーのところで面倒だったのは、Ingressの部分。Ingressでルーティングをする場合、Ingress Controllerが必要になるが、GEKには本体に含まれているため、Ingressリソースを作るだけで終わりとなる。そこでオンプレでもGKEのようなIngressを実現するため、AKE Ingress Controllerを自作したと青山氏は言う。
第4の特徴は後からでも利便性の高いアドオンを追加できるようにしていることだ。例えばロギングの分野では、Elasticsearchを使っており、今後はSaaSなどにも対応予定だという。モニタリングはDatadogなども使えるようにしている。「Helmやdashboradなど、ユーザーの利便性向上につながるものをワンクリックで利用可能にしていく」と青山氏。
第5はチューニング。ネットワークチューニングであれば、iptablesやハッシュテーブルサイズ、コネクション周りのチューニングを可能にしている。「今後はCNI周りなどの検証を行い、さらに高速化したい」と青山氏は意気込む。またKubernetesのチューニングについては、マスターの設定を自由に変更できるため、HPA(Horizonal Pod Autoscaling)の間隔やその他システムへの割り当てリソースを調整できるようにしている。その他にもカーネルチューニング、ハイパーバイザーチューニングなども用意している。
第6はマルチコンテナランタイム。AKEにはDockerをはじめ、いくつかのコンテナを採用している。青山氏は「いつかはこれらをサポートしていきたい」と展望を語った。
青山氏はAKEというコンテナ基盤を自作したことについて、「考えつくことは何でも実現できる。楽しめるので最高だ」と言い切る。デメリットとしては「実装コストや運用コストがかかること。内部実装を理解していないと危険なこと」を挙げる。
だが、前述したようにエンジニアとして楽しめるのが最大の魅力。最後に青山氏は、「私たちの仲間になってチャレンジしませんか」と会場に呼びかけ、セッションを締めた。
