Fix bugs, Update for EL8
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

This commit is contained in:
Adrien Reslinger 2021-01-18 22:53:35 +01:00
parent a4b0c9fc81
commit cecb684e05
Signed by: adrien
GPG key ID: DA7B27055C66D6DE
6 changed files with 37 additions and 49 deletions

View file

@ -1,33 +0,0 @@
TASK [kubernetes : Init Kubernetes on Saturne] **********************************************************************************************************************************************************************
fatal: [Saturne]: FAILED! => changed=true
cmd:
- kubeadm
- init
- --config=/root/kubeadm-config.yaml
delta: '0:00:00.608823'
end: '2020-09-14 00:40:32.622035'
msg: non-zero return code
rc: 1
start: '2020-09-14 00:40:32.013212'
stderr: |-
W0914 00:40:32.046191 87590 common.go:77] your configuration file uses a deprecated API spec: "kubeadm.k8s.io/v1beta1". Please use 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.
W0914 00:40:32.048247 87590 strict.go:54] error unmarshaling configuration schema.GroupVersionKind{Group:"kubelet.config.k8s.io", Version:"v1beta1", Kind:"KubeletConfiguration"}: error unmarshaling JSON: while decoding JSON: json: unknown field "containerRuntime"
W0914 00:40:32.486840 87590 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[WARNING Firewalld]: firewalld is active, please ensure ports [6443 10250] are open or your cluster may not function correctly
[WARNING FileExisting-tc]: tc not found in system path
[WARNING Hostname]: hostname "saturne" could not be reached
[WARNING Hostname]: hostname "saturne": lookup saturne on 213.186.33.99:53: no such host
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR DirAvailable--var-lib-etcd]: /var/lib/etcd is not empty
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher
stderr_lines: <omitted>
stdout: |-
[config] WARNING: Ignored YAML document with GroupVersionKind kubeadm.k8s.io/v1beta2, Kind=JoinConfiguration
[init] Using Kubernetes version: v1.19.1
[preflight] Running pre-flight checks
stdout_lines: <omitted>
PLAY RECAP **********************************************************************************************************************************************************************************************************
Saturne : ok=85 changed=7 unreachable=0 failed=1 skipped=48 rescued=0 ignored=0

View file

@ -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

View file

@ -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

View file

@ -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 %}

View file

@ -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 }}"

View file

@ -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 }}"