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
370
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
170
Kubernetes入門#5 The pod resource and QoS / Kubernetes Getting Started#5
hirose39
1
370
Kubernetes入門#3 About ConfigMap and Secret / Kubernetes Getting Started#3
hirose39
1
630
Kubernetes入門#2 CronJob / Kubernetes Getting Started#2 CronJob
hirose39
1
600
Kubernetes入門#1 運用例の紹介 / Kubernetes Getting Started#1 Case Introduction for k8ssa
hirose39
0
310
Other Decks in Technology
See All in Technology
dbt in Microsoft Fabric
ryomaru0825
0
300
[RSJ26] Flow as Flow: Modeling Robot Velocity Fields as Probability Velocity Fields
keio_smilab
PRO
0
130
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
500名弱規模の組織のPythonプロジェクト(dbt) をどう管理するか?
hiracky16
0
380
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
370
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
Microsoft MVP プログラムを紹介するから目指す人増えてくれ
tsubakimoto_s
0
150
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
450
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
200
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
Digital Credentials API × OpenID4VP ブラウザ完結型本人確認の実装知見(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
Prompt Engineering for Job Search
mfonobong
0
420
A Tale of Four Properties
chriscoyier
163
24k
The Cult of Friendly URLs
andyhume
79
7k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
370
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
Documentation Writing (for coders)
carmenintech
77
5.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
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