Mix Leap Study#53 Kubernetesで課題解決(中継開催)
参加メモ
kubernetes = k8s
「ヤフーのナビゲーション系のバックエンドサービスの課題をk8sで解決した話」
高木 克彰 @tkgtransit(ヤフー株式会社)
ヤフーのナビゲーション機能
抱えていた課題
手動etc..
kubernetesで自動化
API層とengine層で構成
データ入稿したらk8sのCronを実行 → 作業負荷軽減
Q&A
Q:つかっているのはGKE?
A:ヤフーのプライベードクラウド上でGKEを動かしている
Q:デプロイツールは?
A:ヤフー内製のCI/CDツール
スクリュードライバーをカスタマイズして利用
https://screwdriver.cd/
「プライベートクラウド刷新中に感じているk8sエコシステムの良さみ」
鶴田 貴大(サイボウズ株式会社)
@dulltz
資料: https://speakerdeck.com/dulltz/puraibetokuraudofalsesabisuyun-yong-huan-jing-wok8sdegai-shan-suruhua
インフラ
自社製のプライベートクラウドを利用
→ がたがきている
→ 2018年から刷新プロジェクト発足
刷新プロジェクトの目的
--運用コストの低減
--自作すぎるのは問題
なぜK8sを選んだ?
--周辺環境が整いつつある
--流行っていた
k8sにしてよかったこと
-OSアップグレード
--旧基盤
Ubuntuアップグレード14.04から16.06へ手作業
リリースノートを隅から隅まで読み込んだ(2年くらいかかった)
→ 甚大な作業コスト
--新基盤
3つのコマンドで済む
-サービスデプロイ
--旧基盤
-宣言的オペレーションが書けない
→説明ファイルが長くなる
--新基盤
-K8sのYAML適用
→宣言的オペレーションが書けるようになった
--CI/CD GitOps
--マルチテナンシー周辺
どのチームからでもデプロイできるように
--テナントの権限付与
RBAC、Admission Controller
-開発環境
--旧基盤
本番と同型のクラスタを共同利用
--新基盤
K8s
minikube
micro
GKE
新基盤はKindで
本番環境と同等の環境を用意できるようになった
Kind環境 ローカルで動く
サービス公開+証明書発行を自動化
Contor
多機能踏み台サーバ
Teleport
k8sへのアクセス管理
GitHubを使ったSSOで権限制御
ターミナルへの入出力を記録
運用コストは下がった?
楽になった
OS upgrade
サービスデプロイ
開発環境
既存のサービスを組み合わせることで、所望の環境を作ることができる
Q&A
Q:コンテナサイズは?OSがAlpineでない理由は
A:サイズはまちまち。ホストのOSをContainer Linuxにしたから
Q: DBなどをkind上で提供しているか?
A: まだ。もうすぐ
「PFNにおける二種類のKubernetesクラスタ」
太田 佳敬 @ota42y(Preferred Networks)
資料:https://speakerdeck.com/ota42y/pfnniaru2tufalsekubernetes
PFN社:機械学習がメイン - マシンリソースがたくさんあることが競争力
自社GPUクラスタの制御をk8sでやっている
EKSクラスタを利用(AWSのk8sサービス)
Network Policies
PodやNamespace単位で通信を制御できる標準機能
kubernetesはデフォルトで相互通信可能
→ 相互通信制御したい
どうする?:Calico
ネットワークやセキュリティポリシーを実現するソフトウェア
NACOSもつかえるらしい
https://nacos.io/en-us/docs/what-is-nacos.html
AWSの世界とのつなぎ部分はまだむずかしい
Q&A
Q:クラスタを分けずにマルチテナント運用する理由は?
A:クライアントの要求に合わせて柔軟に対応するため
「k8sで画像プラットフォームを運用したお話」
山田 拓也(ヤフー株式会社)
社内のマネージドk8sを利用した経験談
レガシー環境から移行
Podとコンテナの配置をどうしたらいい?
ひとつのPodに機能を集約させすぎた
YAMLが肥大化
教訓
・各コンテナはシンプルに
・Podはk8sの最小デプロイ単位
・協調して稼働する必要のあるものについては、ひとつのPodにまとめる
監視について
Prometheus
学習コストは高いが、細やかにメトリクスをとれるのでそれなりに見返りも大きい
あとからの追求がかのう
独自ツールでの失敗
yamlを自動生成するシェルスクリプトを書いた
→担当者がいないとデプロイできない
kustomize、helmを利用しよう
まとめ
k8sはオンプレやVMよりも精神的に楽
「k8s初心者がgRPCとenvoyを導入したらいろいろ大変だったおはなし」
信原 有志(ヤフー株式会社)
gRPCを利用
httpで構成したシステムよりも高速:最速20ms
サービスメッシュ:envoy利用
envoy:https://dev.classmethod.jp/server-side/envoy-proxy-getting-started/
envoyのgrpcコネクションは自動更新されない
ヘルスチェックを導入して独自に死活監視
以上