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
|
||||
#kubernetes_network: weave-net
|
||||
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
|
||||
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"
|
||||
group: root
|
||||
owner: root
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
- name: retreive k3s binary for arm64
|
||||
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"
|
||||
group: root
|
||||
owner: root
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
- name: retreive k3s binary for armv6/armv7
|
||||
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"
|
||||
group: root
|
||||
owner: root
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
when:
|
||||
- kubernetes_kubeproxy_mode == "ipvs"
|
||||
|
||||
- name: Load IPVS kernel module
|
||||
- name: Load IPVS kernel module for EL7
|
||||
modprobe:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
|
|
@ -43,6 +43,23 @@
|
|||
- nf_conntrack_ipv6
|
||||
when:
|
||||
- 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
|
||||
lvol:
|
||||
|
|
@ -182,16 +199,12 @@
|
|||
when:
|
||||
- groups['KubernetesMasterConfigured'] is not defined
|
||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||
- kubeadm_version_major.stdout | int == 1
|
||||
- kubeadm_version_minor.stdout | int >= 15
|
||||
|
||||
- name: Init Kubernetes on {{ groups['KubernetesMasters'][0] }}
|
||||
command: kubeadm init --config=/root/kubeadm-config.yaml
|
||||
when:
|
||||
- groups['KubernetesMasterConfigured'] is not defined
|
||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||
- kubeadm_version_major.stdout | int == 1
|
||||
- kubeadm_version_minor.stdout | int >= 15
|
||||
|
||||
- name: Add {{ ansible_hostname }} to KubernetesMasterConfigured group
|
||||
group_by:
|
||||
|
|
@ -208,6 +221,8 @@
|
|||
register: server_enrolled
|
||||
changed_when: False
|
||||
ignore_errors: yes
|
||||
when:
|
||||
- groups['KubernetesMasterConfigured'] is not defined
|
||||
|
||||
#- name: Deploy kubeadm config
|
||||
# template:
|
||||
|
|
@ -218,8 +233,6 @@
|
|||
# mode: 600
|
||||
# when:
|
||||
# - not groups['KubernetesMasters'][0] == ansible_hostname
|
||||
# - kubeadm_version_major.stdout | int == 1
|
||||
# - kubeadm_version_minor.stdout | int >= 15
|
||||
# - server_enrolled.rc == 1
|
||||
|
||||
- name: Retreive certificats key on {{ lb_kubemaster }}
|
||||
|
|
@ -227,16 +240,16 @@
|
|||
register: kubernetes_certificateKey
|
||||
delegate_to: "{{ lb_kubemaster }}"
|
||||
when:
|
||||
- groups['KubernetesMasterConfigured'] is not defined
|
||||
- server_enrolled.rc == 1
|
||||
- kubernetes_master|bool
|
||||
- kubeadm_version_major.stdout | int == 1
|
||||
- kubeadm_version_minor.stdout | int >= 15
|
||||
|
||||
- name: Retreive token on "{{ lb_kubemaster }}"
|
||||
command: kubeadm token create
|
||||
register: kubetoken
|
||||
delegate_to: "{{ lb_kubemaster }}"
|
||||
when:
|
||||
- groups['KubernetesMasterConfigured'] is not defined
|
||||
- server_enrolled.rc == 1
|
||||
|
||||
- name: Retreive hash certificat
|
||||
|
|
@ -249,6 +262,7 @@
|
|||
register: cacerthash
|
||||
delegate_to: "{{ lb_kubemaster }}"
|
||||
when:
|
||||
- groups['KubernetesMasterConfigured'] is not defined
|
||||
- server_enrolled.rc == 1
|
||||
|
||||
- name: Deploy kubeadm config
|
||||
|
|
@ -259,11 +273,11 @@
|
|||
group: root
|
||||
mode: 0600
|
||||
when:
|
||||
- groups['KubernetesMasterConfigured'] is not defined
|
||||
- server_enrolled.rc == 1
|
||||
|
||||
- name: Join '{{ ansible_hostname }}' to Kubernetes cluster
|
||||
command: kubeadm join --config=/root/kubeadm-config.yaml
|
||||
when:
|
||||
- kubeadm_version_major.stdout | int == 1
|
||||
- kubeadm_version_minor.stdout | int >= 15
|
||||
- groups['KubernetesMasterConfigured'] is not defined
|
||||
- server_enrolled.rc == 1
|
||||
|
|
|
|||
|
|
@ -100,12 +100,15 @@
|
|||
# - kubernetes_master|bigip_pool
|
||||
|
||||
- name: Check if a node is still tainted
|
||||
command: kubectl get nodes '{{ ansible_hostname | lower }}' -o jsonpath='{.spec.taints}'
|
||||
when: kubernetes_master_taint
|
||||
command: kubectl --kubeconfig=/etc/kubernetes/admin.conf get nodes '{{ ansible_hostname | lower }}' -o jsonpath='{.spec.taints}'
|
||||
register: current_taint
|
||||
when:
|
||||
- kubernetes_master_taint|bool
|
||||
|
||||
- name: taint the machine if needed
|
||||
# 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-
|
||||
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_wrr
|
||||
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_ipv6
|
||||
{% endif %}
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
#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]
|
||||
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:
|
||||
- SystemVerification
|
||||
---
|
||||
apiVersion: kubeadm.k8s.io/v1beta1
|
||||
apiVersion: kubeadm.k8s.io/v1beta2
|
||||
kind: ClusterConfiguration
|
||||
kubernetesVersion: stable
|
||||
{% if lbip_kubeapiserver is defined %}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue