Browse Source
Merge pull request #3130 from riverzhang/add-control-plane
Add kubeadm controlplaneEndpoint
pull/2118/merge
Andreas Krüger
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with
25 additions and
4 deletions
-
inventory/sample/group_vars/all.yml
-
roles/kubernetes/kubeadm/tasks/main.yml
-
roles/kubernetes/master/tasks/kubeadm-setup.yml
-
roles/kubernetes/master/templates/kubeadm-config.v1alpha1.yaml.j2
-
roles/kubernetes/master/templates/kubeadm-config.v1alpha2.yaml.j2
|
|
@ -133,4 +133,4 @@ bin_dir: /usr/local/bin |
|
|
|
#kube_read_only_port: 10255 |
|
|
|
|
|
|
|
# Does coreos need auto upgrade, default is true |
|
|
|
#coreos_auto_upgrade: true |
|
|
|
#coreos_auto_upgrade: true |
|
|
@ -70,7 +70,10 @@ |
|
|
|
regexp: 'server:' |
|
|
|
line: ' server: {{ kube_apiserver_endpoint }}' |
|
|
|
backup: yes |
|
|
|
when: not is_kube_master and kubeadm_discovery_address != kube_apiserver_endpoint |
|
|
|
when: |
|
|
|
- kubeadm_config_api_fqdn is not defined |
|
|
|
- not is_kube_master |
|
|
|
- kubeadm_discovery_address != kube_apiserver_endpoint |
|
|
|
notify: restart kubelet |
|
|
|
|
|
|
|
- name: Update server field in kube-proxy kubeconfig |
|
|
@ -80,10 +83,16 @@ |
|
|
|
| {{ bin_dir }}/kubectl replace -f - |
|
|
|
delegate_to: "{{groups['kube-master']|first}}" |
|
|
|
run_once: true |
|
|
|
when: is_kube_master and kubeadm_discovery_address != kube_apiserver_endpoint |
|
|
|
when: |
|
|
|
- kubeadm_config_api_fqdn is not defined |
|
|
|
- is_kube_master |
|
|
|
- kubeadm_discovery_address != kube_apiserver_endpoint |
|
|
|
|
|
|
|
- name: Restart all kube-proxy pods to ensure that they load the new configmap |
|
|
|
shell: "{{ bin_dir }}/kubectl delete pod -n kube-system -l k8s-app=kube-proxy" |
|
|
|
delegate_to: "{{groups['kube-master']|first}}" |
|
|
|
run_once: true |
|
|
|
when: is_kube_master and kubeadm_discovery_address != kube_apiserver_endpoint |
|
|
|
when: |
|
|
|
- kubeadm_config_api_fqdn is not defined |
|
|
|
- is_kube_master |
|
|
|
- kubeadm_discovery_address != kube_apiserver_endpoint |
|
|
@ -91,6 +91,12 @@ |
|
|
|
kubeadmConfig_api_version: v1alpha2 |
|
|
|
when: kubeadm_output.stdout|version_compare('v1.11.0', '>=') |
|
|
|
|
|
|
|
# Nginx LB(default), If kubeadm_config_api_fqdn is defined, use other LB by kubeadm controlPlaneEndpoint. |
|
|
|
- name: set kubeadm_config_api_fqdn define |
|
|
|
set_fact: |
|
|
|
kubeadm_config_api_fqdn: "{{ apiserver_loadbalancer_domain_name|default('lb-apiserver.kubernetes.local') }}" |
|
|
|
when: loadbalancer_apiserver is defined |
|
|
|
|
|
|
|
- name: kubeadm | Create kubeadm config |
|
|
|
template: |
|
|
|
src: "kubeadm-config.{{ kubeadmConfig_api_version }}.yaml.j2" |
|
|
|
|
|
@ -3,6 +3,9 @@ kind: MasterConfiguration |
|
|
|
api: |
|
|
|
advertiseAddress: {{ ip | default(ansible_default_ipv4.address) }} |
|
|
|
bindPort: {{ kube_apiserver_port }} |
|
|
|
{% if groups['kube-master'] | length > 1 and kubeadm_config_api_fqdn is defined %} |
|
|
|
controlPlaneEndpoint: {{ kubeadm_config_api_fqdn }} |
|
|
|
{% endif %} |
|
|
|
etcd: |
|
|
|
endpoints: |
|
|
|
{% for endpoint in etcd_access_addresses.split(',') %} |
|
|
|
|
|
@ -3,6 +3,9 @@ kind: MasterConfiguration |
|
|
|
api: |
|
|
|
advertiseAddress: {{ ip | default(ansible_default_ipv4.address) }} |
|
|
|
bindPort: {{ kube_apiserver_port }} |
|
|
|
{% if groups['kube-master'] | length > 1 and kubeadm_config_api_fqdn is defined %} |
|
|
|
controlPlaneEndpoint: {{ kubeadm_config_api_fqdn }} |
|
|
|
{% endif %} |
|
|
|
etcd: |
|
|
|
external: |
|
|
|
endpoints: |
|
|
|