Code Monkey home page Code Monkey logo

docker-brocade-vtm's Introduction

Pulse Secure VTM

This is a great little load balancer, which runs in Community Edition by default. Good integration with Kubernetes, and other container platforms. Fully customisable. It can be fully licensed and supported by contacting Pulse Secure and asking about a Services Director.

For Kubernetes integration, see: https://github.com/pulse-vadc/kubernetes-vtm/

Pulse Secure vTM (Formerly Brocade, Zeus ZXTM )

This is a container for the Pulse Secure Virtual Traffic Manager.

See https://hub.docker.com/r/pulsesecure/vtm/ for the official Pulse version.

See http://www.pulsesecure.net/vadc for more information on vADC in general.

This container is supplied without a license key and will run in Community Edition mode out of the box. You can run with:

$ docker run -e ZEUS_EULA=accept --privileged -t -d tuxinvader/load-balancer

You must set ZEUS_EULA=accept to indicate that you accept the license agreement, otherwise the software will not start. You may also specify a License file to download over HTTP using ZEUS_LIC, and a password using ZEUS_PASS. Eg:

$ docker run -e ZEUS_EULA=accept -e ZEUS_LIC=http://10.1.1.1/fla.lic -e ZEUS_PASS=t3llNo0n3 --privileged -t -d tuxinvader/load-balancer

If you don't specify a ZEUS_PASS or you set ZEUS_PASS=RANDOM or ZEUS_PASS=SIMPLE, then a password will be randomly generated for you. The password will be made up from alphanumerics and (,) comma, (.) period, (-) hyphen, (_) underscore, and (+) plus. The password will be printed to the console after start up.

You can also set ZEUS_PASS=STRONG if you want to generate a stronger password making use of more symbols.

Extended from official image

This container is very similar to the official pulsesecure/vtm container at https://hub.docker.com/r/pulsesecure/vtm/ The differences are tiny:

  • Updated Ubuntu to 22.04
  • includes python-requests library, curl, and a few other tools
  • Adds a Docker autoscaler (needs python-requests)
  • Checks if java is installed, and disables Java Extensions if it isn't

Additional Environment Variables

ZEUS_DOM

This allows you to use the autogenerated hostname set by docker, and set the domain part of the FQDN from this variable. However the run script can not currently update /etc/hosts, so you must ensure that the FQDN is resolvable by the container in DNS. Using -h to set the hostname yourself might be a better option.

ZEUS_PACKAGES

You may also set a space seperated list of packages in the ZEUS_PACKAGES variable to get them installed on the first run of the container. This is useful if you want to enable Java Extensions. Eg:

$ docker run -e ZEUS_EULA=accept -e ZEUS_PACKAGES="openjdk-7-jre-headless" --privileged -t -d tuxinvader/load-balancer

ZEUS_COMMUNITY_EDITION

If you do not provide a license and the vTM starts up in Community Edition mode then you will need to accept the notification on first login. You may pass ZEUS_COMMUNITY_EDITION=yes in order to avoid seeing that warning.

ZEUS_CLUSTER_NAME

If you want this vtm to join an existing cluster, simply provide the DNS name of one of the cluster member through this environment variable.

ZEUS_CLUSTER_FP

If you want this vTM to verify the SHA-1 fingerprint of the cluster host it is joining with, then provide the 20 byte hex encoded, colon separated hash here. eg: aa:bb:cc:dd:ee:ff:11:22:33:44:55:66:77:88:99:00:aa:bb:cc:dd

Usage with Brocade Service Director (Formerly SSC)

Self Registration

Since vTM 10.4 and Service Director 2.4.0 is has been possible for vTMs to AutoRegister themselves with the Services Director.

In order for vTM to register itself with a Services Director, you can provide the following additional environment parameters to the container:

ZEUS_REGISTER_HOST

The Host/IP and Port of your Services Directors REST API. Eg: sd.mycompany.com:8100

ZEUS_REGISTER_FP

If you want this vTM to verify the SHA-1 fingerprint of the Service Director it is registering with, then provide the 20 byte hex encoded, colon separated hash here. eg: aa:bb:cc:dd:ee:ff:11:22:33:44:55:66:77:88:99:00:aa:bb:cc:dd

You can also optionally provide an email (ZEUS_REGISTER_EMAIL) and message (ZEUS_REGISTER_MSG)

Auto Approval

Since 17.1(?) and BSD 2.6 you can have the licenses auto-accepted according to a policy. To do so provide the additional parameters:

ZEUS_REGISTER_POLICY

The policy_id of the auto-approval policy to use for this vTM

ZEUS_REGISTER_OWNER

The name of the Owner for this vTM

ZEUS_REGISTER_SECRET

The Owner secret.

Example:

$ docker run -e ZEUS_EULA=accept -e ZEUS_REGISTER_HOST=sd1:8100 -e ZEUS_REGISTER_FP="A0:A1:A2:A3:A4:A5:A6:A7:A8:A9:B1:B2:B3:B4:B5:B6:B7:B8:B9:B0" -e [email protected] -e ZEUS_REGISTER_MSG="Hell Yeah" -e ZEUS_REGISTER_OWNER=Mark -e ZEUS_REGISTER_OWNER_SECRET=qwerty1 -e ZEUS_REGISTER_POLICY=Policy-9999-9999-9999-9999 --privileged -t -d tuxinvader/load-balancer

Configuration imports (K8's, etc)

In Kubernetes and other environments you may provide a mounted volume containing a one-shot base config or a watched configuration map. The volume should contain a set of yaml files in a format which follows the vTM REST API. For more information see: https://github.com/pulse-vadc/kubernetes-vtm/ In Kubernetes, ConfigMaps will appear in the watched volume, so that as you make changes and deploy workloads vTM can pick up those changes automatically.

ZEUS_BASE_CONFIG

This is a directory in which we should check for configuration files during deployment. This is only checked on first run.

ZEUS_WATCHED_CONFIG

This is a directory which should be monitored for configuration files. As the files change, an import process will detect and import the changes into your vTM configuration.

Legacy Usage with Brocade Service Director (Formerly SSC)

The docker instance needs a FQDN in order for the SSC to license it. You can either provide the container a fully qualified name at launch using -h, or you can specify the domain in an environment variable called ZEUS_DOM.

$ docker run -e ZEUS_EULA=accept -e ZEUS_LIC=http://10.1.1.1/fla.lic -e ZEUS_PASS=t3llNo0n3 -e ZEUS_DOM=demo.local --privileged -t -d tuxinvader/load-balancer

Accessing the Instance

Once started, point your web browser at port 9090 to access the web interface, or your rest client at port 9070.

Building a docker image from github REPO

cd <docker folder>
docker build -t <tag> .

docker-brocade-vtm's People

Contributors

bedis avatar chr15murray avatar tuxinvader avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-brocade-vtm's Issues

container tuxinvader/brocade-vtm error ip6tables table `mangle'

I started the container from docker hub and when I log into the traffic manager web interface im presented with this error

Key iptrans!iptables_enabled; /sbin/ip6tables -t mangle -S failed: ip6tables v1.6.0: can't initialize ip6tables table `mangle': Table does not exist (do you need to insmod?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.