Mirantis/bird-containers

Name: bird-containers

Owner: Mirantis Inc.

Description: null

Created: 2016-12-09 14:39:22.0

Updated: 2017-10-12 17:03:27.0

Pushed: 2017-03-30 13:37:25.0

Homepage: null

Size: 66

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Multirack solution for Kubernetes cluster Build Status

This repo contains Ansible Cookbook, for configure existing k8s environment to multirack case.

Also Route Redistribution container stored here.


Ansible inventory for kargo should looks like:

]
1    ansible_host=10.90.1.2 ip=10.90.1.2
2    ansible_host=10.90.1.3 ip=10.90.1.3
3    ansible_host=10.90.2.4 ip=10.90.2.4

:vars]
ing_source="MT"            # or "calico" -- source for peering information.
co_network_backend="none"  # should be "none" if you want use non-stardart bird container on compute nodes (peering_source should be set to "MT")
gpport=180                 # specify alternative BGP port for RR container
bgpport=179                # specify alternative BGP port, used on TOR switch
ort=179                    # specify alternative BGP port for Bird on compute nodes

.

k1]
1
2

k1:vars]
_number=65001
bnet=10.90.1.0/24
r=10.90.1.254
pport=179
_bgpport=180
ck_no=1

k2]
3

k2:vars]
_number=65002
bnet=10.90.2.0/24
r=10.90.2.254
pport=179
_bgpport=190
ck_no=2

is group mapping required if your environment deployed by Kargo.
 You use another deployment tool, or need more custom deployment
ease remove group mapping and list nodes into corresponded groups
ike in commented example bellow)
ird-rr]
de-1
de-3
ird-node]
de-2

d-rr:children]
-master

d-node:children]
-node

Deployment can be started by

sible-playbook -i $INVENTORY ./cluster.yaml -e @/root/k8s_customization.yaml

Where INVENTORY may be inventory file or dynamic inventory from vagrant-multirack, -e ... is optional. If dynamic inventory from vagrant-multirack used, you can customize multirack deployment by creating additional group_var file and provide its path to KARGO_GROUP_VARS variable, example:

port KARGO_GROUP_VARS=/root/k8s_group_vars.yaml
t /root/k8s_group_vars.yaml
_container_tag: latest
ing_source: calico
gpport: 180
bgpport: 179
ort: 179

Route Redistribution container, implements Route-Reflector, Calico-node, ExtIP announce for multi-rack deployment of Kubernetes.

Travis-CI provide auto-rebuild and auto-upload containers to hub.docker.com after successful build and tests for master and release-* branchers. If You need custom build of contained, please read following instruction:

run make help for instruction to build container.

After build container should be tagged and uploaded to Docker registry. Corresponded tag should be described in the cluster.yaml in the bgpd_container_tag: parameter.

Example:

ke build-container
.
ving intermediate container 79bd1bebf920
essfully built _503598dcebd2_

cker tag 503598dcebd2 mirantis/bird-containers:20161222-01
cker push  mirantis/bird-containers:20161222-01

On the host system container should be run with network=host.

When container started, ENV should contains:

_AUTHORITY=https://127.0.0.1:2379/,https://10.0.0.1:2379/
NAME=svasilenko-01-001
=1
_MODE=RR  # may be RR or NODE (default)
0.222.1.1
GP_PORT=180
BGP_PORT=179   # should be differ with NODE_BGP_PORT 
_BGP_PORT=179  # if running on the same node
ING_SOURCE=MT  # MT (default) or 'calico'
G=1

If 'calico' PEERING_SOURCE used, you can (but not obligatory) extend calico data model by custom fields:

co:
p:
v1:
  rr_v4:
    10.222.1.1: '{"ip":"10.222.1.1","cluster_id":"1"}'
              # \ default Calico's RR definition
    10.222.2.1: '{"ip":"10.222.2.1","cluster_id":"2","as_num":"64444","bgp_port":"180"}'
              # \ Extended RR definition with AS number and BGP port specifyed

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.