Cleanup some tasks and manage differences between Kubernetes version and apt package version

This commit is contained in:
Paul-Henri Froidmont 2018-10-01 16:52:40 +02:00
parent 536eed368a
commit ed24aa4f8d
10 changed files with 13 additions and 24 deletions

View file

@ -1 +0,0 @@
../group_vars

View file

@ -1 +0,0 @@
../host_vars

View file

@ -1,8 +0,0 @@
---
- hosts: all
tasks: [ ]
- hosts: k8s_kubectl
become: yes
roles:
- role: kubectl
tags: role-kubectl

View file

@ -1 +0,0 @@
../roles

View file

@ -4,7 +4,8 @@ kubernetes_apt_key: https://packages.cloud.google.com/apt/doc/apt-key.gpg
kubernetes_apt_channel: main kubernetes_apt_channel: main
kubernetes_release: xenial kubernetes_release: xenial
# versions can be found here # versions can be found here
kubernetes_version: v1.11.3 kubernetes_version: 1.11.3
kubernetes_version_apt: "{{kubernetes_version}}-00"
kubernetes_port: 6443 kubernetes_port: 6443
# kubeadm # kubeadm

View file

@ -8,9 +8,6 @@
- "'k8s_masters' in group_names" - "'k8s_masters' in group_names"
- groups.k8s_masters | length > 1 - groups.k8s_masters | length > 1
# at this point everyone should be able to ping the api floating ip if multimaster
# add a test here and don't continue until everyone does not ping the api ip
- name: Install iputils-ping - name: Install iputils-ping
apt: apt:
name: iputils-ping name: iputils-ping
@ -23,8 +20,10 @@
- name: Check all hosts can ping API floating IP - name: Check all hosts can ping API floating IP
shell: "ping {{ api_floating_ip }} -c 1" shell: "ping {{ api_floating_ip }} -c 1"
register: result register: result
until: ('100% packet loss' not in result.stdout)
retries: 15
delay: 10
changed_when: no changed_when: no
failed_when: ('100% packet loss' in result.stdout)
- include: packages.yml - include: packages.yml
@ -37,7 +36,7 @@
# add masters # add masters
- block: - block:
# docker-in-docker sometimes hangs pulling images so explicitly do it here # docker-in-docker sometimes hangs pulling images so explicitly do it here
- include: docker-images.yml #- include: docker-images.yml
- include: kubeadm-master.yml - include: kubeadm-master.yml
when: inventory_hostname == initial_master when: inventory_hostname == initial_master
@ -51,7 +50,7 @@
- name: Wait for coredns to be running - name: Wait for coredns to be running
shell: "kubectl get pods --namespace=kube-system | grep coredns | grep Running | wc -l" shell: "kubectl get pods --namespace=kube-system | grep coredns | grep Running | wc -l"
register: result register: result
until: result.stdout.find("2") != -1 until: ("2" in result.stdout)
retries: 180 retries: 180
delay: 10 delay: 10
changed_when: no changed_when: no
@ -68,7 +67,7 @@
- name: Wait for all nodes to be ready - name: Wait for all nodes to be ready
shell: "kubectl get nodes {{ ansible_hostname }} | tail -n+2 | awk '{ print $2 }'" shell: "kubectl get nodes {{ ansible_hostname }} | tail -n+2 | awk '{ print $2 }'"
register: result register: result
until: result.stdout.find("Ready") == 0 until: ("Ready" in result.stdout)
retries: 36 retries: 36
delay: 10 delay: 10
changed_when: no changed_when: no

View file

@ -12,8 +12,7 @@
- name: Installing kubernetes core components (kubectl, kubelet ...) - name: Installing kubernetes core components (kubectl, kubelet ...)
apt: apt:
name: ['kubelet', 'kubeadm', 'kubectl', 'kubernetes-cni'] name: ['kubelet={{kubernetes_version_apt}}', 'kubeadm={{kubernetes_version_apt}}', 'kubectl={{kubernetes_version_apt}}']
state: latest
register: result register: result
retries: 3 retries: 3
until: result is success until: result is success

View file

@ -10,7 +10,7 @@ etcd:
{% endfor %} {% endfor %}
networking: networking:
podSubnet: "{{ pod_subnet }}" podSubnet: "{{ pod_subnet }}"
kubernetesVersion: "{{ kubernetes_version }}" kubernetesVersion: "v{{ kubernetes_version }}"
apiServerCertSANs: apiServerCertSANs:
{% for host in groups['k8s_masters'] %} {% for host in groups['k8s_masters'] %}
- "{{ hostvars[host]['vpn_ip'] }}" - "{{ hostvars[host]['vpn_ip'] }}"

View file

@ -1,2 +1,3 @@
--- ---
#TODO
- debug: msg="Not Implemented" - debug: msg="Not Implemented"

View file

@ -78,8 +78,8 @@ class SCWInventory(object):
for host, variables in self.response['_meta']['hostvars'].items(): for host, variables in self.response['_meta']['hostvars'].items():
if host != 'proxy1': if host != 'proxy1':
variables['ansible_ssh_common_args'] = '-o ProxyCommand="ssh -W %h:%p -q root@' + \ variables['ansible_ssh_common_args'] = '-o ProxyCommand="ssh -W %h:%p -q root@' + \
self.response['_meta']['hostvars']['proxy1'][ self.response['_meta']['hostvars']['proxy1']['public_ip'] \
'public_ip'] + ' -o StrictHostKeyChecking=no"' + ' -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"'
def _add_to_response(self, group, hostname): def _add_to_response(self, group, hostname):
""" """