1. HOME
  2. ブログ
  3. BLOG
  4. kubernetesのDiscovery&LBリソースの概要

BLOG

BLOG

kubernetesのDiscovery&LBリソースの概要

Discovery&LBリソースとは

コンテナを外部公開するようなエンドポイントを提供するリソース

CluusterIP

kubernetesクラスタ内からのみアクセス可能な仮想IP
これがデフォルトのServiceTypeとなります。

sample-clusterip.yaml
apiVersion: v1
kind: Service # リソースの種類
metadata:
  name: sample-clusterip # Serviceの名前
spec:
  type: ClusterIP # Serviceの種類
  ports:
    - port: 8000 # ポート番号
      targetPort: 80 # 転送する先のポート
  selecter: sample-app # 転送先のPod

NodePort

全てのKubernetes NodeのIPアドレスポートで受信したトラフィックをコンテナに転送する形で、外部疎通を確立するリソースです。

sample-nodeport.yaml
apiVersion: v1
kind: Service # リソースの種類
metadata:
  name: sample-nodeport # Serviceの名前
spec:
  type: NodePort # Serviceの種類
  ports:
    - name: "http-port"
      protocol: "TCP"
      port: 8080 # ポート番号
      targetPort: 80 # 転送する先のポート
      nodePort: 30080
  selecter: sample-app # 転送先のPod

LoadBalancer

Kubernetesクラスタ外のloadBalancerに外部疎通性のある仮想IPを払い出すことが可能。

sample-lb.yaml
apiVersion: v1
kind: Service # リソースの種類
metadata:
  name: sample-lb # Serviceの名前
spec:
  type: LoadBalancer # Serviceの種類
  ports:
    - name: "http-port"
      protocol: "TCP"
      port: 8080 # ポート番号
      targetPort: 80 # 転送する先のポート
      nodePort: 30080
  selecter: sample-app # 転送先のPod

ExternalName

Service名の名前解決に対して外部のドメイン宛のCNAMEを返します

sample-ds.yaml
apiVersion: v1
kind: Service # リソースの種類
metadata:
  name: sample-externalname # Serviceの名前
spec:
  type: ExternalName # Serviceの種類
  externalName: example.sophia-s.co.jp
  • コメント ( 0 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

関連記事