Docker/Kubernetes実践コンテナ開発入門の本を読んでいて5.10.1のIngressを通じたアクセスをAmazon EKSで行う場合はどのようになるのか調べました。
利用しているdocker image
gihyodocker/echo : Hollo Docker!!と表示するwebサーバー
gihyodocker/nginx-proxy : echoに対してリバースプロキシする
手順
1 eksctlでcrusterを作成する
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/getting-started-eksctl.html
※Fargetポッドがデプロイされる2 ALB Ingress Controllerを作成する
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/alb-ingress.html3 ReplicaSet Service Ingress を作成する
ブラウザでIngressのアドレスにアクセスする
ReplicaSet
同じ仕様のPodを複数作成する
1 | apiVersion: apps/v1 |
Service
Podの集合に対して、アクセス経路を作成する。typeをNodePortにすることでグローバルなポートを開ける。OSI参照モデルのレイヤー4までしか扱えない。
1 | apiVersion: v1 |
Ingress
ServiceのKudernetesクラスタ外への公開。
VirtualHostやパスベースでのHTTP、HTTPSベースでのルーティングが可能。
Ingressが作成されると、EKSのALB Ingress ControllerがALBと必要なAWSサポートリソースを作成してくれる。
1 | apiVersion: extensions/v1beta1 |