DevOps-KubernetesはてなブックマークTwitterスポンサーリンクはじめに以下記事にてKubernetesのサービスで利用するClusterIPとNodePortの違いについて説明しました。一方で上記の特徴を持つNodePortと同じくLoadBalancerでも同様のことが可能です。本記事ではNodePortとLoadBalancerの違いを説明します。serviceでそれぞれを見れば分かりやすいです。xLoadBalancerでは「External-IP」がアサインされ、このIPに対して通信を行うことでそれに紐づくPodsに振り分けられます。ちなみにLoadBalancderのYAMLファイルの例は以下です。8080NodePortとの違いは?先ほどの比較として、NodePort目掛けて通信する際の宛先IPはノードのIPアドレスとなります。各ノードに個別でアクセスを行う場合はNodePortを利用し、各ノードへの振り分けをロードバランサが行う場合はLoadBalancerを利用します。以下の資料がそのイメージを可視化しています。図解(GKE説明資料より抜粋)終わりに一般的に外部にサービスを公開する際はLoadBalancerを利用します。(複数サービスを公開する際はさらにIngressを利用します)もちろんNodePortはローカル環境でテストする際などでは分かりやすいので便利ですが、そうではない場合NodeのIPが変更されると接続する側で接続先を変更する必要がある等、注意が必要です。どちらもK8sクラスタ外からアクセスを行う際に利用するサービス&違いは外部IPを利用して複数ノードの束ねるか否かと覚えておくと大まかな理解をしておくだけでも役立つと思います。Page引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。