【第5弾】Kubernetes学習【L7レイヤロードバランサーのIngressを理解せよ】
Udemy「米シリコンバレーDevOps監修!超Kubernetes完全入門(2020)」
の学習にようやくありつけた。
本日は、レイヤ7レベルでロードバランシングできる「Ingress」についての学習。
LoadBalancerタイプの場合、レイヤ4のロードバランサーであるため、
TCP/IPレベルでしか動作することができない。
レイヤ7レベルで動かしたいと思ったその時に役に立つ機能が、
「Ingress」様のようです。
■1.Ingressの作成
・Ingressをマニュフェストから作成
詳細は、Udemy「米シリコンバレーDevOps監修!超Kubernetes完全入門(2020)」
を受講すると、物凄く詳しく知ることができると思います。おすすめです。
なお、ingressを作成した後は「kubectl get ingress」で確認する。
metadata: servicePort: <port Number of NodePort Service> →8080とする。 |
※podの作成
kubectl run --image <image name> --port <port Number> --restart Never <name>
※podの詳細
kubectl describe pod <pod name>
※NodePort Serviceの作成
kubectl expose pod PodA --type NodePort --port <port Number> --name PodA_NodePort
※Ingressの削除
kubectl delete --all ingress
設定誤りを含んだingressを作成してしまった時に、ingressを削除できる!
ただし、個別に削除する方法は自分は分かりません。
■2.Ingressを作成した後の動作確認
Pod、NodePort Service、Ingressを作成した後の動作確認手順は下記。
下記の(1)から(3)を実行及び成功を確認することで、
クラスター内外からのアクセスを問題なく実現できることを意味する。
(1) クラスター内の他のPod(PodB)から、PodAにアクセス
(2) クラスター内の他のPod(PodB)から、PodA_NodePort(Service)にアクセス
(3) クラスター外からingressを経由して、PodA_NodePort(Service)にアクセス
■次回
REPLICAS(冗長化と自動修正)の概要を掴みたい。
以上です。