
Windowsを利用しているユーザ向けにAWS CloudShellを用いて、Linux環境を用意する方法を説明します。
eksctlでEKSの設定を変更するために必要となるYAMLファイルの作成を行います。
EKSによるKubernetes環境を作り、簡単に操作を行います。
eksctlを使ったEKSリソースの作成および削除
kubectlを使ったKubernetes環境へのアクセス
Webアプリケーションを公開するサンプルとしてnginxを題材にします。
Kubernetes上でnginxを起動します。
Kubernetesにおける基本的なサービス公開方法になるNodePortによるサービス公開を行います。
AWSのロードバランサーサービスであるALBを使用して、ロードバランサーを経由したサービス公開を行います。
Kubernetesにおけるヘルスチェックの実装方法を学びます。サービスが何かしらの不具合によってダウンしたとしても自動的に復旧する仕組みを構築します。
Kubernetesで推奨されるコンテナの起動方法であるDeploymentリソースを作成する方法を学びます。
Podレベルでオートスケーリングを行うHorizontal Pod Autoscalerリソースを作成する方法を学びます。
Nodeレベルでオートスケーリングを行うCluster Autoscalerを設定する方法を学びます。
ここまでのレクチャーで実践した内容を整理することで、Kubernetesでサービスをスケールする方法について理解します。
Kubernetesで環境変数を扱うためのリソースであるConfigMapリソースを作成します。
ConfigMapリソースを扱う際に注意すべき環境変数の更新タイミング、更新方法について学びます。
環境変数の中でも機密情報を扱うためのリソースであるSecretリソースを作成します。
CloudWatch Container Insightsを使用して、EKSによるKubernetes環境を監視するための設定方法を学びます。
CloudWatch Container Insightsによる監視項目を確認する方法を学びます。
今まで利用していたIAMユーザではなく、新しくKubernetes環境にアクセス可能にするIAMユーザを作成する方法を学びます。
新しく作成したIAMユーザからKubernetes環境にアクセスするための権限を付与する方法を学びます。
新しいIAMユーザの権限でKubernetes環境にアクセスするための方法を学びます。
Amazon EKSをベースにして、Kubernetesを手を動かしながら学びます。このコースでは最初にKubernetesでは、どうやってWebアプリケーションをデプロイし、提供するのかについて実践します。また、Kubernetesだから必要になる運用作業についてもEKSをベースにして学びます。
eksctlを使って手数少なくEKSを素早く習得
Kubernetesにおいて、分かりづらい部分であるサービスの外部公開について手を動かしながら理解を深めます
eksctlの各種機能を使って運用作業を実施します
AWS初心者向けにAWSのアカウント作成から実施します
EKSを操作しながら、Kubernetesの理解を深める
AWSでは、EKSを通じてKubernetesに貢献しています。EKS自体はKubernetesのアップデートを取り込みながらAWSならではの独自機能も提供しています。EKSを学習することでKubernetesの基本から最新のKubernetesの使い方まで、Kubernetesの理解を深めることができます。
本コースでは、AWS初心者はまずAWSのアカウントを作成します。AWSのアカウントから認証情報を発行し、CLIツールでAWSを操作できるようにします。EKSを操作するCLIツールとしてeksctlをインストールします。eksctlを使うと簡単にEKSを操作することができます。eksctlはEKS公式のCLIツールです。eksctlを使って簡単にEKSの環境を作成します。
コンテナ技術を利用するケースとして、Webアプリケーションを公開することが多いと思います。ここでは、公開する題材として、nginxを利用します。サービス公開の手段として、NodePortとロードバランサーを使ったやり方を学びます。まずNodePortを使うことで、Kubernetesの機能だけでサービスの外部公開ができることを学びます。また、NodePortを使う場合のデメリットについても理解します。そのデメリットを解消するためにロードバランサーを使用するやり方についても学びます。サービス公開において、HTTPSやヘルスチェックにも対応します。
Kubernetesの運用としては、サービスをオートスケーリングすることや監視、アップデート、ユーザ管理を行う必要があります。これらについても手を動かしてやり方を学べるようにしています。
このように、AWS、Kubernetes学習者が手を動かして学ぶことができるコースを作成しました。