OKEでのロード・バランサのカスタマイズ
Verrazzanoでは、インストール時にKubernetesに次のロード・バランサを設定します:
- NGINXイングレス用のロード・バランサ
- Istioイングレス用のロード・バランサ
Verrazzanoでは、OKEによって定義された注釈を使用して、Oracle Container Engine (OKE)によって割り当てられたロード・バランサをカスタマイズできます。様々なロード・バランサのカスタマイズ注釈の詳細は、ここでOKEドキュメントを参照してください。
このドキュメントでは、これらの注釈を使用してVerrazzanoロード・バランサの次の設定をカスタマイズする方法について説明します:
- ロード・バランサ・シェイプ
- プライベートIPアドレスおよびサブネットの配置
ロード・バランサ・シェイプのカスタマイズ
インストール時に、Verrazzanoを使用すると、作成されたロード・バランサのシェイプおよびサイズをカスタマイズできます。Oracle Cloud Infrastructureには、動的シェイプを使用する柔軟なロード・バランサがあります:
- 10 Mbps
- 100 Mbps
- 400 Mbps
- 8,000 Mbps
サービス制限およびシェイプの詳細は、ここを参照してください。
たとえば、10Mbps
を使用してNGINXロード・バランサを次のように設定できます:
apiVersion: install.verrazzano.io/v1alpha1
kind: Verrazzano
metadata:
name: example-verrazzano
spec:
profile: dev
environmentName: default
components:
ingress:
type: LoadBalancer
nginxInstallArgs:
- name: controller.service.annotations."service\.beta\.kubernetes\.io/oci-load-balancer-shape"
value: "10Mbps"
たとえば、10Mbps
を使用してIstioロード・バランサを次のように設定できます:
apiVersion: install.verrazzano.io/v1alpha1
kind: Verrazzano
metadata:
name: example-verrazzano
spec:
profile: dev
environmentName: default
components:
ingress:
type: LoadBalancer
istioInstallArgs:
- name: gateways.istio-ingressgateway.serviceAnnotations."service\.beta\.kubernetes\.io/oci-load-balancer-shape"
value: "10Mbps"
ロード・バランサでのプライベートIPアドレスの使用
インストール時に、Verrazzanoを使用すると、作成されたロード・バランサのIPアドレスおよびサブネットをカスタマイズできます。これを実現するには、ここに記載されているように、NGINXおよびIstioロード・バランサ・サービスのOKE注釈を使用します。
次の例では、OCID ocid1.subnet.oc1.phx.aaaa..sdjxa
で識別されるプライベート・サブネットにプライベート・ロード・バランサIPアドレスを持つようにNGINXロード・バランサ・サービスを構成し、Istioにデフォルトの(パブリック)ロード・バランサ構成を使用します:
apiVersion: install.verrazzano.io/v1alpha1
kind: Verrazzano
metadata:
name: example-verrazzano
spec:
profile: dev
environmentName: default
components:
ingress:
type: LoadBalancer
nginxInstallArgs:
- name: controller.service.annotations."service\.beta\.kubernetes\.io/oci-load-balancer-internal"
value: "true"
- name: controller.service.annotations."service\.beta\.kubernetes\.io/oci-load-balancer-subnet1"
value: "ocid1.subnet.oc1.phx.aaaa..sdjxa"
次の例では、OCID ocid1.subnet.oc1.phx.aaaa..sdjxa
で識別されるプライベート・サブネットにプライベート・ロード・バランサIPアドレスを持つようにIstioイングレス・ゲートウェイ・サービスを構成し、NGINXにデフォルトの(パブリック)ロード・バランサ構成を使用します:
apiVersion: install.verrazzano.io/v1alpha1
kind: Verrazzano
metadata:
name: example-verrazzano
spec:
profile: dev
environmentName: default
components:
ingress:
type: LoadBalancer
istio:
istioInstallArgs:
- name: gateways.istio-ingressgateway.serviceAnnotations."service\.beta\.kubernetes\.io/oci-load-balancer-internal"
value: "true"
- name: gateways.istio-ingressgateway.serviceAnnotations."service\.beta\.kubernetes\.io/oci-load-balancer-subnet1"
value: "ocid1.subnet.oc1.phx.aaaa..sdjxa"
次の例では、OCID ocid1.subnet.oc1.phx.aaaa..sdjxa
で識別されるプライベート・サブネットにプライベート・ロード・バランサIPアドレスを持つように、NGINXとIstioの両方を構成します:
apiVersion: install.verrazzano.io/v1alpha1
kind: Verrazzano
metadata:
name: example-verrazzano
spec:
profile: dev
environmentName: default
components:
ingress:
type: LoadBalancer
nginxInstallArgs:
- name: controller.service.annotations."service\.beta\.kubernetes\.io/oci-load-balancer-internal"
value: "true"
- name: controller.service.annotations."service\.beta\.kubernetes\.io/oci-load-balancer-subnet1"
value: "ocid1.subnet.oc1.phx.aaaa..sdjxa"
istio:
istioInstallArgs:
- name: gateways.istio-ingressgateway.serviceAnnotations."service\.beta\.kubernetes\.io/oci-load-balancer-internal"
value: "true"
- name: gateways.istio-ingressgateway.serviceAnnotations."service\.beta\.kubernetes\.io/oci-load-balancer-subnet1"
value: "ocid1.subnet.oc1.phx.aaaa..sdjxa"