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

ウォンテッドリーにおけるk8sマニフェストの管理方法

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Ken Kato Ken Kato
November 20, 2024
310

 ウォンテッドリーにおけるk8sマニフェストの管理方法

Avatar for Ken Kato

Ken Kato

November 20, 2024
Tweet

Transcript

  1. © 2024 Wantedly, Inc. monorepo • メリット ◦ フォーマットを統一しやすい ◦

    一括変更がしやすい • デメリット ◦ アクセス制御が複雑
  2. © 2024 Wantedly, Inc. polyrepo • メリット ◦ 柔軟なアクセス制御 •

    デメリット ◦ フォーマットを統一しにくい ◦ 一括変更がしにくい
  3. © 2024 Wantedly, Inc. How • アプリケーションコードと同じレポジトリでk8sマニフェストを管理する • kubernetesというディレクトリを切って、環境毎にk8sマニフェストを置く People

    Visit Engagement ├── app ├── bin ├── config └── kubernetes ├── prod ├── qa └── sandbox ├── app ├── bin ├── config └── kubernetes ├── prod ├── qa └── sandbox ├── app ├── bin ├── config └── kubernetes ├── prod ├── qa └── sandbox
  4. © 2024 Wantedly, Inc. 対策① テンプレート化する • kube generateコマンドという独自CLIツールを作成し、k8sマニフェストを自動生 成できるようにした

    • 自動生成されていないk8sマニフェストは基本的にCIではじかれる % cat kube-generate.yaml generates: - namespace: clusters: - sandbox % kube generate --update Generate manifests by using kube-generate.yaml kubernetes/sandbox/namespace.yaml
  5. © 2024 Wantedly, Inc. polyrepoにしていたことでセルフサービス化が進んだのか • polyrepoがよかった点 ◦ k8sマニフェストが開発チームの管轄になる ◦

    開発チーム内でレビューが完結する • polyrepo以外でよかった点 ◦ k8sマニフェストを自動生成できるようになり、開発者の学習コストが減った 開発者が扱いやすいような工夫をすれば、管理方法に関わらずセルフサービス化を推 進することは可能
  6. © 2024 Wantedly, Inc. まとめ • ウォンテッドリーではセルフサービス化を推進するために、polyrepoを採用してい る • 運用面で課題があり、独自の仕組みを整えている

    ◦ テンプレート化 ◦ 一括変更 • 開発者が扱いやすいように工夫をしたことで、セルフサービス化が進んだ