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
110
EKS勉強会
2024/2/27 JAWS-UG名古屋の勉強会資料
セッション発表資料
- EKS入門
- ハンズオン解説
世良泰明
February 27, 2024
Tweet
Share
More Decks by 世良泰明
See All by 世良泰明
ラズパイ奮闘記 その1
y_sera15
0
41
metrics-serverをセキュアなTLSでデプロイしてみた
y_sera15
0
370
自宅k8s構築日記 冬休み編
y_sera15
0
200
自宅k8sクラスター構築日記
y_sera15
0
160
EKSを動かしてみた話
y_sera15
0
89
ちょっと大きめのOSSにコントリビュートしかけた話
y_sera15
0
220
小江戸らぐ kubernetesクラスターを再構築した話
y_sera15
0
190
小江戸らぐ 自宅にkubernetesクラスターを構築した話
y_sera15
0
29
Other Decks in Technology
See All in Technology
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.5k
実は強い 非ViTな画像認識モデル
tattaka
3
1.4k
開発者のための FinOps/FinOps for Engineers
oracle4engineer
PRO
2
210
Introduction to OpenSearch Project - Search Engineering Tech Talk 2025 Winter
tkykenmt
2
150
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
5.3k
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
110
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
660
Qiita Organizationを導入したら、アウトプッターが爆増して会社がちょっと有名になった件
minorun365
PRO
1
200
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
190
MIMEと文字コードの闇
hirachan
2
1.4k
Featured
See All Featured
Facilitating Awesome Meetings
lara
53
6.2k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Designing Experiences People Love
moore
140
23k
We Have a Design System, Now What?
morganepeng
51
7.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
Speed Design
sergeychernyshev
27
810
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
A designer walks into a library…
pauljervisheath
205
24k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
A Tale of Four Properties
chriscoyier
158
23k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
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 撤収