diff options
Diffstat (limited to 'README.pod')
| -rw-r--r-- | README.pod | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/README.pod b/README.pod deleted file mode 100644 index afabd99..0000000 --- a/README.pod +++ /dev/null @@ -1,226 +0,0 @@ -=head1 NAME - -fapi - A humble command line tool to manage F5 BigIP loadbalancers - -=head1 SYNOPSIS - -Just run - - fapi -h - -or - - alias f=fapi - f -h - -because it's shorter to type. - -=head1 ABOUT - -This is a simple command line client to do basic stuff with the iControl F5 API -such as: - - Managing Monitors - Managing Nodes - Managing Pools - Managing Virtual Servers - -And some extended usage: - - Managing Folders - Managing Self IPs - Managing Traffic Groups - Managing VLANs - - -This is a private programming project programmed in my spare time. Therefore I -didn't bother to put it on a public website and github. Please open bug -reports, feature requests and pull requests at -L<https://github.com/rantanplan/fapi>. - -B<CAUTION: This script has been tested on Debian GNU/Linux Wheezy only.> - -=head1 BIGSUDS - -=head2 Requirement of bigsuds - -This tool depends on bigsuds. Please install this library from F5 dev central -manually. Otherwise this script will not work. - -You can download bigsuds from here: - -L<https://devcentral.f5.com/d/bigsuds-python-icontrol-library> - -Unzip it and run - - sudo python setup.py install - -You may also install bigsuds from the contrib dir of the fapi source tree. - -=head2 iControl reference - -Through bigsuds you can do everything what iControl can do: - -L<https://devcentral.f5.com/wiki/icontrol.apireference.ashx> - - -=head1 QUICK START - -Update your sources list: - - curl http://deb.buetow.org/apt/pubkey.gpg | sudo apt-key add - - echo deb http://deb.buetow.org/apt wheezy main | - sudo tee /etc/apt/sourcees.list.d/buetoworg.list - sudo aptitude update - -And run - - sudo aptitude install fapi - cp /usr/share/fapi/fapi.conf.sample ~/.fapi.conf - vim ~/.fapi.conf - -Or if you want to install it from the source dir, just run: - - make - sudo make install - -=head1 EXAMPLES - -=head2 Listing - -If you want to list all configured objects on your partition just run - - fapi node # To list all nodes - fapi pool # To list all pool - ... # etc - -=head2 Setting up a simple pool - - # Creating two nodes, fapi auto resolves the IP addresses, and use the - # FQDN as the node name. - fapi node fooserver1.example.com create - fapi node fooserver2.example.com create - - # Creating a pool and add the nodes to it. Also specify the node ports to - # use by the monitors (and maybe PAT if enabled) - fapi pool foopool create - fapi pool foopool add member fooserver1.example.com:80 - fapi pool foopool add member fooserver2.example.com:80 - - # Add a monitor to the pool - fapi pool foopool add monitor http_lbtest - -=head2 Setting up a simple nPath Service - -A simple nPath service can be created as follows. - - fapi vserver myvserver.example.com:80 create PROTOCOL_TCP nPath - fapi vserver myvserver.example.com:80 set pool foopool - - # Restrict the vservers to a specific VLAN (IMPORTANT! security - # hole otherwise!) - fapi vserver myvserver.example.com:80 set vlan VLANNAME - fapi vserver myvserver.example.com:443 set vlan VLANNAME - - # Put the VirtualAddress of the vserver into a specific traffic group - fapi vip myserver.example.com set tgroup some-traffic-group - -And everything can be deleted as folows: - - # You can also specify the full object name (including the partition) - fapi vserver /Common/myvserver.example.com_80 delete - - # Or just the way the service was created from command line - fapi vserver myvserver.example.com:443 delete - - fapi pool foopool delete - fapi node fooserver1.example.com delete - fapi node fooserver2.example.com delete - -=head2 Setting up simple HTTP NAT Services - -A simple HTTP NATed service can be created as follows. - - fapi vserver myvserver.example.com:80 create PROTOCOL_TCP http - fapi vserver myvserver.example.com:80 set vlan VLANNAME - fapi vserver myvserver.example.com:80 set pool foopool - -In order to make this work your application servers need to have setup a -default route to the loadbalancers floating self IP. - -=head2 Setting up simple SNAT Services - -Same as setting up a NATed services, but you don't need to configure default -routes from your application servers to the loadbalancers floating self IP. - -You need also to set the SNAT flag as follows: - - fapi vserver myvserver.example.com:80 set snat automap - -=head2 Settung up simple SNAT Services with SSL offloading enabled - -Just like SNAT service (use port 443) but with these additional steps - -First Upload the SSL certificate to the F5 BIG IP (e.g. System -> File Management --> SSL Certificate List on BIG IP V11.4). - - # Afterwards create a new SSL profile to use the new certificate: - # (Will automatically use key/crt myserver.example.com.{key,crt}) - fapi profileclientssl myserver.example.com create - - # Then attach that profile to the vserver (default context is - # PROFILE_TYPE_CLIENT_SSL, which means SSL between F5 and Clients) - fapi vserver myvserver.example.com:443 profile add myserver.example.com - -=head2 About the NAME argument - -In most cases NAME can be a hostname, FQDN or an IP address. Optionally folled -by a port: - - NAME := fqdn|hostname|ip[:ip2[:port]] - -Examples: - - # Auto resolving of the virtual address (IP) and auto port 80. The vserver - # name will have added an automatic _PORT suffix to it's name. - fapi vserver fqdn.example.com create - - # Or just ignore the auto port, will not add any _PORT suffix to the - # vserver name. - fapi -a .... - - # Example: - fapi -a vserver fqdn.example.com_ssl create - - # Auto resolving of the virtual address (IP) - fapi vserver fqdn.example.com:443 create - - # Auto resolving of the FQDN (vserver name) and the virtual address (IP) - # and auto port 80 - fapi vserver hostname create - - # Auto resolving of the FQDN (vserver name) and the virtual address (IP) - fapi vserver hostname:443 create - - # vserver name and its virtual address will be 1.2.3.4 and auto port 80 - fapi vserver 1.2.3.4 create - - # vserver name and its virtual address will be 1.2.3.4 - fapi vserver 1.2.3.4:443 create - - # vserver name is foo, its virtual address 1.2.3.4 and port is 80 - fapi vserver foo:1.2.3.4:80 create - - # vserver name is 1.2.3.5, its virtual address 1.2.3.4 and port is 80 - fapi vserver 1.2.3.5:1.2.3.4:80 create - - -Similar may apply to other object types such as nodes and vips. - -=head1 AUTHOR - -Paul C. Buetow - <paul@buetow.org> - -Also see L<http://fapi.buetow.org> - -=cut |
