Floating IP
A floating IP (aka FIP), is a public accessible IPv4 address. It is used with Service to enable public access to the associated pods. You cannot attach multiple floating IPs to a service, but you can associate multiple services with one single floating IP (as long as no port flicts among different services).
If you allocate a floating IP address but do not use it, you will be charged for the IP address. If you use it (with Service), you will not be charged for it.
Lifecycle
You need to explicitly allocate and release floating IPs:
$ pi create fip
fip/104.197.12.87
$ pi delete fip 104.197.12.87
fip "104.197.12.87" deleted
You cannot release an FIP while it is in use.
Associate Floating IP with Service
Create a new service using an existing floating IP:
$ pi create fip
fip/104.154.140.179
$ cat <<EOF > /tmp/httpLB.yml
apiVersion: v1
kind: Service
metadata:
name: http-lb
spec:
type: LoadBalancer
loadBalancerIP: 104.154.140.179
selector:
app: http
ports:
- port: 80
targetPort: 8080
EOF
$ pi create -f /tmp/httpLB.yml
service/http-lb
You can also associate multiple service to one floating IP, with different ports:
$ cat <<EOF > /tmp/httpsLB.yml
apiVersion: v1
kind: Service
metadata:
name: https-lb
spec:
type: LoadBalancer
loadBalancerIP: 104.154.140.179
selector:
app: https
ports:
- port: 443
targetPort: 4433
EOF
$ pi create -f /tmp/httpsLB.yml
service/https-lb
Billing
If you allocate a floating IP address but do not use it, you will be charged with an hourly rate ($0.01/hour). If you use it (with Service), you will not be charged for it.
Last updated