Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Amazon EKS への道 ~番外編~ 祝GA! EKS を触ってみた

2018/06/09 「JAWS-UG大分:クラウドのチャンスに出会おう!」 で発表したLT資料です

  • Be the first to comment

Amazon EKS への道 ~番外編~ 祝GA! EKS を触ってみた

  1. 1. Amazon EKS への道 ~番外編~ 青柳 英明 2018/06/09 JAWS-UG 大分 「クラウトのチャンスに出会おう!」 LT 祝GA! EKS を触ってみた
  2. 2. 自己紹介 青柳 英明 職業: インフラSE(オンプレOnly) 経歴: アプリケーション開発 … 3年 インフラエンジニア … 17年 AWS歴: JAWS-UG歴: … 約2年 コアメンバー: JAWS-UG福岡 Fukuoka.NET (ふくてん)
  3. 3. Amazon EKS とは? ECS … Elastic Container Service → AWS上でコンテナ(≒Docker)を使うためのサービス EKS … Elastic Container Service for Kubernetes → ECSを 「Kubernetes」 に対応させたサービス Kubernetes → コンテナオーケストレーション(管理)ソフトウェアの業界標準 もう少し詳しく知りたい人は・・・ https://www.slideshare.net/HideakiAoyagi/amazon-eks 「Amazon EKS への道 ~入門編~」 (JAWS-UG福岡#6)
  4. 4. EKS 環境構築の流れ 1. EKSのクラスタ(=Control Plane)(=Master Nodes)を作成する (1) EKSサービス用のIAMロールを作成する (2) EKSクラスタ用のVPCを作成する (3) EKSクラスタを作成する → CloudFormation (サンプルあり) → コンソール or CLI 2. 作成したEKSクラスタへkubectlで接続する (1) kubectlの設定ファイルを記述する (エンドポイント、認証情報) (2) 作成したEKSクラスタに対してkubectlで接続できることを確認
  5. 5. EKS 環境構築の流れ 3. EKSワーカーノード用のEC2を構成する (1) EC2接続用のキーペアを作成する (2) ワーカーノードとなるEC2インスタンスをデプロイ (1) ワーカーノードの構成を定義する「コンフィギュレーションマップ」ファイルを作成する → CloudFormation (サンプルあり) 4. 作成したEC2をワーカーノードとしてEKSクラスタへ登録する (2) 構成したEC2インスタンスをEKSクラスタへワーカーノードとして登録・構成する (3) ワーカーノードの構成結果を確認する → kubectlコマンド
  6. 6. 特筆ポイント<1> クラスタ (Control Plane) 作成時、 「指定した AZ はサポートされていない」 で作成に失敗する ・ サンプルの CloudFormation テンプレートを使用して VPC 環境を作成 [us-east-1a] [us-east-1b] [us-east-1c] → EKSクラスタの配置先となる3つのサブネット(AZ)が用意される ・ しかし、これらのAZを指定してEKSクラスタを作成しようとすると、以下のエラーが・・・
  7. 7. 対処方法 ・ エラーメッセージ中に対処方法が書いてある [us-east-1a] [us-east-1b] [us-east-1d]→ を使えば OK とのこと ・ CloudFormation テンプレートを修正 → 左図の箇所を 「2」 から 「3」 に書き換える 0 … us-east-1a 1 … us-east-1b 2 … us-east-1c 3 … us-east-1d : ※値の意味
  8. 8. 特筆ポイント<2> ワーカーノード用の EC2 をデプロイする際、 「t2.micro」 は選択できないのか? ・ サンプルの CloudFormation テンプレートを使用した場合 → 最低でも 「t2.small」 からの 選択となってしまう・・・
  9. 9. 対処方法 ・ CloudFormation テンプレートを修正 (2か所:それぞれ 「t2.micro」 を追記) : ※ 「MaxPods」の適切な値が分からないので とりあえず適当な値にしておきました・・・
  10. 10. 対処後・・・ → 「t2.micro」 が選べるようになった! ・ ワーカーノードとして登録 → 問題なく行えた ・ コンテナ(Pod)のデプロイ → 問題なく行えた・・・? あれ? 1つ動いてない・・・ さすがにリソースが足りない・・・のかな?
  11. 11. 特筆ポイント<3> EKS クラスタ (Control Plane) の利用料金 $0.2/時間 → $144/月 個人で使うには、なかなかの出費・・・ $4.8/日 → ・ 使わない時は 「停止」 したい!
  12. 12. 対処方法 ・ コンソールから 「停止」 ができるのか? → ステータス欄に 「Active」 とあって、一見 「Inactive」 にできそうだが・・・ → 探した限り、停止するインタフェースは無さそう (´・ω・`)
  13. 13. 対処方法 ・ でもまあ、CLI ならイケるんじゃない? → コマンドこれしかない \(^o^)/オワタ ・ 使わない時はクラスタを一旦 「削除」 して、必要になったら作り直す 現時点では、こうするしかなさそう・・・
  14. 14. EKS を触ってみての所感 [マスターノード] ・ GKE や AKS に比べて設定項目が多め、手順も多め ・ マスターノードが課金対象 (GKE/AKSは無償) [ワーカーノード] ・ EC2、VPC、セキュリティグループ、等、事前にしっかり作っておく必要がある (GKE/AKS は必要最低限の設定で、自動的に準備される) GKE/AKS EKS → フルマネージド、管理の容易さを優先 → セミマネージド、インフラリソースをユーザの管理下に置く どちらが良い・悪いというのではなく、方向性の違い・・・だと思います

×