Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Activities about Kubernetes operation improvements as an SRE

Drumato
December 16, 2022

Activities about Kubernetes operation improvements as an SRE

社内のKubernetesクラスタ運用状況を調査し、それを改善する取り組みについて発表しました。

- Kubernetesクラスタ基盤の開発
- Kubernetes運用知見の集約と、関心向上文化の導入

さくらのテックランチ vol.1 ~cloud-initとk8sのフィオレンティーナ~
https://sakura-tokyo.connpass.com/event/266667/
アーカイブ: https://youtu.be/WaKq_xz6iq4

Drumato

December 16, 2022
Tweet

More Decks by Drumato

Other Decks in Technology

Transcript

  1. © SAKURA internet Inc.
    社内のKubernetes運⽤状況の
    改善活動について
    クラウド事業本部 SRE室 菅原⼤和

    View Slide

  2. © SAKURA internet Inc.
    ⾃⼰紹介#プロフィール
    • ⽒名: 菅原 ⼤和
    • ハンドル: Drumato
    • Drum + (Yam)ato = Drumato
    • 2022年 新卒⼊社
    • 興味分野
    • Kubernetes
    • SRE
    • SDN
    • その他新しくて⾯⽩いこと全般

    View Slide

  3. © SAKURA internet Inc.
    ⾃⼰紹介#経歴
    期間 所属
    2019/04-2020/01 GMOペパボ株式会社
    プラットフォーム事業部 学⽣アルバイト
    2019/04-2020/03 SecHack365 2019 Trainee
    2020/04-2021/04 Cybozu Labs Youth 第10期⽣
    2021/04-2022/03 LINE株式会社
    Verda室 ネットワーク開発チーム アルバイト
    2022/04- さくらインターネット株式会社
    クラウド事業本部 SRE室 2022年新卒

    View Slide

  4. © SAKURA internet Inc.
    本⽇のお話

    View Slide

  5. © SAKURA internet Inc.
    • SRE室とは
    • 現在の体制
    • SRE室のミッション/ビジョン/バリュー
    • 社内のKubernetes運⽤状況
    • 本プロジェクトの⽬的
    • 活動1: SAKURA Kubernetes Cluster Platformの開発
    • 仕組み
    • 運⽤上の⼯夫点
    • 活動2: SAKURA Kubernetes Operators Groupの発⾜
    • 今後の展望
    本⽇のお話

    View Slide

  6. © SAKURA internet Inc.
    本⽇のお話

    View Slide

  7. © SAKURA internet Inc.
    SRE室とは

    View Slide

  8. © SAKURA internet Inc.
    SRE室とは
    • 2022/07に設⽴された、⽐較的新しい部署

    View Slide

  9. © SAKURA internet Inc.
    SRE室とは
    • 2022/07に設⽴された、⽐較的新しい部署
    ミッション
    •クラウドサービス
    の信頼性を⾼め、
    お客様/社会に貢献
    する
    ビジョン
    •社内にSRE⽂化とそ
    の実践を広め、お
    客様に価値提供す

    バリュー
    •決めごとを作るの
    ではなく、⼀緒に”
    ⼿を動かす”
    •開発・運⽤チームと
    綿密にコミュニ
    ケーションをとる
    •You built it, you
    run it

    View Slide

  10. © SAKURA internet Inc.
    SRE室とは
    • 基本的には、Google SREのパターンをリスペクトしている
    • 各プロダクトチームと密に連携し、運⽤改善を横断的に⽀援
    • SRE室謹製のツール/基盤を利⽤してもらえるように
    • 監視ネイティブな⽂化を広めるための活動

    View Slide

  11. © SAKURA internet Inc.
    SRE室とは
    • 基本的には、Google SREのパターンをリスペクトしている
    • 各プロダクトチームと密に連携し、運⽤改善を横断的に⽀援
    • SRE室謹製のツール/基盤を利⽤してもらえるように
    • 監視ネイティブな⽂化を広めるための活動
    • Center of Practiceとしての側⾯も意識
    • 各プロダクトチームに運⽤のハンドルは握ってほしい
    • その上で、ツール/基盤の仕組みを使ってほしい

    View Slide

  12. © SAKURA internet Inc.
    SRE室とは
    • 基本的には、Google SREのパターンをリスペクトしている
    • 各プロダクトチームと密に連携し、運⽤改善を横断的に⽀援
    • SRE室謹製のツール/基盤を利⽤してもらえるように
    • 監視ネイティブな⽂化を広めるための活動
    • Center of Practiceとしての側⾯も意識
    • 各プロダクトチームに運⽤のハンドルは握ってほしい
    • その上で、ツール/基盤の仕組みを使ってほしい
    • 現在は上記の世界観を⽬指し、少しずつ連携を強めている段階

    View Slide

  13. © SAKURA internet Inc.
    SRE室とは
    • 基本的には、Google SREのパターンをリスペクトしている
    • 各プロダクトチームと密に連携し、運⽤改善を横断的に⽀援
    • SRE室謹製のツール/基盤を利⽤してもらえるように
    • 監視ネイティブな⽂化を広めるための活動
    • Center of Practiceとしての側⾯も意識
    • 各プロダクトチームに運⽤のハンドルは握ってほしい
    • その上で、ツール/基盤の仕組みを使ってほしい
    • 現在は上記の世界観を⽬指し、少しずつ連携を強めている段階
    • クラウドサービスに対する機能追加も実施
    1. クラウドDNSに対する⽔責め攻撃の対策実施
    2. オートスケール機能の提供

    View Slide

  14. © SAKURA internet Inc.
    さくらとKubernetes

    View Slide

  15. © SAKURA internet Inc.
    さくらとKubernetes
    • 社内のKubernetes運⽤を改善するべく、現状を調査

    View Slide

  16. © SAKURA internet Inc.
    さくらとKubernetes
    • 社内のKubernetes運⽤を改善するべく、現状を調査
    • 現状1: いくつかのチームがKubernetesを採⽤している

    View Slide

  17. © SAKURA internet Inc.
    さくらとKubernetes
    • 社内のKubernetes運⽤を改善するべく、現状を調査
    • 現状1: いくつかのチームがKubernetesを採⽤している
    • 現状2: 運⽤上深刻な課題がいくつか⾒つかった
    • 課題1: 知⾒が不⼗分で、トラシューに時間がかかる
    • 課題2: プラクティスがわからず、意思決定が⾏えない
    • 課題3: 採⽤チーム間で知⾒共有が⾏われていない

    View Slide

  18. © SAKURA internet Inc.
    さくらとKubernetes
    • 社内のKubernetes運⽤を改善するべく、現状を調査
    • 現状1: いくつかのチームがKubernetesを採⽤している
    • 現状2: 運⽤上深刻な課題がいくつか⾒つかった
    • 課題1: 知⾒が不⼗分で、トラシューに時間がかかる
    • 課題2: プラクティスがわからず、意思決定が⾏えない
    • 課題3: 採⽤チーム間で知⾒共有が⾏われていない
    • 各チームが探り探り運⽤している
    • GKEと異なりベアメタルクラスタ運⽤
    • 社内のKubernetes知⾒不⾜

    View Slide

  19. © SAKURA internet Inc.
    さくらとKubernetes
    • 社内のKubernetes運⽤を改善するべく、現状を調査
    • 現状1: いくつかのチームがKubernetesを採⽤している
    • 現状2: 運⽤上深刻な課題がいくつか⾒つかった
    • 課題1: 知⾒が不⼗分で、トラシューに時間がかかる
    • 課題2: プラクティスがわからず、意思決定が⾏えない
    • 課題3: 採⽤チーム間で知⾒共有が⾏われていない
    Kubernetes採⽤タイミングごとに、
    同様の調査(e.g., CNIプラグイン)が
    何度も⾏われている

    View Slide

  20. © SAKURA internet Inc.
    さくらとKubernetes
    • 社内のKubernetes運⽤を改善するべく、現状を調査
    • 現状1: いくつかのチームがKubernetesを採⽤している
    • 現状2: 運⽤上深刻な課題がいくつか⾒つかった
    • 課題1: 知⾒が不⼗分で、トラシューに時間がかかる
    • 課題2: プラクティスがわからず、意思決定が⾏えない
    • 課題3: 採⽤チーム間で知⾒共有が⾏われていない
    • 現状3: 採⽤したいが、技術的ハードルから断念しているチームも

    View Slide

  21. © SAKURA internet Inc.
    本プロジェクトの⽬的

    View Slide

  22. © SAKURA internet Inc.
    本プロジェクトの⽬的
    1. Kubernetesクラスタ運⽤をサポートする
    • あくまでも「サポート」であり、「代⾏」ではない
    • 特にSREネイティブな運⽤を⾏えるようにしたい

    View Slide

  23. © SAKURA internet Inc.
    本プロジェクトの⽬的
    1. Kubernetesクラスタ運⽤をサポートする
    • あくまでも「サポート」であり、「代⾏」ではない
    • 特にSREネイティブな運⽤を⾏えるようにしたい
    2. 社内のKubernetesに関する運⽤知⾒の集約
    • 情報共有を⾏う場(ドキュメント/コミュニケーション)の整備

    View Slide

  24. © SAKURA internet Inc.
    本プロジェクトの⽬的
    1. Kubernetesクラスタ運⽤をサポートする
    • あくまでも「サポート」であり、「代⾏」ではない
    • 特にSREネイティブな運⽤を⾏えるようにしたい
    2. 社内のKubernetesに関する運⽤知⾒の集約
    • 情報共有を⾏う場(ドキュメント/コミュニケーション)の整備
    3. 社内のKubernetes関⼼向上
    • 技術選定の上でKubernetesが採⽤されない、ということはままある
    • とはいえ、選択肢となるレベルには、社内に浸透してほしい

    View Slide

  25. © SAKURA internet Inc.
    活動1
    SAKURA Kubernetes Cluster Platform

    View Slide

  26. © SAKURA internet Inc.
    社内Kubernetes基盤#概要
    • 先述した⽬的を実現するために開発
    • プロダクトチームにとってのKubernetesクラスタ運⽤コストを低減
    • プロダクトチーム間の認識を⾼める
    • お互いに運⽤状況が把握しあえるような状況になっていること
    • それらがプラクティカルに、システムで管理されていること

    View Slide

  27. © SAKURA internet Inc.
    社内Kubernetes基盤#概要
    • 先述した⽬的を実現するために開発
    • プロダクトチームにとってのKubernetesクラスタ運⽤コストを低減
    • プロダクトチーム間の認識を⾼める
    • お互いに運⽤状況が把握しあえるような状況になっていること
    • それらがプラクティカルに、システムで管理されていること
    • プロジェクトメンバーは2⼈
    • 私: プロジェクト進⾏、検討、設計、実装、テスト、導⼊、運⽤
    • 稲垣さん(@hum_op_dev): 技術的相談、ユーザ視点のフィードバック

    View Slide

  28. © SAKURA internet Inc.
    社内Kubernetes基盤#概要
    • 先述した⽬的を実現するために開発
    • プロダクトチームにとってのKubernetesクラスタ運⽤コストを低減
    • プロダクトチーム間の認識を⾼める
    • お互いに運⽤状況が把握しあえるような状況になっていること
    • それらがプラクティカルに、システムで管理されていること
    • プロジェクトメンバーは2⼈
    • 私: プロジェクト進⾏、検討、設計、実装、テスト、導⼊、運⽤
    • 稲垣さん(@hum_op_dev): 技術的相談、ユーザ視点のフィードバック
    • 現在いくつかのユーザに使っていただいている

    View Slide

  29. © SAKURA internet Inc.
    社内Kubernetes基盤#概要
    • 先述した⽬的を実現するために開発
    • プロダクトチームにとってのKubernetesクラスタ運⽤コストを低減
    • プロダクトチーム間の認識を⾼める
    • お互いに運⽤状況が把握しあえるような状況になっていること
    • それらがプラクティカルに、システムで管理されていること
    • プロジェクトメンバーは2⼈
    • 私: プロジェクト進⾏、検討、設計、実装、テスト、導⼊、運⽤
    • 稲垣さん(@hum_op_dev): 技術的相談、ユーザ視点のフィードバック
    • 現在いくつかのユーザに使っていただいている
    • 基盤運⽤者は私⼀⼈
    • 属⼈化を極⼒排除し、スケールする運⽤を⼼がけている
    • いつでもチームメンバーが増えることを想定している

    View Slide

  30. © SAKURA internet Inc.
    社内Kubernetes基盤#機能
    • クラスタマニフェストのデプロイで、⾃動的にクラスタが作成

    View Slide

  31. © SAKURA internet Inc.
    社内Kubernetes基盤#機能
    • クラスタマニフェストのデプロイで、⾃動的にクラスタが作成
    • ユーザはクラスタの⽀配権を持つ
    • ノードにSSH接続し、運⽤開始できる

    View Slide

  32. © SAKURA internet Inc.
    社内Kubernetes基盤#機能
    • クラスタマニフェストのデプロイで、⾃動的にクラスタが作成
    • ユーザはクラスタの⽀配権を持つ
    • ノードにSSH接続し、運⽤開始できる
    • kube-vipを採⽤している
    • ARPモードで動作し、マスターノードのフェイルオーバが効く
    • Service Type LoadBalancerもデフォルトで対応

    View Slide

  33. © SAKURA internet Inc.
    社内Kubernetes基盤#機能
    • クラスタマニフェストのデプロイで、⾃動的にクラスタが作成
    • ユーザはクラスタの⽀配権を持つ
    • ノードにSSH接続し、運⽤開始できる
    • kube-vipを採⽤している
    • ARPモードで動作し、マスターノードのフェイルオーバが効く
    • Service Type LoadBalancerもデフォルトで対応
    • ArgoCDでクラスタ状態を確認できる

    View Slide

  34. © SAKURA internet Inc.
    社内Kubernetes基盤#機能
    • クラスタマニフェストのデプロイで、⾃動的にクラスタが作成
    • ユーザはクラスタの⽀配権を持つ
    • ノードにSSH接続し、運⽤開始できる
    • kube-vipを採⽤している
    • ARPモードで動作し、マスターノードのフェイルオーバが効く
    • Service Type LoadBalancerもデフォルトで対応
    • ArgoCDでクラスタ状態を確認できる
    • スケールアウトに対応している
    • .spec.replicasを上げると、マスター/ワーカーノードを増やせる

    View Slide

  35. © SAKURA internet Inc.
    社内Kubernetes基盤#機能
    • クラスタマニフェストのデプロイで、⾃動的にクラスタが作成
    • ユーザはクラスタの⽀配権を持つ
    • ノードにSSH接続し、運⽤開始できる
    • kube-vipを採⽤している
    • ARPモードで動作し、マスターノードのフェイルオーバが効く
    • Service Type LoadBalancerもデフォルトで対応
    • ArgoCDでクラスタ状態を確認できる
    • スケールアウトに対応している
    • .spec.replicasを上げると、マスター/ワーカーノードを増やせる
    • クラスタのAPI監視をデフォルトで提供(後述)

    View Slide

  36. © SAKURA internet Inc.
    社内Kubernetes基盤#仕組み
    さくらのクラウド
    クラスタ作成者
    Management Cluster
    Workload Cluster
    1. 作成申請
    K8s CC
    Worker-1 Worker-W
    … Master-1 Master-M

    M = マスターノード数
    W = ワーカーノード数
    3. クラウドAPI
    の呼び出し
    https://github.com/argoproj/argo-cd/blob/master/docs/assets/argo.png
    https://github.com/logos
    Watch
    2. Auto Sync
    K8s Objects
    4. SSH接続
    運⽤開始

    View Slide

  37. © SAKURA internet Inc.
    社内Kubernetes基盤#仕組み
    さくらのクラウド
    クラスタ作成者
    Management Cluster
    Workload Cluster
    1. 作成申請
    K8s CC
    Worker-1 Worker-W
    … Master-1 Master-M

    M = マスターノード数
    W = ワーカーノード数
    3. クラウドAPI
    の呼び出し
    https://github.com/argoproj/argo-cd/blob/master/docs/assets/argo.png
    https://github.com/logos
    Watch
    2. Auto Sync
    K8s Objects
    4. SSH接続
    運⽤開始
    ユーザはWeb UIを通じて
    クラスタ定義マニフェストを作成し
    GHEリポジトリにプッシュ
    基盤運⽤者のレビューが⼊った後、
    マージされる

    View Slide

  38. © SAKURA internet Inc.
    社内Kubernetes基盤#仕組み
    さくらのクラウド
    クラスタ作成者
    Management Cluster
    Workload Cluster
    1. 作成申請
    K8s CC
    Worker-1 Worker-W
    … Master-1 Master-M

    M = マスターノード数
    W = ワーカーノード数
    3. クラウドAPI
    の呼び出し
    https://github.com/argoproj/argo-cd/blob/master/docs/assets/argo.png
    https://github.com/logos
    Watch
    2. Auto Sync
    K8s Objects
    4. SSH接続
    運⽤開始
    ArgoCD Applicationも同様にGit管理されており、
    基盤運⽤者によって新規クラスタ⽤のAppが作成される

    View Slide

  39. © SAKURA internet Inc.
    社内Kubernetes基盤#仕組み
    さくらのクラウド
    クラスタ作成者
    Management Cluster
    Workload Cluster
    1. 作成申請
    K8s CC
    Worker-1 Worker-W
    … Master-1 Master-M

    M = マスターノード数
    W = ワーカーノード数
    3. クラウドAPI
    の呼び出し
    https://github.com/argoproj/argo-cd/blob/master/docs/assets/argo.png
    https://github.com/logos
    Watch
    2. Auto Sync
    K8s Objects
    4. SSH接続
    運⽤開始
    Cluster APIとさくらのクラウド⽤プロバイダが動作し、
    さくらのクラウド サーバやスイッチを作成
    Cluster APIの仕組みによりuserdataが提供されるので、
    kubeadm init/joinが実⾏されてクラスタが⽴ち上がる

    View Slide

  40. © SAKURA internet Inc.
    社内Kubernetes基盤#仕組み
    さくらのクラウド
    クラスタ作成者
    Management Cluster
    Workload Cluster
    1. 作成申請
    K8s CC
    Worker-1 Worker-W
    … Master-1 Master-M

    M = マスターノード数
    W = ワーカーノード数
    3. クラウドAPI
    の呼び出し
    https://github.com/argoproj/argo-cd/blob/master/docs/assets/argo.png
    https://github.com/logos
    Watch
    2. Auto Sync
    K8s Objects
    4. SSH接続
    運⽤開始
    コントローラ側でuserdataを編集し、
    クラスタ作成者がSSHできるように設定
    Kubectl等を利⽤してすぐに運⽤できるように

    View Slide

  41. © SAKURA internet Inc.
    社内Kubernetes基盤#運⽤
    • Management ClusterではPrometheus Operatorを採⽤
    • node_exporterやkube-state-metricsをすぐに利⽤できる
    • PrometheusRuleリソースを定義して、アラートルールをGitで管理
    • 後々、slothを使ったPrometheusRuleの⾃動⽣成まで持っていきたい

    View Slide

  42. © SAKURA internet Inc.
    社内Kubernetes基盤#運⽤
    • Management ClusterではPrometheus Operatorを採⽤
    • node_exporterやkube-state-metricsをすぐに利⽤できる
    • PrometheusRuleリソースを定義して、アラートルールをGitで管理
    • 後々、slothを使ったPrometheusRuleの⾃動⽣成まで持っていきたい
    • ArgoCDの初期パスワードは、⾃動的に再設定される
    • Adminパスワードを使っているユーザがいないようにする

    View Slide

  43. © SAKURA internet Inc.
    社内Kubernetes基盤#運⽤
    • Management ClusterではPrometheus Operatorを採⽤
    • node_exporterやkube-state-metricsをすぐに利⽤できる
    • PrometheusRuleリソースを定義して、アラートルールをGitで管理
    • 後々、slothを使ったPrometheusRuleの⾃動⽣成まで持っていきたい
    • ArgoCDの初期パスワードは、⾃動的に再設定される
    • Adminパスワードを使っているユーザがいないようにする
    • クラウドAPI⽤トークンは、SealedSecretでセキュアに管理

    View Slide

  44. © SAKURA internet Inc.
    社内Kubernetes基盤#運⽤
    • Management ClusterではPrometheus Operatorを採⽤
    • node_exporterやkube-state-metricsをすぐに利⽤できる
    • PrometheusRuleリソースを定義して、アラートルールをGitで管理
    • 後々、slothを使ったPrometheusRuleの⾃動⽣成まで持っていきたい
    • ArgoCDの初期パスワードは、⾃動的に再設定される
    • Adminパスワードを使っているユーザがいないようにする
    • クラウドAPI⽤トークンは、SealedSecretでセキュアに管理
    • ArgoCD CRDを使ってポリシー管理を実現

    View Slide

  45. © SAKURA internet Inc.
    社内Kubernetes基盤#API監視
    Management Cluster Workload Cluster
    K8s CC
    Checker
    https://github.com/prometheus/prometheus/blob/main/documentation/images/prometheus-logo.svg
    © Prometheus Authors 2014-2022 | Documentation Distributed under CC-BY-4.0
    K8s Objects
    APIHealthCheck
    Object
    kube-
    apiserver
    GET /readyz?verbose=true
    起動
    Export
    参照&更新

    View Slide

  46. © SAKURA internet Inc.
    社内Kubernetes基盤#API監視
    Management Cluster Workload Cluster
    K8s CC
    Checker
    https://github.com/prometheus/prometheus/blob/main/documentation/images/prometheus-logo.svg
    © Prometheus Authors 2014-2022 | Documentation Distributed under CC-BY-4.0
    K8s Objects
    APIHealthCheck
    Object
    kube-
    apiserver
    GET /readyz?verbose=true
    起動
    Export
    参照&更新
    監視対象のクラスタに対応した、
    APIHealthCheckリソースを作成しておく

    View Slide

  47. © SAKURA internet Inc.
    社内Kubernetes基盤#API監視
    Management Cluster Workload Cluster
    K8s CC
    Checker
    https://github.com/prometheus/prometheus/blob/main/documentation/images/prometheus-logo.svg
    © Prometheus Authors 2014-2022 | Documentation Distributed under CC-BY-4.0
    K8s Objects
    APIHealthCheck
    Object
    kube-
    apiserver
    GET /readyz?verbose=true
    起動
    Export
    参照&更新
    独⾃コントローラがCheckerコンテナを作成

    View Slide

  48. © SAKURA internet Inc.
    社内Kubernetes基盤#API監視
    Management Cluster Workload Cluster
    K8s CC
    Checker
    https://github.com/prometheus/prometheus/blob/main/documentation/images/prometheus-logo.svg
    © Prometheus Authors 2014-2022 | Documentation Distributed under CC-BY-4.0
    K8s Objects
    APIHealthCheck
    Object
    kube-
    apiserver
    GET /readyz?verbose=true
    起動
    Export
    参照&更新
    Checkerはreadyzエンドポイントにリクエストを送り、
    結果をリソースに書き込む

    View Slide

  49. © SAKURA internet Inc.
    社内Kubernetes基盤#API監視
    Management Cluster Workload Cluster
    K8s CC
    Checker
    https://github.com/prometheus/prometheus/blob/main/documentation/images/prometheus-logo.svg
    © Prometheus Authors 2014-2022 | Documentation Distributed under CC-BY-4.0
    K8s Objects
    APIHealthCheck
    Object
    kube-
    apiserver
    GET /readyz?verbose=true
    起動
    Export
    参照&更新
    Kubebuilder/controller-runtimeにより標準提供される、
    カスタムメトリクス公開機能でPrometheusから取得

    View Slide

  50. © SAKURA internet Inc.
    社内Kubernetes基盤#API監視
    • 試験的に、サクッと作ってみた機能ではある

    View Slide

  51. © SAKURA internet Inc.
    社内Kubernetes基盤#API監視
    • 試験的に、サクッと作ってみた機能ではある
    • ユーザクラスタでPrometheus Operator⼊れれば不要…?
    • ⼀⽅で、必須でほしい監視を実装しておくのは⼤事か
    • ユーザ側の作業を必要とせず、基盤としてほしい機能を⽤意しておくのは悪くない

    View Slide

  52. © SAKURA internet Inc.
    社内Kubernetes基盤#API監視
    • 試験的に、サクッと作ってみた機能ではある
    • ユーザクラスタでPrometheus Operator⼊れれば不要…?
    • ⼀⽅で、必須でほしい監視を実装しておくのは⼤事か
    • ユーザ側の作業を必要とせず、基盤としてほしい機能を⽤意しておくのは悪くない
    • 基盤としてはPrometheus Federationをサポートする予定
    • ユーザがPrometheusメトリクスの⻑期保存問題を考えなくてよい

    View Slide

  53. © SAKURA internet Inc.
    社内Kubernetes基盤#今後の展望
    • グローバルに疎通性を持つユーザクラスタのサポート
    • 現状、社内ネットワークに接続したクラスタのみサポート
    • ユースケース的に、インターネットからアクセスできるものもほしい

    View Slide

  54. © SAKURA internet Inc.
    社内Kubernetes基盤#今後の展望
    • グローバルに疎通性を持つユーザクラスタのサポート
    • 現状、社内ネットワークに接続したクラスタのみサポート
    • ユースケース的に、インターネットからアクセスできるものもほしい
    • Veleroを採⽤した、クラスタのバックアップ機能の検討

    View Slide

  55. © SAKURA internet Inc.
    社内Kubernetes基盤#今後の展望
    • グローバルに疎通性を持つユーザクラスタのサポート
    • 現状、社内ネットワークに接続したクラスタのみサポート
    • ユースケース的に、インターネットからアクセスできるものもほしい
    • Veleroを採⽤した、クラスタのバックアップ機能の検討
    • クラスタ基盤としてのSLI計測を考える
    • 何をSLOとすべきか?
    • sloth等の宣⾔的なSLO定義を実現

    View Slide

  56. © SAKURA internet Inc.
    社内Kubernetes基盤#今後の展望
    • グローバルに疎通性を持つユーザクラスタのサポート
    • 現状、社内ネットワークに接続したクラスタのみサポート
    • ユースケース的に、インターネットからアクセスできるものもほしい
    • Veleroを採⽤した、クラスタのバックアップ機能の検討
    • クラスタ基盤としてのSLI計測を考える
    • 何をSLOとすべきか?
    • sloth等の宣⾔的なSLO定義を実現
    • Kubernetes採⽤のハードルが低くなるような導⼊活動
    • クラスタ構築の代⾏ではなく、⽀援

    View Slide

  57. © SAKURA internet Inc.
    活動2
    SAKURA Kubernetes Operators Group

    View Slide

  58. © SAKURA internet Inc.
    SAKURA-KOG#概要
    • 先述した⽬的を実現するために設⽴
    • Kubernetesに関する運⽤知⾒の共有場
    • プロダクトチームが運⽤上抱える悩みを相談する場所として
    • Kubernetesに対する関⼼向上を⾒込める場として

    View Slide

  59. © SAKURA internet Inc.
    SAKURA-KOG#概要
    • 先述した⽬的を実現するために設⽴
    • Kubernetesに関する運⽤知⾒の共有場
    • プロダクトチームが運⽤上抱える悩みを相談する場所として
    • Kubernetesに対する関⼼向上を⾒込める場として
    • 発想: SREとして、仕組みだけでなく⽂化から改善したい
    • K8sに限らず、プロダクトチーム間で情報共有が少ないと感じる

    View Slide

  60. © SAKURA internet Inc.
    SAKURA-KOG#概要
    • 先述した⽬的を実現するために設⽴
    • Kubernetesに関する運⽤知⾒の共有場
    • プロダクトチームが運⽤上抱える悩みを相談する場所として
    • Kubernetesに対する関⼼向上を⾒込める場として
    • 発想: SREとして、仕組みだけでなく⽂化から改善したい
    • K8sに限らず、プロダクトチーム間で情報共有が少ないと感じる

    View Slide

  61. © SAKURA internet Inc.
    SAKURA-KOG#概要
    • 先述した⽬的を実現するために設⽴
    • Kubernetesに関する運⽤知⾒の共有場
    • プロダクトチームが運⽤上抱える悩みを相談する場所として
    • Kubernetesに対する関⼼向上を⾒込める場として
    • 発想: SREとして、仕組みだけでなく⽂化から改善したい
    • K8sに限らず、プロダクトチーム間で情報共有が少ないと感じる
    • 実際に業務で運⽤していなくても参加できる
    • さくらインターネット社内全体にKubernetesの話題が⽣まれるのを期待

    View Slide

  62. © SAKURA internet Inc.
    SAKURA-KOG#活動
    • Kubernetesの情報を社内ドキュメントに蓄積
    • Kubernetesコミュニティの最新情報をキャッチアップして共有
    • Official BlogやRelease Noteのレポート
    • その他、トピックを持ち寄って
    • 定期的にチームの運⽤状況を共有しあうところまでが理想

    View Slide

  63. © SAKURA internet Inc.
    おわりに

    View Slide

  64. © SAKURA internet Inc.
    おわりに
    • SRE室はシステム運⽤の現状を調査し、改善に取り組んでいます
    • 運⽤効率化・安定化に加えて、⽂化の改善までを⽬指しています
    • Kubernetes運⽤には多くのペインがつきまとう
    • プロダクトチームそれぞれが独⾃にクラスタ管理
    • 特にKubernetesの世界は進化が早い
    • 迅速なキャッチアップと効率化への継続的な取り組みが必要不可⽋

    View Slide

  65. © SAKURA internet Inc.
    参考資料

    View Slide

  66. © SAKURA internet Inc.
    • 社内のKubernetesクラスタ運⽤を効率化する基盤について
    • プロジェクトの経緯や進め⽅について詳しく書かれたブログ
    • The Cluster API Book
    • Cluster APIのプロバイダ実装に関連した仕様が勉強できる
    • https://github.com/kubernetes-sigs/cluster-api
    • なんだかんだCluster APIとの連携上、コード読んだほうが早い
    参考資料

    View Slide