calico: default to using kdd datastore (#6693)
If already deployed, get current datastore from CNI config filepull/6736/head
parent
2eae207435
commit
6141b98bf8
|
@ -58,6 +58,20 @@ calicoctl.sh endpoint show --detail
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
### Optional : Define datastore type
|
||||||
|
|
||||||
|
The default datastore, Kubernetes API datastore is recommended for on-premises deployments, and supports only Kubernetes workloads; etcd is the best datastore for hybrid deployments.
|
||||||
|
|
||||||
|
Allowed values are `kdd` (default) and `etcd`.
|
||||||
|
|
||||||
|
Note: using kdd and more than 50 nodes, consider using the `typha` daemon to provide scaling.
|
||||||
|
|
||||||
|
To re-define you need to edit the inventory and add a group variable `calico_datastore`
|
||||||
|
|
||||||
|
```yml
|
||||||
|
calico_datastore: kdd
|
||||||
|
```
|
||||||
|
|
||||||
### Optional : Define network backend
|
### Optional : Define network backend
|
||||||
|
|
||||||
In some cases you may want to define Calico network backend. Allowed values are `bird`, `vxlan` or `none`. Bird is a default value.
|
In some cases you may want to define Calico network backend. Allowed values are `bird`, `vxlan` or `none`. Bird is a default value.
|
||||||
|
|
|
@ -157,7 +157,7 @@ peer_with_calico_rr: "{{ 'calico-rr' in groups and groups['calico-rr']|length >
|
||||||
calico_upgrade_enabled: true
|
calico_upgrade_enabled: true
|
||||||
|
|
||||||
# Choose data store type for calico: "etcd" or "kdd" (kubernetes datastore)
|
# Choose data store type for calico: "etcd" or "kdd" (kubernetes datastore)
|
||||||
calico_datastore: "etcd"
|
calico_datastore: "kdd"
|
||||||
|
|
||||||
# Kubernetes internal network for services, unused block of space.
|
# Kubernetes internal network for services, unused block of space.
|
||||||
kube_service_addresses: 10.233.0.0/18
|
kube_service_addresses: 10.233.0.0/18
|
||||||
|
|
|
@ -81,7 +81,7 @@ kube_etcd_cert_file: node-{{ inventory_hostname }}.pem
|
||||||
kube_etcd_key_file: node-{{ inventory_hostname }}-key.pem
|
kube_etcd_key_file: node-{{ inventory_hostname }}-key.pem
|
||||||
|
|
||||||
# Choose data store type for calico: "etcd" or "kdd" (kubernetes datastore)
|
# Choose data store type for calico: "etcd" or "kdd" (kubernetes datastore)
|
||||||
# The default value calico_datastore: "etcd" is set in role kubespray-default
|
# The default value for calico_datastore is set in role kubespray-default
|
||||||
|
|
||||||
# Use typha (only with kdd)
|
# Use typha (only with kdd)
|
||||||
typha_enabled: false
|
typha_enabled: false
|
||||||
|
|
|
@ -1,4 +1,20 @@
|
||||||
---
|
---
|
||||||
|
- name: Slurp CNI config
|
||||||
|
slurp:
|
||||||
|
src: /etc/cni/net.d/10-calico.conflist
|
||||||
|
register: calico_cni_config_slurp
|
||||||
|
failed_when: false
|
||||||
|
|
||||||
|
- block:
|
||||||
|
- name: Set fact calico_cni_config from slurped CNI config
|
||||||
|
set_fact:
|
||||||
|
calico_cni_config: "{{ calico_cni_config_slurp['content'] | b64decode | from_json }}"
|
||||||
|
- name: Set fact calico_datastore to etcd if needed
|
||||||
|
set_fact:
|
||||||
|
calico_datastore: etcd
|
||||||
|
when: "'etcd_endpoints' in calico_cni_config.plugins.0"
|
||||||
|
when: calico_cni_config_slurp.content is defined
|
||||||
|
|
||||||
- name: Calico | Get kubelet hostname
|
- name: Calico | Get kubelet hostname
|
||||||
shell: >-
|
shell: >-
|
||||||
set -o pipefail && {{ bin_dir }}/kubectl get node -o custom-columns='NAME:.metadata.name,INTERNAL-IP:.status.addresses[?(@.type=="InternalIP")].address'
|
set -o pipefail && {{ bin_dir }}/kubectl get node -o custom-columns='NAME:.metadata.name,INTERNAL-IP:.status.addresses[?(@.type=="InternalIP")].address'
|
||||||
|
@ -8,4 +24,4 @@
|
||||||
register: calico_kubelet_name
|
register: calico_kubelet_name
|
||||||
delegate_to: "{{ groups['kube-master'][0] }}"
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
||||||
when:
|
when:
|
||||||
- "cloud_provider is defined"
|
- "cloud_provider is defined"
|
||||||
|
|
|
@ -4,6 +4,7 @@ cloud_image: opensuse-leap-15
|
||||||
mode: default
|
mode: default
|
||||||
|
|
||||||
# Kubespray settings
|
# Kubespray settings
|
||||||
|
calico_datastore: etcd
|
||||||
kube_network_plugin: canal
|
kube_network_plugin: canal
|
||||||
deploy_netchecker: true
|
deploy_netchecker: true
|
||||||
dns_min_replicas: 1
|
dns_min_replicas: 1
|
||||||
|
|
|
@ -4,6 +4,7 @@ cloud_image: oracle-7
|
||||||
mode: ha
|
mode: ha
|
||||||
|
|
||||||
# Kubespray settings
|
# Kubespray settings
|
||||||
|
calico_datastore: etcd
|
||||||
kube_network_plugin: canal
|
kube_network_plugin: canal
|
||||||
dynamic_kubelet_configuration: true
|
dynamic_kubelet_configuration: true
|
||||||
deploy_netchecker: true
|
deploy_netchecker: true
|
||||||
|
|
|
@ -4,6 +4,7 @@ cloud_image: ubuntu-1604
|
||||||
mode: ha
|
mode: ha
|
||||||
|
|
||||||
# Kubespray settings
|
# Kubespray settings
|
||||||
|
calico_datastore: etcd
|
||||||
kube_network_plugin: canal
|
kube_network_plugin: canal
|
||||||
dynamic_kubelet_configuration: true
|
dynamic_kubelet_configuration: true
|
||||||
deploy_netchecker: true
|
deploy_netchecker: true
|
||||||
|
|
|
@ -4,6 +4,7 @@ cloud_image: ubuntu-1604
|
||||||
mode: separate
|
mode: separate
|
||||||
|
|
||||||
# Kubespray settings
|
# Kubespray settings
|
||||||
|
calico_datastore: etcd
|
||||||
kube_network_plugin: canal
|
kube_network_plugin: canal
|
||||||
deploy_netchecker: true
|
deploy_netchecker: true
|
||||||
dns_min_replicas: 1
|
dns_min_replicas: 1
|
||||||
|
|
Loading…
Reference in New Issue