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
EKS勉強会
Search
世良泰明
February 27, 2024
Technology
1
100
EKS勉強会
2024/2/27 JAWS-UG名古屋の勉強会資料
セッション発表資料
- EKS入門
- ハンズオン解説
世良泰明
February 27, 2024
Tweet
Share
More Decks by 世良泰明
See All by 世良泰明
ラズパイ奮闘記 その1
y_sera15
0
33
metrics-serverをセキュアなTLSでデプロイしてみた
y_sera15
0
300
自宅k8s構築日記 冬休み編
y_sera15
0
190
自宅k8sクラスター構築日記
y_sera15
0
140
EKSを動かしてみた話
y_sera15
0
78
ちょっと大きめのOSSにコントリビュートしかけた話
y_sera15
0
210
小江戸らぐ kubernetesクラスターを再構築した話
y_sera15
0
180
小江戸らぐ 自宅にkubernetesクラスターを構築した話
y_sera15
0
29
Other Decks in Technology
See All in Technology
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
240
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
2024年にチャレンジしたことを振り返るぞ
mitchan
0
130
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
26
11k
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
MLOps の現場から
asei
6
630
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
32
6.3k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Six Lessons from altMBA
skipperchong
27
3.5k
Building an army of robots
kneath
302
44k
Designing for humans not robots
tammielis
250
25k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Transcript
EKS勉強会 2023/2/27 JAWS-UG 名古屋 世良泰明
タイムテーブル 時刻 内容 発表者 19:00 開始挨拶 19:05~19:35 ハンズオン環境構築1 ~EKS構築まで 19:15~19:35
EKS入門 世良泰明 19:35~19:50 ハンズオン環境構築2 ~ GitOps環境構築 19:40 ~ 19:50 ハンズオン概要説明 世良泰明 19:50~20:15 GitOpsハンズオン実施 20:15~20:35 後片付け1 GitOps環境削除 20:20:~20:35 (仮)AWSにおけるコンテナ AWS 川路さん 20:35~20:45 後片付け2 EKSクラスター削除 20:45~20:50 告知 20:50~20:55 撤収
まずは環境構築 クラスター構築に時間がかかるので、まずはこちらの手順0~3までを実施 https://github.com/y-sera/jaws-ug-nagoya-202402-handson
EKS入門 2023/2/27 JAWS-UG 名古屋 世良泰明
自己紹介 名前: 世良 泰明 (せら やすあき) 職業: ひよっこインフラエンジニア (3年目) 名古屋の某SIer所属
AWS上でインフラ構築・運用 趣味: 囲碁, 散歩, etc… twitter: @y_sera15 自宅K8sクラスター
目次 自己紹介 今日の話 Kubernetesとは(概要) Kubernetesの世界観 AWSとの世界のつなぎ目 EKSの嬉しいところ、つらいところ 乗り越えなければならない壁 まとめ 今日のゴール:
- Kubernetesの世界観を知ってもらう - AWSとのつなぎ目を理解してもらう - 乗り越えるべき壁を雰囲気だけ知ってもらう
EKS/Kubernetesとは Amazon Elastic Kubernetes Service (Amazon EKS) EKSとは? Amazon Elastic
Kubernetes Service (Amazon EKS) は、 Amazon Web Services (AWS) 上で、独自の Kubernetes コントロールプレーンをインストール、運用、保守 する必要がないマネージド型サービスです。 Kubernetesとは? コンテナ化されたアプリケーションの管理、スケーリング、 デプロイを自動化するオープンソースシステムです。 -> ECSと何が違うの?
Kubernetesの世界観 Kubernetesは、リソースを抽象化して扱う - AWSにあるような諸々リソースはKubernets上にも存在する - 標準で存在しないリソースも, カスタムリソースとして定義できる 要するに、Kubernetesは小さなクラウドみたいなもの 種類 Kubernetes
AWS コンテナ Pod ECSタスク コンテナ(上位概念) deployment ECSサービス ストレージ PersistentVolume EBS アカウント ServiceAccount IAMロール パラメータ Configmap パラメータストア
AWSとKubernetesの世界のつなぎ目 KubernetesがAWSリソースを活用する場合 -> AWSの認証認可を挟む必要がある 例: - パラメータストアから値を引っ張りたい - RDSのデータを参照したい ⇒
IAMロールが必要 一方, Kubernetesにもサービスアカウント(無人格ユーザー)が存在する. これらを紐づけてやる必要がある. AWS Cloud OIDCプロバイダーを作成し, CLI等でロールとサービスアカウントで関連付けることにより, EKS内のリソースでもAWSサービスが利用できる
EKSの嬉しいところ, つらいところ 嬉しいところ - 各種リソースが同じ形式のyamlファイル(マニフェスト)で扱える - IaCが簡単 - どんなアプリでも同じような形に落とし込める -
他クラウドへの移行が楽 - 抽象化されているので、ほぼそのままお引越し可能 - スケールメリットが大きい - ECSだとアプリ単位. EKSは基盤色が強い つらいところ - 学習コストが高い - AWS, EKSの両方の世界観を理解する必要がある - OSSのエコシステム(流行り廃りが激しい) - バージョンアップ対応 - 数か月に1度は上げる必要あり - 手動運用だと逆にしんどい
乗り越えなければならない壁 この2つができないと, 余計に苦しくなる - マニフェスト管理 Kubernetesの各種リソースが記載されたyamlをgit等で管理する - 自動化(GitOps) Git管理されたリソースのマニフェストが更新されたら, 自動でクラスターが追従する
逆に, - マニフェストを適用しておしまい - コマンド操作でリソース変更/編集 だと, 運用オペレーションが余計に煩雑になってしまう. (それならECSのマネコンぽちぽちの方がまだ楽でよい) 今日はこの後これ(自動化)を体感してもらいます!!!
まとめ 以下の概要を説明した - Kubernetesの世界観 - AWSとの世界のつなぎ目 - EKSの嬉しいところ、つらいところ - 乗り越えなければならない壁
EKSを選ぶなら, なるべく自動化しましょう!!
タイムテーブル 時刻 内容 発表者 19:00 開始挨拶 19:05~19:35 ハンズオン環境構築1 ~EKS構築まで 19:15~19:35
EKS入門 世良泰明 19:35~19:50 ハンズオン環境構築2 ~ GitOps環境構築 19:40 ~ 19:50 ハンズオン概要説明 世良泰明 19:50~20:15 GitOpsハンズオン実施 20:15~20:35 後片付け1 GitOps環境削除 20:20:~20:35 (仮)AWSにおけるコンテナ AWS 川路さん 20:35~20:45 後片付け2 EKSクラスター削除 20:45~20:50 告知 20:50~20:55 撤収
GitOps環境構築 install.shスクリプトを実行し, GitOps環境に必要なコンポーネントを諸々構築していく https://github.com/y-sera/jaws-ug-nagoya-202402-handson
ハンズオン解説 2023/2/27 JAWS-UG 名古屋 世良泰明
GitOpsとは Gitリポジトリを起点とし、DeployエージェントによってKubernetesへアプリケーションをデプロイする 手法 嬉しさ - 構成情報 = 実機情報 - デプロイにおける権限を絞れる
アプリソース用リポジトリ マニフェスト用リポジトリ Deploy Agent
使用する主なコンポーネント AWS CodeCommit - Gitリポジトリとして使用. - アプリソース用とマニフェスト用の2つ存在. - アプリソース用はlambdaでCIパイプラインへトリガー通知 Amazon
ECR - ビルドしたアプリ用コンテナを格納. アプリソース用 マニフェスト用 Tekton - Kubernetes上で動くCIツール. - lambdaのwebhookをトリガーに, CIパイプラインを実行する - アプリソースをビルドし, ECRへpushおよびマニフェストリポジトリの更新を行う. ArgoCD - Kubernetesで動くデプロイツール - マニフェスト用のリポジトリを監視し, 変更があればそれに従ってデプロイを行う
今回の構成
処理の流れ 1. コード変更 /push
処理の流れ 2.CIパイプラインへ webhook
処理の流れ 3. CIパイプライン起動
処理の流れ 3. CIパイプライン起動 アプリソースの クローン アプリのビルド コンテナのビルド ECRへpush マニフェストの更新 (Kubernetesが立てるコンテ
ナの情報を変更する)
処理の流れ 4.変更を検知し, アプリをデプロイする
タイムテーブル 時刻 内容 発表者 19:00 開始挨拶 19:05~19:35 ハンズオン環境構築1 ~EKS構築まで 19:15~19:35
EKS入門 世良泰明 19:35~19:50 ハンズオン環境構築2 ~ GitOps環境構築 19:40 ~ 19:50 ハンズオン概要説明 世良泰明 19:50~20:15 GitOpsハンズオン実施 20:15~20:35 後片付け1 GitOps環境削除 20:20:~20:35 (仮)AWSにおけるコンテナ AWS 川路さん 20:35~20:45 後片付け2 EKSクラスター削除 20:45~20:50 告知 20:50~20:55 撤収