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入門#4 About Kubernetes Uses With GKE &...
Search
hi-rose
September 13, 2019
Technology
360
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kubernetes入門#4 About Kubernetes Uses With GKE & EKS
hi-rose
September 13, 2019
More Decks by hi-rose
See All by hi-rose
20231118_過去の叡智から学ぶ効率的なアウトプット術
hirose39
0
160
Kubernetes入門#5 The pod resource and QoS / Kubernetes Getting Started#5
hirose39
1
360
Kubernetes入門#3 About ConfigMap and Secret / Kubernetes Getting Started#3
hirose39
1
620
Kubernetes入門#2 CronJob / Kubernetes Getting Started#2 CronJob
hirose39
1
590
Kubernetes入門#1 運用例の紹介 / Kubernetes Getting Started#1 Case Introduction for k8ssa
hirose39
0
300
Other Decks in Technology
See All in Technology
BPaaSで進むAIオペレーションの現在地 AI実装が効く領域とスケーラビリティの選定と実装
kentarofujii
0
250
グローバルチームと挑むプロダクト開発
sansantech
PRO
1
150
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
330
最近評価が難しくなった
maroon8021
0
190
CVE-2026-20833_脆弱性対応とAES 化について
jukishiya
0
350
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
290
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
8k
cccccc
moznion
0
1.6k
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
900
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
380
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
190
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
490
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
320
sira's awesome portfolio website redesign presentation
elsirapls
0
290
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
210
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Spectacular Lies of Maps
axbom
PRO
1
840
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Mind Mapping
helmedeiros
PRO
1
270
Designing Experiences People Love
moore
143
24k
Transcript
Kubernetes Sapporo for Beginners Kubernetes 入門 #4 ~ Kubernetesをマルチクラウドで運用してみた話~
Kubernetes Sapporo for Beginners 自己紹介 廣瀬 亮輔(Ryosuke Hirose)/@hi-rose • 旭川高専卒業後、札幌で今の会社に就職してシステム開発 •
2017年4月頃からアーキテクト部署所属 ◦ Kubernetesもその頃から業務利用 ◦ GCP上でWebアプリケーションのバックエンド系基盤開発を担当 ▪ API基盤機能開発 ▪ データマイグレーション系サービス基盤の PJリーダー ▪ クラウド上検証環境の運用 ▪ CIの構築 *普段GCPメインのため、GCP実装ベースでの理解が中心となります 2
Kubernetes Sapporo for Beginners 概要1 • 現在GCPにてGKEを利用したWeb業務アプリケーションが稼働中 • その前身のサーバークライアントシステムのサーバー群がAWSで稼働中 3
補足:システムに関してのDevelopers Summit登壇スライド https://speakerdeck.com/broadleaf
Kubernetes Sapporo for Beginners 概要2 • AWS→GCPのデータ連携を行うプロジェクトが発足 • AWSにてEKSを利用したデータ連携サービスを構築 •
GKEとEKSを使ってデータ連携の仕組みを開発したお話 4
Kubernetes Sapporo for Beginners EKS利用の動機 5 • クラウド環境で標準開発しているコンテナベースに実装できる • GCPにてGKE運用を行っており、学習コストが低いこと
• ManagedなEKSが東京リージョンに来て少し経ったタイミングだったこと • ECSもあるが、Kubernetesの現在の盛り上がりから今後発展するだろうこと • 同一クラスタを使った機能拡張の可能性が高いこと • まだ使っている人も少ないし試しに使ってみよう ◦ EKSがだめでもコンテナで作成したサービスや作成したプログラムは無駄にはならない
Kubernetes Sapporo for Beginners インフラ構成の概要 元々以下のイメージで独立して稼働 6 GCP Elasticsearch Cassandra
Redis GKEクラスタ 在庫 取引 AWS SQLServer Oracle いろんなサーバーたち システムA(Win) システムB(Linux) : 設定
Kubernetes Sapporo for Beginners インフラ構成の概要こうなった AWS側にデータ連携のためのエージェントプログラムを配置して以下のような構成に 7 GCP Elasticsearch Cassandra
Redis GKEクラスタ 在庫 取引 AWS SQLServer Oracle いろんなサーバーたち システムA(Win) システムB(Linux) : 連携API EKSクラスタ 連携エージェント いろいろ 設定
Kubernetes Sapporo for Beginners EKS使ってよかったこと 8 • GKEで使用していたService、Workload、ConfigMap/Secretといった、アプリケーション を動かす上で必要な要素の8割方は流用することができた ◦
サイドカー動作している loggingエージェント等の仕組みもそのまま流用 ◦ もちろん、現在のGKEで動いているアプリケーション自体が特定のクラウドベンダーに依存しすぎず に構築している部分も重要 ◦ StatefulsetsはPersistentVolumeの配置ゾーン・リージョンの関係で少し意識はするかも • クラスタに共通で必要な設定管理のコンテナもそのまま流用できた • 結果的に新しい仕組みの開発作業に集中できた
Kubernetes Sapporo for Beginners EKS使って遭遇したこと 9 • Elasticsearchコンテナが立ち上がらない問題 ◦ クラスタに配置してログの一時保存に利用しているもの
◦ 以下のIssueが上がっており、1.11.8にて解消とのことでノードバージョンを更新して解消。当時は 1.11.5を利用していた ▪ https://github.com/awslabs/amazon-eks-ami/pull/206 ◦ 原因としては、特定ノードバージョンの AMIでulimitリソース設定の値が下げられたため • GKE利用時には発生なし。カーネル設定等、クラウドベンダーによって実装が変 わってくる可能性のある部分だなと実感 ◦ 今回はわかりやすく「起動しない」だったが、パフォーマンス面で差異が出るなどは実際に検証しな いとわからない
Kubernetes Sapporo for Beginners EKS使って遭遇したこと2 10 • Persistent Volume、Ingress周りの設定はベンダーによる違いが大きい ◦
各クラウドベンダーが実装しているストレージや LBの実装によるため ◦ annotationが多いことからもわかるかと思う • インスタンスファミリーの退役に伴うノードの再作成 ◦ 先日発生。m3→m5、r3→r5 ◦ GCPではあまり経験が無い ▪ メンテナンスに伴うmigrationでたまーに再起動はある … • Webの管理コンソールが見づらい(EKSに関して) ◦ GCPの方がクラスタ、ノード、ワークロードなど、この辺は見やすいかな ◦ 慣れ?
Kubernetes Sapporo for Beginners EKSを使って遭遇したこと3 11 • ノード1台がEBS関連のeventを吐いてNot Ready ◦
テスト環境で1度だけノードがEBS関連のeventを吐きながら停止した ◦ 30分後自動復旧 ◦ 今後調査 • FSxディスクへアクセスできない ◦ サポートされているのが Windowsと Amazon Linuxのみ ◦ サポートに問い合わせたが公式的な方法は無し ◦ コンテナに色々入れて AD参加させてetc…障害点が増えそう ◦ 結果的にFSxアクセスの要求がなくなったため調べただけでやらなかった
Kubernetes Sapporo for Beginners その他、やってみて 12 ◦ 最初はAWS側にGitlab-Runnerマシンを配置して DockerビルドしたものをECR(Elastic Container
Registory)に配置していたが、管理やリリース時 のチェックが煩雑になったため 1か所に統一 (※) ◦ イメージはKubernetesの要素Secretのtype:docker を登録し、Deployment定義に設定することで GCR からpullしてEKSノード上にコンテナが起動する ※参考:https://speakerdeck.com/hirose39/kubernetes-getting-started-number-1-case-introduction-for-k8ssa?slide=7 • コンテナイメージはGCP側のGCR(Google Container Registory)に統一
Kubernetes Sapporo for Beginners まとめ 13 • 細かい差異やトラブル、初回の構築には時間が掛かる部分もありますが、運用して いる上では今のところは順調に動作 •
まだ仮運用のため、今後本格的に運用していく中で発生した事項などはまたお話し できればと思います
Kubernetes Sapporo for Beginners 質疑応答 お聞きいただきありがとうございました。 何でも気軽にご質問くださいませ! 14