Sign inSign up

bedis9/kubernetes-vtm-controller

By bedis9

Updated about 9 years ago

This is a container for the Brocade Virtual Traffic Manager which may be used with Kubernetes.

Image
0

1.6K

bedis9/kubernetes-vtm-controller repository overview

vTM Kubernetes Controller

Brocade vTM (Formerly Riverbed SteelApp / Stingray )

This is a container for the Brocade Virtual Traffic Manager. It embeds a bare minimal controller for kubernetes.

For more information about vTM docker container itself, please browse https://github.com/TuxInvader/Docker-Brocade-vTM.

Environment variables dedicated to kubernetes

KUBE_APISERVER

This is Kubernetes API server URL, including protocol scheme

KUBE_LBNAME

This is the name of the load-balancer in kubernetes. the controller use it to watch its configuration

KUBE_LBAPIURL

This is the vtm API URL, with scheme and a / at the end

KUBE_LBAPIPASSWORD

This is the vtm API password, automatically set by runzeus.sh to ZEUS_PASS

LBDRIVER=vtm

This is the name of the driver we want to use for this LB

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/brocade-vtm

ZEUS_DEVMODE

If you do not provide a license and the vTM starts up in developer mode then you will need to accept the developer mode warning on first login. You may pass ZEUS_DEVMODE=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

If the Owner has a secret, then you need to provide that secret here.

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/brocade-vtm

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/brocade-vtm

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> .

Tag summary

Content type

Image

Digest

Size

350.1 MB

Last updated

about 9 years ago

docker pull bedis9/kubernetes-vtm-controller