oci-service-operator

Load Balancer: LoadBalancer

Manage OCI Load Balancer resources from Kubernetes. This page is generated from checked-in package metadata, CRD schemas, and sample manifests.

Resource Snapshot

Field Value
Service loadbalancer
Resource LoadBalancer
API Version loadbalancer.oracle.com/v1beta1
Package Load Balancer
Support Status Preview
Latest Released Version v2.1.0-alpha
Install Namespace oci-service-operator-loadbalancer-system

Spec Fields

This summary shows the top-level spec fields. Use the full API reference for nested fields, defaults, and enum values.

Field Description Type Required
backendSets - map[string, object] No
certificates - map[string, object] No
compartmentId The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to create the load balancer. string Yes
definedTags Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}} map[string, map[string, string]] No
displayName A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information. Example: example_load_balancer string Yes
freeformTags Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} map[string, string] No
hostnames - map[string, object] No
ipMode Whether the load balancer has an IPv4 or IPv6 IP address. If “IPV4”, the service assigns an IPv4 address and the load balancer supports IPv4 traffic. If “IPV6”, the service assigns an IPv6 address and the load balancer supports IPv6 traffic. Example: “ipMode”:”IPV6” string No
ipv6SubnetCidr Applies to IPV6 LB creation only. Used to disambiguate which subnet prefix should be used to create an IPv6 LB. Example: “2002::1234:abcd:ffff:c0a8:101/64” string No
isDeleteProtectionEnabled Whether or not the load balancer has delete protection enabled. If “true”, the loadbalancer will be protected against deletion if configured to accept traffic. If “false”, the loadbalancer will not be protected against deletion. Delete protection will not be enabled unless a value of “true” is provided. Example: true boolean No
isPrivate Whether the load balancer has a VCN-local (private) IP address. If “true”, the service assigns a private IP address to the load balancer. If “false”, the service assigns a public IP address to the load balancer. A public load balancer is accessible from the internet, depending on your VCN’s security list rules (https://docs.oracle.com/iaas/Content/Network/Concepts/securitylists.htm). For more information about public and private load balancers, see How Load Balancing Works (https://docs.oracle.com/iaas/Content/Balance/Concepts/balanceoverview.htm#how-load-balancing-works). Example: true boolean No
isRequestIdEnabled Whether or not the load balancer has the Request Id feature enabled for HTTP listeners. If “true”, the load balancer will attach a unique request id header to every request passed through from the load balancer to load balancer backends. This same request id header also will be added to the response the lb received from the backend handling the request before the load balancer returns the response to the requestor. The name of the unique request id header is set the by value of requestIdHeader. If “false”, the loadbalancer not add this unique request id header to either the request passed through to the load balancer backends nor to the reponse returned to the user. New load balancers have the Request Id feature disabled unless isRequestIdEnabled is set to true. Example: true boolean No
listeners - map[string, object] No
networkSecurityGroupIds An array of NSG OCIDs (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with this load balancer. During the load balancer’s creation, the service adds the new load balancer to the specified NSGs. The benefits of using NSGs with the load balancer include: * NSGs define network security rules to govern ingress and egress traffic for the load balancer. * The network security rules of other resources can reference the NSGs associated with the load balancer to ensure access. Example: ["ocid1.nsg.oc1.phx.unique_ID"] list[string] No
pathRouteSets - map[string, object] No
requestIdHeader If isRequestIdEnabled is true then this field contains the name of the header field that contains the unique request id that is attached to every request from the load balancer to the load balancer backends and to every response from the load balancer. If a request to the load balancer already contains a header with same name as specified in requestIdHeader then the load balancer will not change the value of that field. If isRequestIdEnabled is false then this field is ignored. If this field is not set or is set to “” then this field defaults to X-Request-Id Notes: * Unless the header name is “” it must start with “X-“ prefix. * Setting the header name to “” will set it to the default: X-Request-Id. string No
reservedIps An array of reserved Ips. list[object] No
ruleSets - map[string, object] No
securityAttributes Extended Defined tags for ZPR for this resource. Each key is predefined and scoped to a namespace. Example: {"Oracle-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit", "usagetype" : "zpr"}}} map[string, map[string, string]] No
shapeDetails The configuration details to create load balancer using Flexible shape. This is required only if shapeName is Flexible. object No
shapeName A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the ListShapes operation. Example: flexible NOTE: After May 2023, Fixed shapes - 10Mbps, 100Mbps, 400Mbps, 8000Mbps would be deprecated and only shape allowed would be Flexible string Yes
sslCipherSuites - map[string, object] No
subnetIds An array of subnet OCIDs (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). list[string] Yes

Status Fields

This summary shows the top-level status fields. Use the full API reference for nested fields, defaults, and enum values.

Field Description Type Required
backendSets - map[string, object] No
certificates - map[string, object] No
compartmentId The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the load balancer. string No
definedTags Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}} map[string, map[string, string]] No
displayName A user-friendly name. It does not have to be unique, and it is changeable. Example: example_load_balancer string No
freeformTags Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} map[string, string] No
hostnames - map[string, object] No
id The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer. string No
ipAddresses An array of IP addresses. list[object] No
ipMode Whether the load balancer has an IPv4 or IPv6 IP address. If “IPV4”, the service assigns an IPv4 address and the load balancer supports IPv4 traffic. If “IPV6”, the service assigns an IPv6 address and the load balancer supports IPv6 traffic. Example: “ipMode”:”IPV6” string No
isDeleteProtectionEnabled Whether or not the load balancer has delete protection enabled. If “true”, the loadbalancer will be protected against deletion if configured to accept traffic. If “false”, the loadbalancer will not be protected against deletion. Delete protection is not be enabled unless this field is set to “true”. Example: true boolean No
isPrivate Whether the load balancer has a VCN-local (private) IP address. If “true”, the service assigns a private IP address to the load balancer. If “false”, the service assigns a public IP address to the load balancer. A public load balancer is accessible from the internet, depending on your VCN’s security list rules (https://docs.oracle.com/iaas/Content/Network/Concepts/securitylists.htm). For more information about public and private load balancers, see How Load Balancing Works (https://docs.oracle.com/iaas/Content/Balance/Concepts/balanceoverview.htm#how-load-balancing-works). Example: true boolean No
isRequestIdEnabled Whether or not the load balancer has the Request Id feature enabled for HTTP listeners. If “true”, the load balancer will attach a unique request id header to every request passed through from the load balancer to load balancer backends. This same request id header also will be added to the response the lb received from the backend handling the request before the load balancer returns the response to the requestor. The name of the unique request id header is set the by value of requestIdHeader. If “false”, the loadbalancer not add this unique request id header to either the request passed through to the load balancer backends nor to the reponse returned to the user. Example: true boolean No
lifecycleState The current state of the load balancer. string No
listeners - map[string, object] No
networkSecurityGroupIds An array of NSG OCIDs (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with the load balancer. During the load balancer’s creation, the service adds the new load balancer to the specified NSGs. The benefits of associating the load balancer with NSGs include: * NSGs define network security rules to govern ingress and egress traffic for the load balancer. * The network security rules of other resources can reference the NSGs associated with the load balancer to ensure access. Example: [“ocid1.nsg.oc1.phx.unique_ID”] list[string] No
pathRouteSets - map[string, object] No
requestIdHeader If isRequestIdEnabled is true then this field contains the name of the header field that contains the unique request id that is attached to every request from the load balancer to the load balancer backends and to every response from the load balancer. If a request to the load balancer already contains a header with same name as specified in requestIdHeader then the load balancer will not change the value of that field. If this field is set to “” this field defaults to X-Request-Id. string No
routingPolicies - map[string, object] No
ruleSets - map[string, object] No
securityAttributes Extended Defined tags for ZPR for this resource. Each key is predefined and scoped to a namespace. Example: {"Oracle-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit", "usagetype" : "zpr"}}} map[string, map[string, string]] No
shapeDetails LoadBalancerShapeDetails defines nested fields for LoadBalancer.ShapeDetails. object No
shapeName A template that determines the total pre-provisioned bandwidth (ingress plus egress). To get a list of available shapes, use the ListShapes operation. Example: 100Mbps string No
sslCipherSuites - map[string, object] No
status - object Yes
subnetIds An array of subnet OCIDs (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). list[string] No
systemTags System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags can be viewed by users, but can only be created by the system. Example: {"orcl-cloud": {"free-tier-retained": "true"}} map[string, map[string, string]] No
timeCreated The date and time the load balancer was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z string No

Sample Manifest

This example is generated from the checked-in sample manifest at config/samples/loadbalancer_v1beta1_loadbalancer.yaml. Replace placeholder values before applying it.

Open the rendered sample page

#
# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
#

apiVersion: loadbalancer.oracle.com/v1beta1
kind: LoadBalancer
metadata:
  name: loadbalancer-sample
spec:
  compartmentId: ocid1.compartment.oc1..<unique_ID>
  displayName: example_load_balancer
  shapeName: Flexible
  subnetIds:
    - ocid1.subnet.oc1..<unique_ID>
  shapeDetails:
    minimumBandwidthInMbps: 10
    maximumBandwidthInMbps: 10