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
120
EKS勉強会
2024/2/27 JAWS-UG名古屋の勉強会資料
セッション発表資料
- EKS入門
- ハンズオン解説
世良泰明
February 27, 2024
Tweet
Share
More Decks by 世良泰明
See All by 世良泰明
ラズパイ奮闘記 その1
y_sera15
0
51
metrics-serverをセキュアなTLSでデプロイしてみた
y_sera15
0
480
自宅k8s構築日記 冬休み編
y_sera15
0
220
自宅k8sクラスター構築日記
y_sera15
0
190
EKSを動かしてみた話
y_sera15
0
99
ちょっと大きめのOSSにコントリビュートしかけた話
y_sera15
0
240
小江戸らぐ kubernetesクラスターを再構築した話
y_sera15
0
210
小江戸らぐ 自宅にkubernetesクラスターを構築した話
y_sera15
0
39
Other Decks in Technology
See All in Technology
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
130
SEQUENCE object comparison - db tech showcase 2025 LT2
nori_shinoda
0
120
SaaS型なのに自由度の高い本格CMSでサイト構築と運用のコスパ&タイパUP! MovableType.net の便利機能とユーザー事例のご紹介
masakah
0
110
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
200
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
120
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
16k
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
160
What’s new in Android development tools
yanzm
0
300
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
ビギナーであり続ける/beginning
ikuodanaka
3
750
Connect 100+を支える技術
kanyamaguc
0
200
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
250
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Bash Introduction
62gerente
613
210k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Automating Front-end Workflow
addyosmani
1370
200k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Practical Orchestrator
shlominoach
189
11k
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 撤収