Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetesでの環境構築および運用フロー構築のはなし
Search
yasudatoshiyuki
November 22, 2019
Technology
0
84
Kubernetesでの環境構築および運用フロー構築のはなし
yasudatoshiyuki
November 22, 2019
Tweet
Share
More Decks by yasudatoshiyuki
See All by yasudatoshiyuki
襲来する課題の山に立ち向かう開発体制づくり
yasudatoshiyuki
0
180
エンジニア採用戦略で変わったこと、変わらないこと
yasudatoshiyuki
1
2k
エンジニアリングマネジメントでいかに事業をドライブするか?
yasudatoshiyuki
0
120
iCAREという組織にVPoEが必要になった理由とVPoEが果たす役割
yasudatoshiyuki
0
56
Rails開発者向けGraphQL入門
yasudatoshiyuki
0
37
CarelyでBuefy使ってみてどうだった?
yasudatoshiyuki
0
72
GraphQLを導入してよかったこと大変だったこと
yasudatoshiyuki
0
99
Other Decks in Technology
See All in Technology
プロダクト成長に対応するプラットフォーム戦略:Authleteによる共通認証基盤の移行事例 / Building an authentication platform using Authlete and AWS
kakehashi
1
150
ユーザーの購買行動モデリングとその分析 / dsc-purchase-analysis
cyberagentdevelopers
PRO
2
100
신뢰할 수 있는 AI 검색 엔진을 만들기 위한 Liner의 여정
huffon
0
370
マネジメント視点でのre:Invent参加 ~もしCEOがre:Inventに行ったら~
kojiasai
0
470
「視座」の上げ方が成人発達理論にわかりやすくまとまってた / think_ perspective_hidden_dimensions
shuzon
2
5.1k
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
4
4.7k
LeSSに潜む「隠れWF病」とその処方箋
lycorptech_jp
PRO
2
120
visionOSでの空間表現実装とImmersive Video表示について / ai-immersive-visionos
cyberagentdevelopers
PRO
1
110
初心者に Vue.js を 教えるには
tsukuha
5
390
AIを駆使したゲーム開発戦略: 新設AI組織の取り組み / sge-ai-strategy
cyberagentdevelopers
PRO
1
130
Amazon_CloudWatch_ログ異常検出_導入ガイド
tsujiba
4
1.6k
ABEMA のコンテンツ制作を最適化!生成 AI x クラウド映像編集システム / abema-ai-editor
cyberagentdevelopers
PRO
1
180
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
How to Think Like a Performance Engineer
csswizardry
19
1.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Transcript
K8sでの 環境構築および 運用フロー構築のはなし
自己紹介 2
名前:安田俊之 関わってきた技術: Linux, Docker, K8s, Terraform, Ansible, Chef, Ruby On
Rails, Vue.js, AngularJS, Symfony, FuelPHP, CakePHP Androidアプリ, Spring(Java), Perl/CGI PostgreSQL, MySQL, Oracle, PL/SQL Vim, Zsh, etc. 3
本題 4
みなさん、Kubernetes使った ことありますか? その前に 5
これからKubernetesおよび EKS(AWSのKubernetesのマネージ ドサービス)についてお話しますが、そ れらの基本知識についての説明は時 間がないので割愛します。 前提 6
ザーッとどんな感じで環境構築したかとサイト管理 をしているかをご紹介させて下さい。 Kubernetesについてあまり知らない方は、なんと なく、雰囲気で、聞いていただけるとありがたいで す! 前提 7
K8sを使った背景 8
弊社(iCARE)では元々 コーポレートサイトの一 部でメインのサービス Carelyを紹介していた のですが、今年4月か ら別途プロダクトサイト を立ち上げることに。 K8sを使った背景 9
動作環境の要件としては • WordPressで管理したい • ユーザー向けのコンテンツはCDNでキャッシュし たい といったシンプルな要件。 とはいえ、 K8sを使った背景 10
スクラッチからシステムを構築できるチャンスは、 弊社にはあまりない。なので、むしろこのシンプル な構成だからこそ新しい技術Kubernetesでサイト を構築するチャンス! そしてそこで技術なれして本サービスCarelyに展 開したい! K8sを使った背景 11
ただし、プロダクトサイトを管理するメンバーには Dockerの知識はなく、gitの操作くらいしかできない ので、サイトを管理するメンバーにはdockerコマン ド等は期待できない K8sを使った背景 12
そういうバックグラウンドがあったので、次のような 構成でサイトを構築することを考えた K8sを使った背景 13
システム構成 14
システム構成図 15 こんな感じ
システム構成図 16 サイト管理者はdockerコ マンドではなく、git コマ ンドでコンテンツをgit サーバーにpush
システム構成図 17 gitサーバーは、podがマ ウントしているEFSにマ ウントしており、git push されたファイルはEFSに 格納される
システム構成図 18 podではEFSにマウント しているので、git pushさ れたコンテンツをwebコ ンテンツとしてユーザー に返すことができる
システム構成図 19 ユーザーは CloudFront〜ELBを経 由してkubernetesのpod へは、アクセスできる
システム構成図 20 KubernetesはEKSで管 理しているので、管理コ ストは低い
システム構成図 21 WordPressはhelm chartで管理。 WordPressのバージョン アップもhelmコマンドで できるので楽。
管理の詳細について 22
1. システム管理者は、kubectl, helmコマンド 2. サイト管理者は、WordPressの管理画面を利用しつつ、 gitでテーマを管理 3. Kubernetesのステータスをビジュアル的に確認する際は Kubernetes Dashboardを利用
こんな感じで管理しています 23
Kubernetes Dashboard 24
• DataDogエージェントのpodを追加し、DataDog側でも Node情報を取得、しきい値を設定して、アラートが上がる ようにしている(つい先日、EKSバージョンアップをした際 に動かなくなって、ちょっとそのままにしてあるけど・・・) こんな感じで管理しています 25
1. 今の所、特筆して困ることはないが、頻繁に操作するわけ ではないので、その都度コマンドがどんなだったか忘れて しまいがち 2. Kubernetesコマンドを扱うエンジニアが二人しかいないの で、改善はあまり進んでいない 3. EKSのバージョンアップに合わせてNode(EC2)のイメージ を変えたりする作業があったが、少し面倒くさかった(aws
の公式サイトに「およそ 3 か月ごとにリリースされており」 とあるようにマイナーバージョンのリリースが頻繁にある) K8s運用で困ったこと 26
• オートスケールにしていないので、オートスケー ルにしたい(ただ、基本的にはユーザーアクセス はCloudFrontでさばかれるので、今の所ニーズ がほとんどない) • あと、他のサービスもEKSの上にのせたりしな がら、 Kubernetesの知識、経験を積み上げて、 最終的にはメインプロダクトであるCarelyもそこ
に乗せたい 今後の展望 27
ご清聴ありがとうございまし た! 以上 28
質問 29