mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 13:46:59 +01:00
Cleanup some tasks and manage differences between Kubernetes version and apt package version
This commit is contained in:
parent
536eed368a
commit
ed24aa4f8d
10 changed files with 13 additions and 24 deletions
|
|
@ -1 +0,0 @@
|
||||||
../group_vars
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
../host_vars
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
- hosts: all
|
|
||||||
tasks: [ ]
|
|
||||||
- hosts: k8s_kubectl
|
|
||||||
become: yes
|
|
||||||
roles:
|
|
||||||
- role: kubectl
|
|
||||||
tags: role-kubectl
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
../roles
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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'] }}"
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,3 @@
|
||||||
---
|
---
|
||||||
|
#TODO
|
||||||
- debug: msg="Not Implemented"
|
- debug: msg="Not Implemented"
|
||||||
|
|
|
||||||
|
|
@ -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):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue