本文へジャンプします。

ニフクラ ユーザーガイド

ニフクラ Kubernetes Service Hatoba:ロードバランサー

ニフクラ Kubernetes Service Hatobaで作成したクラスター上でtype: LoadBalancerのServiceを作成すると、ニフクラ ロードバランサー(L4)が自動的に作成され、クラスターに接続されます。ノードが増減した場合でも、自動的にロードバランサーの設定が変更され、ロードバランシング対象となるノードの設定を自動で反映します。

ロードバランサーの設定例

クラスター上で下記のようなServiceを作成すると、ロードバランサー(L4)が作成されます。ロードバランサー(L4)の料金はクラスターとは別にかかります。

apiVersion: v1
kind: Service
metadata:
  name: hellolb
  labels:
  run: hello
spec:
  type: LoadBalancer
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080
    name: http
    nodePort: 30374
  selector:
    run: hello

アノテーション

Serviceにアノテーションを付与すると、作成するロードバランサーの設定を変更できます。設定可能な値はロードバランサー(L4)の仕様に従います。

アノテーション 項目 説明
service.beta.kubernetes.io/hatoba-load-balancer-name ロードバランサー名 未指定の場合、metadata.nameの名前で作成されます
service.beta.kubernetes.io/hatoba-load-balancer-network-volume 最大ネットワーク流量 ロードバランサーの最大ネットワーク流量が指定できます
service.beta.kubernetes.io/hatoba-load-balancer-accounting-type 利用料金タイプ 未指定の場合、2 (従量課金)が設定されます
service.beta.kubernetes.io/hatoba-load-balancer-policy-type 暗号化タイプ 暗号化タイプは変更不可のため、作成時のみ参照します
service.beta.kubernetes.io/hatoba-load-balancer-balancing-type ロードバランス方式 ロードバランサーのロードバランス方式が指定できます
service.beta.kubernetes.io/hatoba-load-balancer-healthcheck-protocol ヘルスチェック プロトコル 未指定の場合、TCP:(宛先ポート) が設定されます
service.beta.kubernetes.io/hatoba-load-balancer-healthcheck-unhealthy-threshold タイムアウトまでのヘルスチェック回数 未指定の場合、3が設定されます
service.beta.kubernetes.io/hatoba-load-balancer-healthcheck-healthy-threshold 復旧した際のヘルスチェックの復旧判断回数 復旧した際のヘルスチェックの復旧判断回数が設定できます
service.beta.kubernetes.io/hatoba-load-balancer-healthcheck-interval ヘルスチェック間隔 未指定の場合、30(秒)が設定されます
service.beta.kubernetes.io/hatoba-load-balancer-filter-type フィルタータイプ ロードバランサーのフィルタータイプが指定できます。フィルター対象のIPアドレスは spec.loadBalancerSourceRanges で指定します

たとえば、ロードバランサー名を「test」とし、フィルターで「192.168.0.0/24」からの接続のみ許可するロードバランサーを作る場合は下記のように設定します。

apiVersion: v1
kind: Service
metadata:
  name: hellolb
  labels:
  run: hello
  annotations:
    service.beta.kubernetes.io/hatoba-load-balancer-name: test
spec:
  type: LoadBalancer
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080
    name: http
    nodePort: 30374
  loadBalancerSourceRanges:
    - 192.168.0.0/24
  selector:
    run: hello

注意事項

  • クラスター内でtype: LoadBalancerのServiceを作成すると、自動的にロードバランサー(L4)が作成されます。ロードバランサー(L4)の料金はクラスターとは別にかかるため、ご注意ください
  • 作成されたロードバランサーはロードバランサー(L4)の仕様に従います
  • クラスターのリストア時など、複数のクラスターで同一の設定のServiceが作成された場合、ロードバランサーは最後に設定が行われたクラスターに接続されます。複数のクラスターにまたがって単一のロードバランサー接続はできません
  • ※本ページ記載の金額は、すべて税抜表示です。
  • ※本ページ記載の他社製品名および会社名などは、各社の商標または登録商標です。
  • ※本ページの内容は、2021年9月17日時点の情報です。

推奨画面サイズ 1024×768 以上