Add kube-router annotations (#3533)
This commit is contained in:
@ -89,3 +89,20 @@ kubeadm_enabled: true
|
|||||||
kube_router_run_service_proxy: true
|
kube_router_run_service_proxy: true
|
||||||
kube_proxy_mode: ipvs
|
kube_proxy_mode: ipvs
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Advanced BGP Capabilities
|
||||||
|
https://github.com/cloudnativelabs/kube-router#advanced-bgp-capabilities
|
||||||
|
|
||||||
|
If you have other networking devices or SDN systems that talk BGP, kube-router will fit in perfectly.
|
||||||
|
From a simple full node-to-node mesh to per-node peering configurations, most routing needs can be attained.
|
||||||
|
The configuration is Kubernetes native (annotations) just like the rest of kube-router.
|
||||||
|
|
||||||
|
For more details please refer to the https://github.com/cloudnativelabs/kube-router/blob/master/docs/bgp.md.
|
||||||
|
|
||||||
|
Next options will set up annotations for kube-router, using `kubectl annotate` command.
|
||||||
|
|
||||||
|
```
|
||||||
|
kube_router_annotations_master: []
|
||||||
|
kube_router_annotations_node: []
|
||||||
|
kube_router_annotations_all: []
|
||||||
|
```
|
@ -35,3 +35,12 @@
|
|||||||
# Setups node CNI to allow hairpin mode, requires node reboots, see
|
# Setups node CNI to allow hairpin mode, requires node reboots, see
|
||||||
# https://github.com/cloudnativelabs/kube-router/blob/master/docs/user-guide.md#hairpin-mode
|
# https://github.com/cloudnativelabs/kube-router/blob/master/docs/user-guide.md#hairpin-mode
|
||||||
# kube_router_support_hairpin_mode: false
|
# kube_router_support_hairpin_mode: false
|
||||||
|
|
||||||
|
# Array of annotations for master
|
||||||
|
# kube_router_annotations_master: []
|
||||||
|
|
||||||
|
# Array of annotations for every node
|
||||||
|
# kube_router_annotations_node: []
|
||||||
|
|
||||||
|
# Array of common annotations for every node
|
||||||
|
# kube_router_annotations_all: []
|
||||||
|
@ -34,3 +34,15 @@ kube_router_peer_router_ports: ~
|
|||||||
# Setups node CNI to allow hairpin mode, requires node reboots, see
|
# Setups node CNI to allow hairpin mode, requires node reboots, see
|
||||||
# https://github.com/cloudnativelabs/kube-router/blob/master/docs/user-guide.md#hairpin-mode
|
# https://github.com/cloudnativelabs/kube-router/blob/master/docs/user-guide.md#hairpin-mode
|
||||||
kube_router_support_hairpin_mode: false
|
kube_router_support_hairpin_mode: false
|
||||||
|
|
||||||
|
# Adds annotations to kubernetes nodes for advanced configuration of BGP Peers.
|
||||||
|
# https://github.com/cloudnativelabs/kube-router/blob/master/docs/bgp.md
|
||||||
|
|
||||||
|
# Array of annotations for master
|
||||||
|
kube_router_annotations_master: []
|
||||||
|
|
||||||
|
# Array of annotations for every node
|
||||||
|
kube_router_annotations_node: []
|
||||||
|
|
||||||
|
# Array of common annotations for every node
|
||||||
|
kube_router_annotations_all: []
|
||||||
|
21
roles/network_plugin/kube-router/tasks/annotate.yml
Normal file
21
roles/network_plugin/kube-router/tasks/annotate.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
- name: kube-router | Add annotations on kube-master
|
||||||
|
command: "{{bin_dir}}/kubectl annotate --overwrite node {{ ansible_hostname }} {{ item }}"
|
||||||
|
with_items:
|
||||||
|
- "{{ kube_router_annotations_master }}"
|
||||||
|
delegate_to: "{{groups['kube-master'][0]}}"
|
||||||
|
when: kube_router_annotations_master is defined
|
||||||
|
|
||||||
|
- name: kube-router | Add annotations on kube-node
|
||||||
|
command: "{{bin_dir}}/kubectl annotate --overwrite node {{ ansible_hostname }} {{ item }}"
|
||||||
|
with_items:
|
||||||
|
- "{{ kube_router_annotations_node }}"
|
||||||
|
delegate_to: "{{groups['kube-master'][0]}}"
|
||||||
|
when: kube_router_annotations_node is defined
|
||||||
|
|
||||||
|
- name: kube-router | Add common annotations on all servers
|
||||||
|
command: "{{bin_dir}}/kubectl annotate --overwrite node {{ ansible_hostname }} {{ item }}"
|
||||||
|
with_items:
|
||||||
|
- "{{ kube_router_annotations_all }}"
|
||||||
|
delegate_to: "{{groups['kube-master'][0]}}"
|
||||||
|
when: kube_router_annotations_all is defined
|
@ -1,4 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
- name: kube-router | Create annotations
|
||||||
|
include: annotate.yml
|
||||||
|
tags: annotate
|
||||||
|
|
||||||
- name: kube-router | Copy cni plugins from hyperkube
|
- name: kube-router | Copy cni plugins from hyperkube
|
||||||
command: "{{ docker_bin_dir }}/docker run --rm -v /opt/cni/bin:/cnibindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /bin/cp -prf /opt/cni/bin/. /cnibindir/"
|
command: "{{ docker_bin_dir }}/docker run --rm -v /opt/cni/bin:/cnibindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /bin/cp -prf /opt/cni/bin/. /cnibindir/"
|
||||||
@ -14,4 +17,4 @@
|
|||||||
- name: kube-router | Create manifest
|
- name: kube-router | Create manifest
|
||||||
template:
|
template:
|
||||||
src: kube-router.yml.j2
|
src: kube-router.yml.j2
|
||||||
dest: "{{ kube_config_dir }}/kube-router.yml"
|
dest: "{{ kube_config_dir }}/kube-router.yml"
|
Reference in New Issue
Block a user