Fix kubeadm deployment bugs, update for EL8 #1
8 changed files with 42 additions and 21 deletions
|
|
@ -5,4 +5,4 @@ kubernetes_server: false
|
||||||
# value for kuberntes_network: flannel, calico, weave-net
|
# value for kuberntes_network: flannel, calico, weave-net
|
||||||
#kubernetes_network: weave-net
|
#kubernetes_network: weave-net
|
||||||
kubernetes_kubeproxy_mode: ipvs
|
kubernetes_kubeproxy_mode: ipvs
|
||||||
kubernetes_version: 1.19.4
|
kubernetes_version: 1.20.1
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
- name: retreive k3s binary for x86_64
|
- name: retreive k3s binary for x86_64
|
||||||
get_url:
|
get_url:
|
||||||
url: "https://github.com/rancher/k3s/releases/download/v1.19.5%2Bk3s2/k3s"
|
url: "https://github.com/rancher/k3s/releases/download/v1.20.2%2Bk3s1/k3s"
|
||||||
dest: "/usr/local/bin/k3s"
|
dest: "/usr/local/bin/k3s"
|
||||||
group: root
|
group: root
|
||||||
owner: root
|
owner: root
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
- name: retreive k3s binary for arm64
|
- name: retreive k3s binary for arm64
|
||||||
get_url:
|
get_url:
|
||||||
url: "https://github.com/rancher/k3s/releases/download/v1.19.5%2Bk3s2/k3s-arm64"
|
url: "https://github.com/rancher/k3s/releases/download/v1.20.2%2Bk3s1/k3s-arm64"
|
||||||
dest: "/usr/local/bin/k3s"
|
dest: "/usr/local/bin/k3s"
|
||||||
group: root
|
group: root
|
||||||
owner: root
|
owner: root
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
- name: retreive k3s binary for armv6/armv7
|
- name: retreive k3s binary for armv6/armv7
|
||||||
get_url:
|
get_url:
|
||||||
url: "https://github.com/rancher/k3s/releases/download/v1.19.5%2Bk3s2/k3s-armhf"
|
url: "https://github.com/rancher/k3s/releases/download/v1.20.2%2Bk3s1/k3s-armhf"
|
||||||
dest: "/usr/local/bin/k3s"
|
dest: "/usr/local/bin/k3s"
|
||||||
group: root
|
group: root
|
||||||
owner: root
|
owner: root
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
when:
|
when:
|
||||||
- kubernetes_kubeproxy_mode == "ipvs"
|
- kubernetes_kubeproxy_mode == "ipvs"
|
||||||
|
|
||||||
- name: Load IPVS kernel module
|
- name: Load IPVS kernel module for EL7
|
||||||
modprobe:
|
modprobe:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
state: present
|
state: present
|
||||||
|
|
@ -43,6 +43,23 @@
|
||||||
- nf_conntrack_ipv6
|
- nf_conntrack_ipv6
|
||||||
when:
|
when:
|
||||||
- kubernetes_kubeproxy_mode == "ipvs"
|
- kubernetes_kubeproxy_mode == "ipvs"
|
||||||
|
- ansible_os_family == "RedHat"
|
||||||
|
- ansible_distribution_major_version == '7'
|
||||||
|
|
||||||
|
- name: Load IPVS kernel module for EL8
|
||||||
|
modprobe:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
with_items:
|
||||||
|
- ip_vs
|
||||||
|
- ip_vs_rr
|
||||||
|
- ip_vs_wrr
|
||||||
|
- ip_vs_sh
|
||||||
|
- nf_conntrack
|
||||||
|
when:
|
||||||
|
- kubernetes_kubeproxy_mode == "ipvs"
|
||||||
|
- ansible_os_family == "RedHat"
|
||||||
|
- ansible_distribution_major_version == '8'
|
||||||
|
|
||||||
- name: Create thin volumes for kubernetes
|
- name: Create thin volumes for kubernetes
|
||||||
lvol:
|
lvol:
|
||||||
|
|
@ -182,16 +199,12 @@
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||||
- kubeadm_version_major.stdout | int == 1
|
|
||||||
- kubeadm_version_minor.stdout | int >= 15
|
|
||||||
|
|
||||||
- name: Init Kubernetes on {{ groups['KubernetesMasters'][0] }}
|
- name: Init Kubernetes on {{ groups['KubernetesMasters'][0] }}
|
||||||
command: kubeadm init --config=/root/kubeadm-config.yaml
|
command: kubeadm init --config=/root/kubeadm-config.yaml
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||||
- kubeadm_version_major.stdout | int == 1
|
|
||||||
- kubeadm_version_minor.stdout | int >= 15
|
|
||||||
|
|
||||||
- name: Add {{ ansible_hostname }} to KubernetesMasterConfigured group
|
- name: Add {{ ansible_hostname }} to KubernetesMasterConfigured group
|
||||||
group_by:
|
group_by:
|
||||||
|
|
@ -208,6 +221,8 @@
|
||||||
register: server_enrolled
|
register: server_enrolled
|
||||||
changed_when: False
|
changed_when: False
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
when:
|
||||||
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
|
|
||||||
#- name: Deploy kubeadm config
|
#- name: Deploy kubeadm config
|
||||||
# template:
|
# template:
|
||||||
|
|
@ -218,8 +233,6 @@
|
||||||
# mode: 600
|
# mode: 600
|
||||||
# when:
|
# when:
|
||||||
# - not groups['KubernetesMasters'][0] == ansible_hostname
|
# - not groups['KubernetesMasters'][0] == ansible_hostname
|
||||||
# - kubeadm_version_major.stdout | int == 1
|
|
||||||
# - kubeadm_version_minor.stdout | int >= 15
|
|
||||||
# - server_enrolled.rc == 1
|
# - server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Retreive certificats key on {{ lb_kubemaster }}
|
- name: Retreive certificats key on {{ lb_kubemaster }}
|
||||||
|
|
@ -227,16 +240,16 @@
|
||||||
register: kubernetes_certificateKey
|
register: kubernetes_certificateKey
|
||||||
delegate_to: "{{ lb_kubemaster }}"
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
when:
|
when:
|
||||||
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
- kubernetes_master|bool
|
- kubernetes_master|bool
|
||||||
- kubeadm_version_major.stdout | int == 1
|
|
||||||
- kubeadm_version_minor.stdout | int >= 15
|
|
||||||
|
|
||||||
- name: Retreive token on "{{ lb_kubemaster }}"
|
- name: Retreive token on "{{ lb_kubemaster }}"
|
||||||
command: kubeadm token create
|
command: kubeadm token create
|
||||||
register: kubetoken
|
register: kubetoken
|
||||||
delegate_to: "{{ lb_kubemaster }}"
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
when:
|
when:
|
||||||
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Retreive hash certificat
|
- name: Retreive hash certificat
|
||||||
|
|
@ -249,6 +262,7 @@
|
||||||
register: cacerthash
|
register: cacerthash
|
||||||
delegate_to: "{{ lb_kubemaster }}"
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
when:
|
when:
|
||||||
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Deploy kubeadm config
|
- name: Deploy kubeadm config
|
||||||
|
|
@ -259,11 +273,11 @@
|
||||||
group: root
|
group: root
|
||||||
mode: 0600
|
mode: 0600
|
||||||
when:
|
when:
|
||||||
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Join '{{ ansible_hostname }}' to Kubernetes cluster
|
- name: Join '{{ ansible_hostname }}' to Kubernetes cluster
|
||||||
command: kubeadm join --config=/root/kubeadm-config.yaml
|
command: kubeadm join --config=/root/kubeadm-config.yaml
|
||||||
when:
|
when:
|
||||||
- kubeadm_version_major.stdout | int == 1
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
- kubeadm_version_minor.stdout | int >= 15
|
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
|
||||||
|
|
@ -100,12 +100,15 @@
|
||||||
# - kubernetes_master|bigip_pool
|
# - kubernetes_master|bigip_pool
|
||||||
|
|
||||||
- name: Check if a node is still tainted
|
- name: Check if a node is still tainted
|
||||||
command: kubectl get nodes '{{ ansible_hostname | lower }}' -o jsonpath='{.spec.taints}'
|
command: kubectl --kubeconfig=/etc/kubernetes/admin.conf get nodes '{{ ansible_hostname | lower }}' -o jsonpath='{.spec.taints}'
|
||||||
when: kubernetes_master_taint
|
|
||||||
register: current_taint
|
register: current_taint
|
||||||
|
when:
|
||||||
|
- kubernetes_master_taint|bool
|
||||||
|
|
||||||
- name: taint the machine if needed
|
- name: taint the machine if needed
|
||||||
# command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master-
|
# command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master-
|
||||||
command: kubectl taint nodes '{{ ansible_hostname | lower }}' node-role.kubernetes.io/master-
|
command: kubectl taint nodes '{{ ansible_hostname | lower }}' node-role.kubernetes.io/master-
|
||||||
when: kubernetes_master_taint|bool and current_taint.stdout
|
when:
|
||||||
|
- kubernetes_master_taint|bool
|
||||||
|
- current_taint.stdout
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,5 +2,9 @@ ip_vs
|
||||||
ip_vs_rr
|
ip_vs_rr
|
||||||
ip_vs_wrr
|
ip_vs_wrr
|
||||||
ip_vs_sh
|
ip_vs_sh
|
||||||
|
{% if ansible_os_family == "RedHat" and ansible_distribution_major_version == '8' %}
|
||||||
|
nf_conntrack
|
||||||
|
{% elif ansible_os_family == "RedHat" and ansible_distribution_major_version == '7' %}
|
||||||
nf_conntrack_ipv4
|
nf_conntrack_ipv4
|
||||||
nf_conntrack_ipv6
|
nf_conntrack_ipv6
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
#https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-gates
|
#https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-gates
|
||||||
KUBELET_EXTRA_ARGS="--container-runtime=remote --container-runtime-endpoint={% if kubernetes_cri == "containerd" %}unix:///run/containerd/containerd.sock{% elif kubernetes_cri == "cri-o" %}unix:///var/run/crio/crio.sock{% endif %} --node-ip={{ ansible_eth0.ipv4.address }}"
|
KUBELET_EXTRA_ARGS="--container-runtime=remote --container-runtime-endpoint={% if kubernetes_cri == "containerd" %}unix:///run/containerd/containerd.sock{% elif kubernetes_cri == "cri-o" %}unix:///var/run/crio/crio.sock{% endif %} --node-ip={{ ansible_default_ipv4.address }}"
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
[Service]
|
[Service]
|
||||||
Environment=KUBELET_EXTRA_ARGS="--container-runtime=remote --container-runtime-endpoint={% if kubernetes_cri == "containerd" %}unix:///run/containerd/containerd.sock{% elif kubernetes_cri == "cri-o" %}unix:///var/run/crio/crio.sock{% endif %} --node-ip={{ ansible_eth0.ipv4.address }}"
|
Environment=KUBELET_EXTRA_ARGS="--container-runtime=remote --container-runtime-endpoint={% if kubernetes_cri == "containerd" %}unix:///run/containerd/containerd.sock{% elif kubernetes_cri == "cri-o" %}unix:///var/run/crio/crio.sock{% endif %} --node-ip={{ ansible_default_ipv4.address }}"
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ nodeRegistration:
|
||||||
ignorePreflightErrors:
|
ignorePreflightErrors:
|
||||||
- SystemVerification
|
- SystemVerification
|
||||||
---
|
---
|
||||||
apiVersion: kubeadm.k8s.io/v1beta1
|
apiVersion: kubeadm.k8s.io/v1beta2
|
||||||
kind: ClusterConfiguration
|
kind: ClusterConfiguration
|
||||||
kubernetesVersion: stable
|
kubernetesVersion: stable
|
||||||
{% if lbip_kubeapiserver is defined %}
|
{% if lbip_kubeapiserver is defined %}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue