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
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
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