Overview

This is a very preliminary module to configure a BIG-IP and Kubernetes cluster to interoperate using F5's Container Ingress Services. If you want to use this, take some time to peruse the code and familiarize yourself with its many undocumented assumptions.

simple sketch of assumed deployment The assumed BIG-IP is in a 3-NIC configuration, spanning management, external, and internal subnets. The internal subnet is synonymous with the kubernetes node subnet allowing the BIG-IP to converse with the nodes of the cluster. The vxlan tunnel and associated selfip make the BIG-IP a member of the cluster subnet and consequently able to converse with the service and pod subnets.

Requirements

No requirements.

Providers

Name Version
external n/a
local n/a
null n/a
random n/a

Modules

Name Source Version
postbuild-config-as3 github.com/mjmenger/terraform-bigip-postbuild-config//as3 v0.5.1
postbuild-config-do github.com/mjmenger/terraform-bigip-postbuild-config//do v0.5.1

Resources

Name Type
local_file.ssh_private_key resource
null_resource.cis_init resource
random_pet.keyname resource
external_external.tunnelmac data source

Inputs

Name Description Type Default Required
bigip_default_gateway_address n/a any n/a yes
bigip_external_address the address of the BIG-IP external/public NIC any n/a yes
bigip_internal_gateway_address n/a any n/a yes
bigip_k8s_partition the partition (AS3 tenant) in which the ingress virtual servers will be created. any n/a yes
bigip_management_address the address of the BIG-IP management NIC any n/a yes
bigip_password the password to use for authentication when calling the BIG-IP's API endpoints. any n/a yes
bigip_private_address the address of the BIG-IP's internal/private NIC on the kubernetes node network any n/a yes
bigip_tunnel_name the name of the vxlan tunnel connecting the BIG-IP to the kubernetes pod network any n/a yes
bigip_tunnel_overlay_address the address that the BIG-IP uses over the tunnel to the pod network any n/a yes
bigip_username the username to use when calling the BIG-IPs API endpoints. any n/a yes
cidr n/a any n/a yes
infra_private_key the value of the private key to connect to the kubernetes controller node any n/a yes
infra_private_key_path the path to the private key file used to connect to the kubernetes controller node any n/a yes
k8s_controller_address the address of the kubernetes controller node any n/a yes
k8s_controller_username the username to use to connect to the kubernetes controller any n/a yes
k8s_podsubnet n/a any n/a yes
nameserver n/a any n/a yes

Outputs

Name Description
tunnelmac n/a