Slide 1

Slide 1 text

EKSを動かしてみた話 2022/03/30 JAWS-UG 名古屋 コンテナを語ろう!! 5分間LT 世良泰明

Slide 2

Slide 2 text

自己紹介 名前: 世良 泰明 (せら やすあき) 職業: 駆け出しインフラエンジニア (1年目) 名古屋の某SIer勤め 経歴: COBOLバッチ ⇒ webアプリ(java/javascript) ⇒ AWS 趣味: 囲碁, サイクリング, 散歩, etc… twitter: @y_sera15 4/2にクラウドプラクティショナー受験します!

Slide 3

Slide 3 text

きっかけ ・JAWS-UG 名古屋 3月はコンテナ回 ・kubernetesはいつか触ってみたいと思っていた ・”新人”のラベルがついてるうちに何かしておきたい ⇒ ちょっと難しそうだけどやってみるか

Slide 4

Slide 4 text

AWS上でのコンテナ基盤 データプレーン コントロールプレーン Amazon EKS Amazon ECS AWS Fargate EC2

Slide 5

Slide 5 text

AWS上でのコンテナ基盤 データプレーン コントロールプレーン Amazon EKS Amazon ECS AWS Fargate EC2 ① ② ③ ④ 4通りの組み合わせがある

Slide 6

Slide 6 text

AWS上でのコンテナ基盤 データプレーン コントロールプレーン Amazon EKS Amazon ECS AWS Fargate EC2 ① ② ③ ④ 4通りの組み合わせがある 今回構築したのは③

Slide 7

Slide 7 text

やったこと eksctlを使用してEKSを構築. サンプルアプリ(nginx)を動かした eksctl : コマンド一つでEKSクラスターとノードを構成してくれるツール EKS構築 1. コマンドを叩くためのEC2構築 2. kubectl インストール 3. eksctl インストール 4. IAMロール作成/EC2にアタッチ 5. eksctl実行 サンプルアプリのデプロイ 1. Fagateプロファイル作成 2. 名前空間の作成 3. kubernetesデプロイメントの作成 4. kubernetesサービスの作成 5. 動作確認 公式ドキュメント Amazon EKS の開始方法 – eksctl サンプルアプリケーションをデプロイする

Slide 8

Slide 8 text

結果 動作確認 kubectl get all –n eks-sample-app 動いてる!!!

Slide 9

Slide 9 text

結果 動作確認 podに入り, サービスに向けてcurl nginxが動いてることを確認

Slide 10

Slide 10 text

苦労した点 eksctlを使用してEKSを構築. サンプルアプリ(nginx)を動かした eksctl : コマンド一つでEKSクラスターとノードを構成してくれるツール EKS構築 1. コマンドを叩くためのEC2構築 2. kubectl インストール 3. eksctl インストール 4. IAMロール作成/EC2にアタッチ 5. eksctl実行 サンプルアプリのデプロイ 1. Fagateプロファイル作成 2. 名前空間の作成 3. kubernetesデプロイメントの作成 4. kubernetesサービスの作成 5. 動作確認 ←その1 ←その2 ←番外編

Slide 11

Slide 11 text

苦労した点 1 IAMロールの作成/EC2へのアタッチ https://eksctl.io/usage/minimum-iam-policies/ 参考サイト https://developer.mamezou-tech.com/containers/k8s/tutorial/infra/aws-eks-eksctl/ ・どのロールが必要なのか分からない EKS, EC2系のロールだけじゃダメ…? ・どこにアタッチすればよいか分からない EC2なのか…? IAMユーザなのか…? eksctlの公式サイトに、EKS構築に最低限必要なロールの記載があった ⇒ インラインポリシーを作成してEC2のロールに付与して解決!

Slide 12

Slide 12 text

苦労した点 2 Fargateプロファイルの作成 公式ドキュメント https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/fargate-profile.html ・podがいつまでたってもRunningにならない… ⇒ yamlを凝視するも間違いは見つけられず… 前提条件の見落とし 名前空間を作成した場合, それに応じたプロファイルを作成する必要あり ⇒ マネコンからFargateプロファイルを作成して解決!

Slide 13

Slide 13 text

苦労した点 番外編 EC2のssm接続 ・ロールをアタッチしてるのに繋げない ・サブネットもパブリック, IGWもdefaultルートも設定してある… ssm接続するインスタンスにはelastic IPが必要 (プライベートサブネットの場合はNATが必要)

Slide 14

Slide 14 text

まとめ eksctlを使用しEKSクラスターを構築、サンプルアプリをデプロイした 苦労した点 ・IAMポリシー ⇒ どこにアタッチすればよいか, 何を許可するのかわからなかった ・Fagateプロファイルの設定忘れ ⇒ 名前空間毎にプロファイルが設定されることを知らなかった ・ssm接続はelastic IPがないと繋げない 感想 ・意外と躓いたが、最後まで構築できて良かった. ・前提条件大事!! ・今度はeksctlを使わずに構築してみたい

Slide 15

Slide 15 text

No content